CSV-импорт и экспорт в 1С-Битрикс: настройка и автоматизация

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
CSV-импорт и экспорт в 1С-Битрикс: настройка и автоматизация
Простой
~1 день
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1321
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    914
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    663
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    810
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    709
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1043

Стандартный CSV-импорт в 1С-Битрикс ломается на трёх вещах: неправильная кодировка, несовпадение разделителей и отсутствие маппинга свойств. Менеджер загружает файл, получает «Импорт завершён, обработано 0 элементов» — и пишет в поддержку. Мы настраиваем CSV-импорт и экспорт так, чтобы обмен работал предсказуемо. В результате вы получаете надёжный процесс: от диагностики до автоматизации. Для магазинов с каталогом до 5000 товаров импорт занимает 1–3 минуты, а для 50000 товаров — до 30 минут при правильной настройке cron. Используя пошаговый режим, вы обрабатываете данные без тайм-аутов, а автоматизация через cron экономит до 15 часов в месяц на ручных загрузках. При часовой ставке сотрудника 1000 ₽ это даёт экономию до 15 000 ₽ в месяц. Cron-импорт в 10 раз быстрее ручного для каталогов свыше 50 000 товаров.

Механика CSV-импорта в каталоге

Модуль catalog содержит встроенный обработчик CSV — класс \Bitrix\Catalog\CsvImport. Импорт доступен через административный интерфейс: Магазин → Настройки → Импорт CSV. Но важно понимать, что происходит под капотом.

Битрикс читает файл построчно, разбивая по разделителю (по умолчанию точка с запятой). Первая строка может быть заголовком — если включена опция «Первая строка содержит имена полей». Далее каждая строка маппится на поля инфоблока: NAME, XML_ID, DETAIL_TEXT, свойства вида PROPERTY_ARTICLE, цены CATALOG_PRICE_1.

Критически важные настройки

  • Кодировка файла — Битрикс ожидает UTF-8. Если файл в Windows-1251 (типично для выгрузок из 1С), нужно включить перекодировку или конвертировать файл заранее. Около 80% проблем с CSV-импортом связаны с кодировкой.
  • Разделитель полей — точка с запятой, запятая или табуляция. Если в данных встречаются точки с запятой (описания товаров), используйте табуляцию.
  • XML_ID — уникальный идентификатор элемента. Без него импорт создаёт дубли при каждом запуске вместо обновления существующих записей.

Маппинг полей и свойств

Самая частая ошибка — несовпадение заголовков в CSV с кодами свойств инфоблока. Битрикс ищет точное соответствие: если свойство называется BRAND, а в CSV заголовок brand — маппинг не сработает.

Для свойств типа «список» в CSV нужно указывать значение, а не XML_ID варианта. Битрикс попытается найти совпадение по значению и привязать элемент. Если значение не найдено — свойство останется пустым без ошибки в логе.

Свойства типа «привязка к элементу» требуют передачи ID связанного элемента или его XML_ID (при включённой опции поиска по XML_ID).

Как настроить CSV-экспорт?

Экспорт настраивается в Магазин → Экспорт данных. Профиль экспорта сохраняется в таблице b_catalog_export и может запускаться по cron через агент \Bitrix\Catalog\CatalogExportAgent::exportCsv.

При экспорте больших каталогов (свыше 50 000 товаров) стандартный механизм работает пошагово — по 500 элементов за итерацию. Размер шага задаётся в настройках профиля. Если экспорт обрывается на середине — увеличьте max_execution_time в PHP или уменьшите размер шага.

Формат выгрузки фиксирован: UTF-8, разделитель из настроек профиля. Для интеграции с внешними системами, ожидающими Windows-1251, добавьте пост-обработку через iconv в cron-скрипте.

Почему появляются дубли товаров?

Дубли — следствие отсутствия уникального идентификатора. Всегда заполняйте колонку XML_ID и включайте поиск по нему. Если в источнике нет готовых XML_ID, сгенерируйте их по формуле: артикул + производитель. Это единственный надёжный способ гарантировать, что повторный импорт обновит существующие записи.

Что делать, если импорт не видит свойства?

Причина — несовпадение имён колонок. Битрикс ищет точное совпадение: PROPERTY_<CODE>. Если в CSV написано Бренд, а код свойства BRAND — маппинг не произойдёт. Решение: либо переименуйте колонки в CSV, либо воспользуйтесь промежуточным скриптом для трансформации заголовков.

Автоматизация через cron

Ручной импорт через админку допустим для разовых загрузок. Для регулярного обновления (ежедневная синхронизация остатков, цен) используйте cron-запуск. Импорт через админку в 10 раз медленнее, чем через cron для каталогов свыше 50000 товаров.

/usr/bin/php -f /home/bitrix/www/bitrix/modules/catalog/load/csv_run.php

Параметры профиля импорта передаются через ID сохранённого профиля. Профиль создаётся в админке, тестируется вручную, затем его ID подставляется в cron.

На одном проекте с каталогом 20 000 товаров клиент импортировал каждый день прайс-лист. После настройки профиля с поиском по артикулу и пошаговым режимом время импорта сократилось с 3 часов до 10 минут.

Масштаб каталога Время импорта Рекомендация
До 5 000 товаров 1–3 мин Стандартный импорт через админку
5 000–50 000 5–30 мин Cron + пошаговый режим
Свыше 50 000 30+ мин Cron + прямой SQL-импорт в обход API
Тип обмена Метод Сложность настройки
Ручной разовый Админка Низкая
Регулярный малый Cron Средняя
Регулярный крупный SQL + cron Высокая

Типичные грабли

  • Дубли товаров — всегда заполняйте XML_ID и включайте поиск по нему. Без этого каждый запуск импорта создаст новые элементы.
  • Потерянные изображения — CSV-импорт не поддерживает загрузку файлов. Для картинок используйте путь к файлу на сервере в колонке DETAIL_PICTURE — Битрикс подхватит файл по абсолютному пути.
  • Сброс SEO-полей — если в CSV нет колонок META_TITLE, META_DESCRIPTION, импорт может обнулить их при обновлении. Включите опцию «Не обновлять пустые поля».

Что входит в работу?

  1. Аудит текущего CSV-обмена (кодировка, структура, профили).
  2. Настройка маппинга полей и свойств инфоблока.
  3. Создание профиля импорта/экспорта с учётом объёмов данных.
  4. Оптимизация производительности (пошаговый режим, cron).
  5. Документирование настроек и обучение сотрудников.
  6. Поддержка после релиза (исправление ошибок, донастройка).

Наша команда имеет многолетний опыт в разработке на Битрикс и выполнила более 200 проектов по интеграции CSV-обмена. Опыт позволяет гарантировать корректную работу обмена. Если у вас есть вопросы по настройке CSV-импорта или экспорта, свяжитесь с нами — оценим проект и предложим решение. Получите консультацию прямо сейчас.

Подробнее о формате CSV см. на Wikipedia.