Доброго времени суток.
В 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);
}
}
} |