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

События массовой обработки очередного шага импорта

События вызываются после того, как модуль провел очередной шаг массового импорта товаров (модификаций, услуг и комплектов).

[OnAfterImportItems] - вызывается после массового импорта новых сущностей

[OnAfterUpdateItems] - вызывается после массового импорта существующих сущностей (после их обновления)


[OnAfterImportItems] Событие после импорта новых элементов

Срабатывает после создания порции новых элементов. Поиск созданного элемента можно осуществить с помощью внешнего кода, который доступен в массиве обрабатываемых объектов из МС.

к сведению

Событие не требует возврата значения. Используется для выполнения действий после создания элементов (уведомления, дополнительная обработка и т.д.).

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

ПараметрТипОписание
entitystringСущность: product, variant, bundle, service
itemsarrayМассив созданных объектов МС (ключ — внешний код)

Структура items

[
'externalCode1' => $itemMs, // объект МойСклад
'externalCode2' => $itemMs,
// ...
]

// Для модификаций внешний код будет без символа #
// Доступ к полям объекта МС:
$itemMs->name // 'Название товара'
$itemMs->externalCode // 'externalCode1'
$itemMs->archived // false
$itemMs->description // 'Описание'
$itemMs->article // 'ART-001'
$itemMs->meta->type // 'product' | 'variant' | 'bundle' | 'service'
$itemMs->meta->href // 'https://api.moysklad.ru/api/remap/1.2/entity/product/...'

[OnAfterUpdateItems] Событие после импорта существующих элементов

Срабатывает после обновления порции существующих элементов на очередном шаге импорта. Передаёт данные как из Битрикс, так и из МойСклад для каждого обработанного элемента.

к сведению

Событие не требует возврата значения. Считается устаревшим — предпочтительнее использовать события на уровне отдельных элементов (OnBeforeUpdateItem, OnBeforeUpdateItemProduct и т.д.).

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

ПараметрТипОписание
entitystringСущность: product, variant, bundle, service
itemsarrayМассив обработанных элементов (ключ — внешний код)
productsarrayМассив данных товаров торгового каталога (ключ — ID элемента)

Структура items

[
'externalCode1' => [
'BX' => [ // элемент инфоблока Битрикс
'ID' => 1234,
'IBLOCK_ID' => 5,
'NAME' => 'Название товара',
'XML_ID' => 'externalCode1',
'ACTIVE' => 'Y',
// ... другие поля элемента инфоблока
],
'MS' => $itemMs // объект из МойСклад
],
'externalCode2' => [
'BX' => [...],
'MS' => $itemMs
],
// ...
]

Структура products

[
1234 => [ // ID элемента Битрикс
'ID' => 1234,
'TYPE' => 1,
'QUANTITY' => 10.0,
'WEIGHT' => 500.0,
'WIDTH' => 0.0,
'LENGTH' => 0.0,
'HEIGHT' => 0.0,
'MEASURE' => 5,
'VAT_ID' => 1,
'VAT_INCLUDED' => 'Y',
'UF_PRODUCT_GROUP' => 0,
'BARCODE_LIST' => [...], // если загружены штрихкоды
],
// ... другие товары
]