Перейти к основному содержимому

События связанные с корзиной

[OnBeforeAddPosition] Событие перед добавлением позиции в корзину заказа МС

Событие вызывается перед добавлением товара в массив позиций МС для отправки. Можно модифицировать добавляемую позицию в МС. Вызывается каждый раз на создание / изменение заказа из БУС в МС.

Параметры события

ПараметрТипОписание
orderIdintID заказа в БУС
order\Bitrix\Sale\OrderОбъект заказа Битрикс
basketItem\Bitrix\Sale\BasketItemОбъект позиции корзины в БУС
currXmlIdstringВнешний код (XML_ID) добавляемой позиции
positionParamsarrayМассив параметров позиции для отправки в МС
productObjobjectОбъект товара в МойСклад

Возвращаемое значение

Верните EventResult::SUCCESS с модифицированным массивом $positionParams. Массив заменит параметры позиции перед добавлением в заказ МС.

return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $positionParams);

[OnAfterSetBasketPositions] Событие после обработки всех позиций

Событие вызывается после обработки всех позиций (событие выше) и перед отправкой их в МС. Можно использовать для добавления / удаления / изменения позиций корзины перед отправкой в МС.

Параметры события

ПараметрТипОписание
orderIdintID заказа в БУС
order\Bitrix\Sale\OrderОбъект заказа Битрикс
positionsarray|nullМассив всех позиций корзины для отправки в МС

Возвращаемое значение

Верните EventResult::SUCCESS с модифицированным массивом позиций. Массив заменит все позиции перед отправкой в МС.

return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $positions);

[OnBeforeCreateProductMs] Событие перед созданием товара на стороне МС

Событие вызывается перед созданием товара в МС. Необходимо для модификации создаваемых позиций в МС. Товар создаётся, когда он не найден в МС по внешнему коду и в настройках модуля включена опция создания товаров.

Параметры события

ПараметрТипОписание
entityTypestringТип создаваемого объекта (на данный момент только product)
basketItem\Bitrix\Sale\BasketItemОбъект позиции корзины в БУС
currXmlIdstringВнешний код добавляемой позиции
createItemArrayarrayМассив параметров для создания товара в МС

Возвращаемое значение

Верните EventResult::SUCCESS с модифицированным массивом $createItemArray. Массив заменит данные товара перед отправкой в МС.

return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $createItemArray);

[OnCreateMsBasket] Событие вывода корзины МС перед её изменением в БУС

Событие позволяет изменить массив позиций заказа МС перед тем, как этот массив будет записан в корзину БУС. Используется при импорте заказа из МС в Битрикс.

Параметры события

ПараметрТипОписание
orderPositionsobjectОбъект позиций заказа из МС (с пагинацией)
arMsBasketarrayПодготовленный массив корзины для записи в БУС
msOrderobjectОбъект заказа МойСклад

Возвращаемое значение

Верните EventResult::SUCCESS с модифицированным массивом $arMsBasket. Массив заменит данные корзины для записи в БУС.

return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $arMsBasket);

[OnBeforeFindBasketItemFromPosition] Событие перед поиском позиции корзины по позиции отгрузки МС

Событие вызывается при обработке отгрузок (demand) из МС. Позволяет вручную сопоставить позицию отгрузки МС с позицией корзины БУС, если стандартный алгоритм поиска по externalCode не подходит.

Параметры события

ПараметрТипОписание
order\Bitrix\Sale\OrderОбъект заказа БУС
orderMsobjectОбъект заказа МойСклад
basketItems\Bitrix\Sale\BasketItemCollectionКоллекция позиций корзины заказа
positionobjectОбъект позиции отгрузки из МС

Возвращаемое значение

Верните EventResult::SUCCESS с массивом ['basket_item' => $basketItem], где $basketItem — объект \Bitrix\Sale\BasketItem. Если возвращена валидная позиция корзины, стандартный поиск будет пропущен.

return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, ['basket_item' => $basketItem]);