События связанные с заказами
1. OnBeforeAprixSendOrderToMS
Это событие вызывается перед отправкой запроса в МойСклад на создание заказа. В обработчике события можно модифицировать тело запроса перед отправкой его в МойСклад.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnBeforeAprixSendOrderToMS',
'OnBeforeAprixSendOrderToMSHandler'
);
/**
* @param string $action действие на которое срабатывает событие. На данный момент только "CREATE"
* @param array &$arOrderJSON массив тела запроса (передается по ссылке и может быть модифицирован)
* @return void
*/
function OnBeforeAprixSendOrderToMSHandler(string $action, array &$arOrderJSON)
{
// код обработчика
}
2. OnAprixAddBasketItems
Это событие вызывается перед добавлением товаров в корзину при выгрузке заказа из МойСклад на сайт. Оно предназначено для предотвращения добавления в корзину той или иной позиции.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnAprixAddBasketItems',
'OnAprixAddBasketItemsHandler'
);
/**
* @param int $idOrder идентификатор заказа на сайте
* @param array &$excludedProductIds пустой массив, который передаётся по ссылке. Добавленные в него идентификаторы товаров будут исключены из позиций заказа на сайте.
* @return void
*/
function OnAprixAddBasketItemsHandler(int $idOrder, array &$excludedProductIds )
{
// код обработчика
}
3. OnBeforeAprixSendUserToMS
Событие которое вызывается перед созданием или обновлением контрагента в МойСклад.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnBeforeAprixSendUserToMS',
'OnBeforeAprixSendUserToMSHandler'
);
/**
* @param string $action действие на которое срабатывает событие "CREATE" или "UPDATE"
* @param array &$arCounterpartyFields массив для создания или обновления контрагента в МойСклад. Передаётся по ссылке, поэтому может быть модифицирован в теле обработчика.
* @param int $idUser Идентификатор пользователя на сайте
* @return void
*/
function OnBeforeAprixSendUserToMSHandler(string $action, array &$arCounterpartyFields, int $idUser)
{
// код обработчика
}
4. OnAfterAprixSendUserToMS
Событие, которое вызывается после создания контрагента в МойСклад.
Пример обработчика события (init.php):
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'design2u.syncms',
'OnAfterAprixSendUserToMS',
'OnAfterAprixSendUserToMSHandler'
);
/**
* @param array $arUserData массив данных пользователя на сайте
* @param string $idCounterparty идентификатор контрагента в МойСклад
* @return void
*/
function OnAfterAprixSendUserToMSHandler(array &$arUserData, string $idCounterparty)
{
// код обработчика
}