Профиль импорта в 1С-Битрикс — это сохранённый набор настроек CSV-импорта: путь к файлу, кодировка, разделитель и, главное, карта сопоставления колонок с полями инфоблока. Один раз настроенный профиль можно запускать вручную одной кнопкой или повесить на расписание, чтобы каталог обновлялся сам.
Что такое профиль импорта и зачем он нужен
Разовый импорт CSV в Битрикс требует каждый раз заново указывать файл, кодировку, разделитель полей и вручную сопоставлять десятки колонок с полями и свойствами инфоблока. Для одного прогона это терпимо, но при регулярном обновлении цен, остатков или новых позиций такая ручная работа превращается в источник ошибок.
Профиль импорта решает эту проблему: он хранит всю конфигурацию как единую сущность. Вы настраиваете сопоставление один раз, сохраняете профиль и дальше либо запускаете его в один клик, либо передаёте на автоматический запуск по расписанию.
- Повторяемость — карта полей фиксируется и не «съезжает» между запусками.
- Скорость — оператору не нужно проходить весь мастер заново.
- Автоматизация — только сохранённый профиль можно поставить на агент или cron.
Где создаётся и сохраняется профиль
Мастер CSV-импорта каталога открывается в административной части: Магазин → Настройки → Импорт данных → CSV (страница /bitrix/admin/cat_import_setup.php). Для контентных инфоблоков без торгового каталога аналогичный импорт доступен через Контент → Инфоблоки → Импорт → CSV.
Мастер проводит через несколько шагов: выбор файла, параметры разбора (кодировка, разделитель, ограничитель значений), сопоставление колонок и правила обработки. На финальном шаге появляется поле «Сохранить настройки в профиль» — вводите имя, и вся конфигурация сохраняется в базе. После этого профиль доступен в выпадающем списке при следующем открытии мастера.
/upload/1c_catalog/price.csv), а не как загруженный однажды документ. Чтобы автоимпорт работал, внешняя система должна перезаписывать файл по этому же пути.Ключевые параметры, которые фиксирует профиль
От корректности этих настроек зависит, чтобы автоматический прогон не испортил каталог. Основные параметры профиля:
| Параметр | Назначение |
|---|---|
| Кодировка | Как правило Windows-1251 для выгрузок из 1С или UTF-8; при ошибке — «кракозябры» в названиях. |
| Разделитель | Символ между полями: ;, запятая или табуляция. |
| Ограничитель | Кавычка вокруг значений с переносами и разделителями внутри. |
| Сопоставление полей | Карта «колонка CSV → поле/свойство инфоблока»; ключ привязки — артикул или внешний код. |
| Отсутствующие товары | Что делать с позициями, которых нет в файле: деактивировать или удалять. |
Запуск профиля по расписанию через агент
Штатный способ автоматизации в Битрикс — агенты. На последнем шаге мастера включается опция вида «Установить импорт на выполнение по расписанию (агент)» с указанием периодичности. Битрикс создаёт агента, который вызывает импорт по сохранённому профилю без участия оператора.
Проверить и отредактировать созданного агента можно в Настройки → Настройки продукта → Агенты. Там видны имя функции, следующее время запуска и интервал в секундах. Агент можно временно отключить, не удаляя сам профиль.
- Период задаётся в секундах — для ночного обновления это, например, 86400 (сутки).
- Импорт большого файла лучше запускать в часы низкой нагрузки.
- Один профиль — один агент; для разных источников (цены отдельно, каталог отдельно) заводите разные профили.
Перевод агентов на cron: почему это важно
По умолчанию агенты в Битрикс выполняются «на хите» — то есть их запускает первый посетитель, попавший на нужный момент. Для тяжёлого импорта это плохо: пользователь получит подвисшую страницу, а на низкой посещаемости агент может вообще не сработать вовремя.
Правильное решение — перевести агенты и события на cron. В файле /bitrix/php_interface/dbconn.php задаётся константа:
define("BX_CRONTAB_SUPPORT", true);
После этого в системный планировщик добавляется задание, вызывающее обработчик Битрикс:
*/5 * * * * /usr/bin/php -f /home/site/public_html/bitrix/modules/main/tools/cron_events.php
Контроль результата и защита от битых прогонов
Автоматический импорт нельзя ставить и забывать. Нужен контроль, что прогоны действительно проходят и не портят данные. Практический минимум:
- Проверка файла до импорта — контролируйте размер и дату
/upload/-файла; пустой или обрезанный файл не должен запускать импорт. - Логирование — фиксируйте время старта, число обработанных и пропущенных строк. Удобно писать это через
AddMessage2Log()в журнал. - Резервная копия — перед массовым обновлением делайте бэкап инфоблока или всей базы.
- Уведомления — настройте письмо администратору при ошибке импорта.
Отдельно следите за производительностью: крупные выгрузки из 1С лучше импортировать не через универсальный CSV, а через штатный обмен CommerceML, где предусмотрена пошаговая (пошагово-порционная) обработка и защита от таймаутов.
Итог
Профиль импорта — это фундамент любой автоматизации каталога на 1С-Битрикс. Он фиксирует карту полей и параметры разбора, а агент или cron превращают ручную операцию в фоновый процесс. Ключевые правила: аккуратно обращаться с удалением отсутствующих товаров, переводить агенты на cron и всегда логировать результат.
Если каталог большой, источников несколько или требуется двусторонний обмен ценами и остатками, мы в B2Bsite проектируем устойчивую схему интеграции, настраиваем расписание и контроль ошибок — чтобы обновления шли автоматически и без потери данных.
Частые вопросы
Чем профиль импорта отличается от разового импорта?
Разовый импорт настраивается заново при каждом запуске, а профиль сохраняет все параметры и карту полей в базе. Только сохранённый профиль можно поставить на автоматический запуск по расписанию.
Где хранится файл, который использует профиль?
В профиле хранится путь к файлу на сервере, например /upload/1c_catalog/price.csv. Для автоимпорта внешняя система должна перезаписывать файл именно по этому пути.
Как запустить импорт по расписанию?
На последнем шаге мастера включите выполнение по расписанию — Битрикс создаст агента. Управлять им можно в разделе Настройки продукта → Агенты, где задаётся периодичность.
Почему агенты рекомендуют переводить на cron?
По умолчанию агенты запускаются на хите посетителя, что подвешивает страницу и ненадёжно при низкой посещаемости. Cron запускает импорт по расписанию сервера независимо от трафика.
Опасно ли включать удаление отсутствующих товаров?
Да, на автоматическом прогоне это рискованно: неполный или сбойный файл выгрузки удалит часть каталога. Для обновления цен и остатков эту опцию лучше отключать.
По какому полю привязываются товары при повторном импорте?
Ключом привязки обычно служит артикул или внешний код элемента. По нему Битрикс находит существующий товар и обновляет его, а не создаёт дубль.
Что делать с большими выгрузками из 1С?
Крупные каталоги надёжнее переносить штатным обменом CommerceML с пошаговой обработкой, а CSV-профиль оставить для точечных обновлений цен, остатков или отдельных свойств.
Как убедиться, что автоимпорт отработал корректно?
Ведите лог с числом обработанных и пропущенных строк, проверяйте дату и размер файла перед импортом и настройте уведомление администратору при ошибке.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.