Всем привет!
Чето я запутался ужас.
Подскажите у кого получилось
Создал обработчик по аналогии что в топике, задача стоит, запускать калькуляцию автоматически при смене флага Разрешить доставку, также как реализовано стандартно только без ручного вмешательства.
Но что то я не так делаю и никак понять не могу, подскажите?
"if($val == "N" || $val == "DN") { // !!! тут казать ваши коды статусов заказ при оплате или отгрузки" - здесь я должен указать при каких статусах заказа запускать калькуляцию? А если это флаг "Доставка разрешена"?
"if ($val == "F") {" - а здесь получается при статусе F проводить калькуляци?
Мне кажется я бред пишу, обьясните как есть на самом деле?
Чето я запутался ужас.
Подскажите у кого получилось
Создал обработчик по аналогии что в топике, задача стоит, запускать калькуляцию автоматически при смене флага Разрешить доставку, также как реализовано стандартно только без ручного вмешательства.
Но что то я не так делаю и никак понять не могу, подскажите?
Код |
---|
AddEventHandler("sale", "OnSaleStatusOrder"); // смена статуса, автоматическая калькуляция аффилиатов function StatusUpdate($ID, $val) // смена статуса { $user = 1; // код менеджера магазина или админа if($val == "N" || $val == "DN") { // !!! тут казать ваши коды статусов заказ при оплате или отгрузки CSaleOrder::Update($ID, array("ALLOW_DELIVERY" => "Y", "DATE_ALLOW_DELIVERY" => Date(CDatabase::DateFormatToPHP(CLang::GetDateFormat("FULL", LANG))), "EMP_ALLOW_DELIVERY_ID" => $user)); } // автоматическая калькуляция аффилиатов if ($val == "F") { // без кода из трех строк ниже не работает калькуляция! require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); CModule::IncludeModule("sale" ) ; $arOrder = CSaleOrder::GetByID($ID); //-! фикс калькуляции CSaleAffiliate::CalculateAffiliate($arOrder["AFFILIATE_ID"], false, false, false, false); } } |
"if ($val == "F") {" - а здесь получается при статусе F проводить калькуляци?
Мне кажется я бред пишу, обьясните как есть на самом деле?