Skip to main content

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

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)
{
  // код обработчика
}