+7 495 008 8452 пн.-пт. 10:00 – 17:00

Не нашли ответы на свои вопросы в наших публикациях? Задайте вопрос в службу техподдержки!


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

1/ 
Подготовка источника импорта. Возникла ошибка при загрузке источника импорта (обычно для источников, заданных URL)
Например, можно обнулить остатки, если внешний файл импорта оказался недоступным.

OnPrepareSourceError(\Acrit\Import\Import $profile, \Throwable $error)

2/ 
Источник импорта подготовлен. Вызывается перед запуском профиля импорта.

OnBeforeImportProfileRun(\Acrit\Import\Import $profile)

3/
Вызывается перед запуском каждого шага многошагового импорта

OnBeforeImportProfileRunStep(\Acrit\Import\Import $profile, $type, $limit, $next_item)

4/
OnStartProcessRowInSaveIBData(\Acrit\Import\Import $profile, array &$arInputRow)

вызывается после чтения элемента из файла и до обработки модулем

5/
OnBeforeFindExistsItemInSaveIBData(\Acrit\Import\Import $profile, array &$arInputRow, array &$arFilter)

Вызывается перед попыткой найти существующий элемент в базе данных. Можно модифицировать массив фильтра поиска существующего элемента $arFilter, например, помимо артикула добавить еще поиск по свойству-поставщику.

6/
OnFindItem(\Acrit\Import\Import $arProfile, array $arFilter)

Cобытие, позволяющее написать свой обработчик поиска элемента по фильтру (чтобы использовать стандартный - нужно вернуть false; если вернуть 0 - значит поиск завершился неудачей).
Использование, например, искать в индексе, а не в инфоблоке, для производительности.

7/
OnBeforeProcessRowInSaveIBData(\Acrit\Import\Import $profile, array &$arInputRow, array $arIBItem)
вызывается после чтения одного товара (элемента) из файла импорта и попытке найти соответствующий этой записи элемент в  инфоблоке ($arIBItem).

8/
OnAfterSaveIBData(\Acrit\Import\Import $arProfile, array $arInputRow, array $arIBItem, false|array $arImpRes) вызывается после обновления элемента $arIBItem c результатом $arImpRes:

array{'errors':[], 'message':[]}, ключ 'errors' - если есть ошибки, либо ключ 'message' при успешном обновлении, либо false - тоже успешно.

9/
Полное завершение импорта файла:
OnAfterAcritImportProcess(int $profileId, \Acrit\Import\Import $profile)

10/
Завершение создания фасетного индекса после импорта:
OnAfterAcritImportIndexing(int $profileId, \Acrit\Import\Import $profile)

Другие события:

Для регистрации своих типов иморта (или модификации имеющихся):

OnGetImportTypes(array $arTypes) - полное описание типов
OnGetImportSTypes(array $arTypes) - упрощенное описание типов (массив имен)

Назад в раздел



Часто задаваемые вопросы по модулям экспорта

Видео плейлист по настройке модулей экспорта