Доброго времени суток.
В 1с отгрузка может быть раньше, чем оплаты. Поэтому при обмене с 1с нужно ставить статус "Отгружен, ожидается оплата", и "Выполнен", если есть и оплата и отгрузка.
Думаю через событие смотреть на флаги "оплачен" и "отгружен" и ставить соответствующий статус.
Пишу в init.php такой вот костыль, который меняет статус, Почему строчка $arFields['STATUS_ID'] = "F" не срабатывает?
В 1с отгрузка может быть раньше, чем оплаты. Поэтому при обмене с 1с нужно ставить статус "Отгружен, ожидается оплата", и "Выполнен", если есть и оплата и отгрузка.
Думаю через событие смотреть на флаги "оплачен" и "отгружен" и ставить соответствующий статус.
Пишу в init.php такой вот костыль, который меняет статус, Почему строчка $arFields['STATUS_ID'] = "F" не срабатывает?
Код |
---|
AddEventHandler("sale", "OnSaleOrderBeforeSaved", ["CMyEventHandler", "OnSaleOrderBeforeSaved"]); $MY_COUNT = 0; class CMyEventHandler{ public function OnBeforeOrderUpdate($id, &$arFields) { global $MY_COUNT; $MY_COUNT++; if ($MY_COUNT <= 1) { //$arFields['STATUS_ID'] = "F"; $ar['STATUS_ID'] = "F"; CSaleOrder::Update($id, $ar); } } } |