Документация для разработчиков
Недоступно в редакциях: Стандарт, Старт

Экспорт. Детальное описание

Выгрузка (экспорт) данных из каталога позволяет организовать обмен данными между сайтом и другими сайтами или программами (например, с MS Excel). С помощью формы Настройка экспорта Вы можете экспортировать данные как на основании предустановленных, так и на основании Ваших собственных шаблонов экспорта. Кроме того, с помощью этой формы Вы можете задавать предустановленные профили экспорта, выносить часто используемые шаблоны и профили экспорта в меню, настраивать автоматическое выполнение экспорта с помощью агентов и cron.

Шаблоны экспорта могут иметь дополнительные настройки. Если настройки есть, то при попытке выполнить экспорт сперва будет вызван мастер экспорта, после чего произойдет уже сам экспорт. Если дополнительных настроек нет, то экспорт будет выполнен сразу. Подробную информацию по шаблонам смотрите в разделе для разработчиков.

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

Любой профиль экспорта можно добавить в левое меню административной части с помощью команды Добавить в меню, доступной в меню действий. В результате при клике в меню по пользовательскому профилю он будет открыт на редактирование, а при клике по профилю "по умолчанию" будет открыт соответствующий мастер экспорта.

Примечание. Пути для экспорта различаются для систем с установленным модулем Интернет-магазин (sale) и без него. В первом случае это будет: Магазин > Настройки > Экспорт данных, во втором: Магазин > Торговый каталог > Экспорт данных.

Агенты

Агенты - это PHP функции, которые запускаются с определённой периодичностью. В самом начале загрузки каждой страницы система автоматически проверяет, есть ли агент, который нуждается в запуске, и в случае необходимости исполняет его. Не рекомендуется вешать агенты, длительные по времени / большие по объему выгрузки. Для этих случаев лучше использовать cron.

При установке на автоматическое выполнение с помощью агентов система выводит запрос на период выполнения экспорта. С таким периодом (в часах) экспорт будет выполняться автоматически, начиная с текущего момента.

Утилита cron

Утилита cron работает в фоновом режиме и выполняет указанные задачи в указанное время. Выполнение задач с помощью cron не связано с активностью посетителей на сайте. Выполнение задач с помощью cron может быть назначено не только с определённой периодичностью, но и в строго заданное время.

Утилита cron доступна только на хостингах, работающих под операционными системами семейства UNIX.

При установке на автоматическое выполнение с помощью cron система выводит запрос на период / время выполнения экспорта и путь к интерпретатору php. Если будет указан период выполнения (в часах), то экспорт будет выполняться с таким периодом автоматически, начиная с текущего момента. Если будет указано время выполнения (часы и минуты), то экспорт будет выполняться автоматически каждый день в указанное время.

Путь к интерпретатору php может быть выяснен у хостинг-провайдера или указан в документации по хостингу.

Команда Повесить на cron добавляет соответствующую запись в конфигурационный файл /bitrix/crontab/crontab.cfg, который содержит текущий список задач для cron. После изменения набора задач, установленных на cron, необходимо заново установить конфигурационный файл. Если в форме установки на автоматическое выполнение отмечен флаг Установить автоматически, то форма пытается самостоятельно установить конфигурационный файл в cron. Автоматическая установка конфигурационного файла может не пройти (например, нет достаточных прав). В этом случае необходимо соединиться с Вашим сайтом по SSH (SSH2) или какому-либо другому аналогичному протоколу, поддерживаемому Вашим провайдером для удаленного доступа к shell, и провести установку конфигурационного файла вручную командой

crontab <полный_путь_к_конфигурационный_файл_ crontab.cfg>

Для просмотра списка установленных на cron задач нужно выполнить команду

crontab -l

Текущий список установленных на cron задач выводится так же внизу формы Настройка экспорта, если есть права на его получение.

Для удаления списка установленных на cron задач нужно выполнить команду

crontab -r

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

Оболочкой для выполнения задач на cron является файл /bitrix/php_interface/include/catalog_export/cron_frame.php. Убедитесь, что в нем прописаны правильные пути к php и корню сайта.

Смотрите также:



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
NewDay
Сообщение непромодерировано, возможны ошибки и неточности.
Можно поставить в CRON экспорт данных, для которых создан агент. Создать файл yml.create.php:
Код
<?php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");

CModule::IncludeModule("catalog");
$ar_profile = CCatalogExport::GetList(array("ID"=>"ASC"), array("IN_AGENT"=>"Y"));
while($profile = $ar_profile->Fetch()){
    $query = (urldecode($profile['SETUP_VARS']));
    CCatalogExport::PreGenerateExport($profile["ID"]);//запуск экспорта YML-фидов
}
и в cron добавить задачу
Код
1 0 * * * wget -O - -q -t 1 http://site.ru/folder/yml.create.php
0
Senior Developer
1) Закомментировать команду в файле можно знаком решетки # в самом начале
2) Отправлять все логи можно на указанную почту командой MAILTO= после всех команд в самом конце
3) Отключить отправку вывода выполнения задачи на почту можно добавив в самом конце после каждой команды  >/dev/null 2>&1
4) Чтобы не было ошибок после установки конф.файла, еще обязательно "необходимо наличие пустой строки после всех команд" в этом файле
Код
#*/02 * * * * /opt/php/5.6-bx-optimized/bin/php -c /var/www/u099999/data/php-bin/php.ini -f /var/www/u099999/data/www/site.ru/bitrix/php_interface/cron_events.php >/dev/null 2>&1
MAILTO="sp@site.ru"
(тут пустая строка еще должна быть)
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх