А вообще иметь сайт почти 512 гиг и не иметь бэкап - это плохо.
$discountOrder = Sale\Order::load($orderId);
Sale\DiscountCouponsManager::add($coupon);
$discounts = $discountOrder->getDiscount();
$discounts->setOrderRefresh(true);
$discounts->calculate();
//$discountOrder->refreshData();
$basketOrder = $discountOrder->getBasket();
$basketOrder->refreshData(["PRICE", "COUPONS"]);
$discountOrder->doFinalAction(true);
$discountOrder->save();
Одно дело, как подобные вещи реализуются на простой php-страничке, и другое - в рамках структуры модуля Bitrix
То есть, вы утверждаете, что если приведенный выше код разместить в любом php-файле модуля, то на странице настроек модуля появится кнопка... Правильно?
Нужно добавить на страницу настроек модуля кнопку для загрузки файла. Кнопка должна открывать окно выбора файла на компьютереименно это и делает данная кнопка
//получаем базовую информацию
$entityList2 = \Bitrix\Sale\Internals\DiscountEntitiesTable::getByDiscount([$idProto], array());
//собираем весь массив рекурсивно
$entityListItogo = \entitirequrs($entityList2);
//вместо такого
Array
(
[main] => Array
(
[USER] => Array
(
[USER_ID] => Array
(
[MODULE_ID] => main
[ENTITY] => USER
[FIELD_ENTITY] => USER_ID
[FIELD_TABLE] => USER_ID
)
)
)
[catalog] => Array
(
[ELEMENT_PROPERTY] => Array
(
[PROPERTY_203_VALUE] => Array
(
[MODULE_ID] => catalog
[ENTITY] => ELEMENT_PROPERTY
[FIELD_ENTITY] => PROPERTY_203_VALUE
[FIELD_TABLE] => 26:203
)
[PROPERTY_198_VALUE] => Array
(
[MODULE_ID] => catalog
[ENTITY] => ELEMENT_PROPERTY
[FIELD_ENTITY] => PROPERTY_198_VALUE
[FIELD_TABLE] => 26:198
)
[PROPERTY_440_VALUE] => Array
(
[MODULE_ID] => catalog
[ENTITY] => ELEMENT_PROPERTY
[FIELD_ENTITY] => PROPERTY_440_VALUE
[FIELD_TABLE] => 26:440
)
)
)
)
получаю такой
Array
(
[0] => Array
(
[MODULE_ID] => main
[ENTITY] => USER
[FIELD_ENTITY] => USER_ID
[FIELD_TABLE] => USER_ID
)
[1] => Array
(
[MODULE_ID] => catalog
[ENTITY] => ELEMENT_PROPERTY
[FIELD_ENTITY] => PROPERTY_203_VALUE
[FIELD_TABLE] => 26:203
)
[2] => Array
(
[MODULE_ID] => catalog
[ENTITY] => ELEMENT_PROPERTY
[FIELD_ENTITY] => PROPERTY_198_VALUE
[FIELD_TABLE] => 26:198
)
[3] => Array
(
[MODULE_ID] => catalog
[ENTITY] => ELEMENT_PROPERTY
[FIELD_ENTITY] => PROPERTY_440_VALUE
[FIELD_TABLE] => 26:440
)
)
\Bitrix\Sale\Internals\DiscountEntitiesTable::updateByDiscount($DISCOUNT_ID, $entityListItogo, false);
Что-то я пропустил? можете проверить в истории в обновлениях когда вдруг началась поддержка? Я такого не нашел. Может у вас модуль дополнительно стоит, поэтому и работает?