Модуль позволяет запустить выгрузку через API. Это может быть удобно в ряде случаев:
- старт выгрузки после завершения какого-либо импорта или обмена товарами, например после синхронизации с 1С,
- запуск выгрузки по каким-то другим, произвольным событиям, например, можно сделать гаджет с кнопкой запуска всех выгрузок,
- запуск выгрузок из агентов,
- и другие случаи.
Важно помнить эта функция поддерживается только в старшей редакции модуля экспорта («Экспорт на порталы + API»).
Простейший вариант запуска выгрузки одного профиля:
if(\Bitrix\Main\Loader::includeModule('acrit.exportproplus')){
$intProcessPid = \Acrit\Core\Export\Exporter::run('acrit.exportproplus', 12);
}
$intProcessPid = \Acrit\Core\Export\Exporter::run('acrit.exportproplus', 12);
}
Здесь первая строка кода подключает модуль, вторая строка запускает в модуле acrit.exportproplus профиль с идентификатором 12. После запуска $intProcessPid будет содержать идентификатор процесса на сервере.
Запуск выгрузки нескольких профилей:
if(\Bitrix\Main\Loader::includeModule('acrit.exportproplus')){
$intProcessPid = \Acrit\Core\Export\Exporter::run('acrit.exportproplus', [12,13,14,15,16]);
}
$intProcessPid = \Acrit\Core\Export\Exporter::run('acrit.exportproplus', [12,13,14,15,16]);
}
Выгрузка нескольких профилей в таком случае идет последовательно, в порядке указания профилей, выполняется одним процессом.
Выгрузка автоматически после окончания загрузки товаров из 1С:
addEventHandler('catalog', 'OnSuccessCatalogImport1C', 'AcritAutostartExport');
function AcritAutostartExport(){
$arProfilesId = [1, 2, 3];
if(\Bitrix\Main\Loader::includeModule('acrit.exportproplus')){
\Acrit\Core\Export\Exporter::run('acrit.exportproplus', $arProfilesId);
}
}
function AcritAutostartExport(){
$arProfilesId = [1, 2, 3];
if(\Bitrix\Main\Loader::includeModule('acrit.exportproplus')){
\Acrit\Core\Export\Exporter::run('acrit.exportproplus', $arProfilesId);
}
}
Внимание! На текущий момент одновременные запуски Exporter::run() приводят к конфликтам, поэтому Вам необходимо самостоятельно следить, чтобы выгрузки при этом не пересекались.
Возврат к списку