Архив за месяц: Апрель 2017

Закат солнца вручную — запускаем событие в битриксе.

Все вполне очевидно. Хотя, пришлось слегка покопаться в исходниках.
Здесь используем событие OnSuccessCatalogImport1C модуля catalog. В данном случае, нужно было почистить мусор после импорта порции кривых данных из 1С.
Событие вызывается после импорта каждого файла *.xml, полученного от 1С. Имя файла передается во второй параметр обработчика события. Событие удобно использовать, например, для поиска пустых цен у торговых предложений. OnPriceUpdate — в данном случае использовать не получилось, т.к. цена не нулевая, а отсутствующая, и в файле не передается, и, соответственно, событий не генерирует (это по логике — не проверял).
Для проверки функциональности обработчика в работе использовал следующий код.

//Создаем описание события
$evt = new \Bitrix\Main\Event('catalog', 'OnSuccessCatalogImport1C');
//Получаем экземпляр менеджера событий
$man = \Bitrix\Main\EventManager::getInstance();
//Отправляем...
$man->send($evt);