Skip to main content

События связанные с товарами и модификациями

1. OnBeforeAprixCreateElementinSite

Это событие вызывается перед созданием товара или торгового предложения на сайте при синхронизации данных из МойСклад в сторону сайта. Для торговых предложений событие срабатывает только при обработке вебхука, во время создания или обновления родительского товара, и не вызывается в цикле синхронизации модификаций.

Пример обработчика события (init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'design2u.syncms', 
    'OnBeforeAprixCreateElementinSite', 
    'OnBeforeAprixCreateElementinSiteHandler'
);

/**
 * @param string $action действие на которое срабатывает событие. Может быть CREATE или UPDATE
 * @param array $arFields массив полей товара или торгового предложения, по которым они создаются на сайте (передаётся по ссылке и может быть модифицирован).
 * @return void
 */
function OnBeforeAprixCreateElementinSiteHandler(string $action, array &$arFields)
{
  // код обработчика
}
2. OnAprixBeforeUpdateProduct

Событие, которое вызывается перед добавлением товара на сайт:

Пример обработчика события (init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'design2u.syncms', 
    'OnAprixBeforeUpdateProduct', 
    'OnAprixBeforeUpdateProductHandler'
);

/**
 * @param int $idProduct идентификатор товара на сайте
 * @param array &$arProduct массив, который содержит поля товара на сайте и поля соответствующего товара в МойСклад. Передается по ссылке и может быть модифицирован
 * @return void
 */
function OnAprixBeforeUpdateProductHandler(int $idProduct, array &$arProduct)
{
  // код обработчика
}
3. OnAprixAfterUpdateProduct

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

Пример обработчика события (init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'design2u.syncms', 
    'OnAprixAfterUpdateProduct', 
    'OnAprixAfterUpdateProductHandler'
);

/**
 * @param int $idProduct идентификатор товара на сайте
 * @param array $arProduct массив, который содержит поля товара на сайте и поля этого же товара в МойСклад.
 * @return void
 */
function OnAprixAfterUpdateProductHandler(int $idProduct, array $arProduct)
{
  // код обработчика
}
4. OnAprixBeforeAddProduct

Событие, которое вызывается передсозданием товара на сайте.

Пример обработчика события (init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'design2u.syncms', 
    'OnAprixBeforeAddProduct', 
    'OnAprixBeforeAddProductHandler'
);

/**
 * @param array &$arProduct массив, который содержит поля товара на сайте и поля этого же товара в МойСклад. Передается по ссылке, поэтому может быть модифицирован.
 * @return void
 */
function OnAprixBeforeAddProductHandler(array &$arProduct)
{
  // код обработчика
}
5. OnAprixAfterAddProduct

Событие вызывается после добавления товара на сайт.

Пример обработчика события (init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'design2u.syncms', 
    'OnAprixAfterAddProduct', 
    'OnAprixAfterAddProductHandler'
);

/**
 * @param int $idProduct идентификатор нового товара, который был добавлен на сайт
 * @param array $arProduct массив, который содержит поля товара на сайте и поля соответствующего товара в МойСклад.
 * @return void
 */
function OnAprixAfterAddProductHandler(int $idProduct, array $arProduct)
{
  // код обработчика
}
6. OnAprixAfterAddOffer

Событие, которое вызывается после добавления торгового предложения на сайт.

Пример обработчика события (init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'design2u.syncms', 
    'OnAprixAfterAddOffer', 
    'OnAprixAfterAddOfferHandler'
);

/**
 * @param int $idSKU идентификатор торгового предложения на сайте
 * @param array $arSKU массив, который содержит поля торгового предложения на сайте и поля соответствующей модификации в МойСклад.
 * @return void
 */
function OnAprixAfterAddOfferHandler(int $idSKU, array $arSKU)
{
  // код обработчика
}
7. OnAprixAfterUpdateOffer

Событие, которое вызывается после обновления торгового предложения на сайте.

Пример обработчика события (init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'design2u.syncms', 
    'OnAprixAfterUpdateOffer', 
    'OnAprixAfterUpdateOfferHandler'
);

/**
 * @param int $idSKU идентификатор торгового предложения на сайте
 * @param array $arSKU массив, который содержит поля торгового предложения на сайте и поля соответствующей модификации в МойСклад.
 * @return void
 */
function OnAprixAfterUpdateOfferHandler(int $idSKU, array $arSKU)
{
  // код обработчика
}
8. OnAprixAfterCreateOffer

Событие, которое вызывается после создания торгового предложения на сайте.

Пример обработчика события (init.php):

\Bitrix\Main\EventManager::getInstance()->addEventHandler( 
    'design2u.syncms', 
    'OnAprixAfterCreateOffer', 
    'OnAprixAfterCreateOfferHandler'
);

/**
 * @param int $idSKU идентификатор торгового предложения на сайте
 * @param array $arSKU массив, который содержит поля торгового предложения на сайте и поля соответствующей модификации в МойСклад.
 * @return void
 */
function OnAprixAfterCreateOfferHandler(int $idSKU, array $arSKU)
{
  // код обработчика
}