+7 495 008 8452 пн.-пт. 10:00 – 17:00
Загрузка...

Модуль позволяет запустить выгрузку через API. Это может быть удобно в ряде случаев:

  1. старт выгрузки после завершения какого-либо импорта или обмена товарами, например после синхронизации с 1С,
  2. запуск выгрузки по каким-то другим, произвольным событиям, например, можно сделать гаджет с кнопкой запуска всех выгрузок,
  3. запуск выгрузок из агентов,
  4. и другие случаи.
Для возможности запуска через API (как, собственно и для возможности запуска выгрузки в фоне) на сервере должна быть доступна функция proc_open.

Важно помнить эта функция поддерживается только в старшей редакции модуля экспорта («Экспорт на порталы + API»).

Простейший вариант запуска выгрузки одного профиля:

if(\Bitrix\Main\Loader::includeModule('acrit.exportproplus')){
    $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]);
}

Выгрузка нескольких профилей в таком случае идет последовательно, в порядке указания профилей, выполняется одним процессом.

Выгрузка автоматически после окончания загрузки товаров из 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);
    }
}

Внимание! На текущий момент одновременные запуски Exporter::run() приводят к конфликтам, поэтому Вам необходимо самостоятельно следить, чтобы выгрузки при этом не пересекались.


Возврат к списку