советуют во время правки заказа сохранять отдельно его сущности (типа оплат, отгрузок и т.п.), а сохранять сразу заказ? А что делать в случае, если нужно получить id добавляемой отгрузки до сохранения заказа?
Пример кода
//тут удаляем в заказе отгрузку битрикса по умолчанию и далее создаем новую
$newShipment = $order->getShipmentCollection()->createItem($deliveryObj);
$newShipment->setField('DELIVERY_DOC_NUM', $externalShipmentId);
$newShipment->setField('COMPANY_ID', $companyId);
$newShipment->save();
// здесь нужно получить $newShipment->getId(), например записать в кастомную таблицу
$order->save();
без этого $newShipment->save() $newShipment->getId() отдает null, что логично
Не просто не советуют, а запрещают. Вербально, а если получится - то и руками. Ваша задача на два обработчика - на before данные меняете, на after получаете свой id.
Понятно, буду пробывать )
Спасибо) не зря память не обманула. Не очень понял, before и after - это события заказа имелись в виду? У меня просто такая задача, что агент должен забирать из crm отгрузки по уже существующим в бусе заказам ( у одного заказа может быть несколько), далее эти отгрузки сохранить у себя в заказ (с удалением штатной) и записать в кастомную таблицу инфу из crm с привязкой к id новых отгрузок. После этого, если все ок, выставлять DEDUCTED отгрузкам. И чет не очень ясно, как на события завязаться можно.
Обсуждают сегодня