Настройка выгрузки товаров в прайс-листы 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка выгрузки товаров в прайс-листы 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка выгрузки товаров в прайс-листы 1С-Битрикс

Оптовые клиенты, менеджеры по закупкам, партнёры — всем нужен прайс-лист. Не страница каталога, а файл: CSV, Excel или XML, который можно открыть без браузера, загрузить в свою учётную систему, сравнить с конкурентами. В 1С-Битрикс выгрузка прайс-листов — это модуль catalog.export с профилями экспорта. Стандартные профили покрывают базовые сценарии, но для реальных задач почти всегда нужна доработка.

Стандартные профили экспорта

Модуль catalog из коробки предлагает несколько профилей: Магазин → Настройки → Экспорт каталога. Каждый профиль — PHP-файл в /bitrix/modules/catalog/load/.

  • CSV (cat_o_csv.php) — выгрузка в CSV. Настраивается разделитель, набор полей, кодировка. Подходит для импорта в Excel, Google Sheets, 1С.
  • Яндекс.Маркет (YML) (yandex_run.php) — XML в формате YML. Формально для Яндекса, но используется как универсальный товарный фид.
  • CommerceML — XML для обмена с 1С. Тяжёлый формат, не для прайс-листов.

Настройка профиля: выбираете инфоблок каталога, тип цены (розничная, оптовая, партнёрская), свойства для экспорта, фильтр по разделам. Результат — файл, доступный по URL или сохраняемый на диске.

CSV-прайс: что настраивать

CSV — самый простой формат, но дьявол в деталях:

Набор колонок. По умолчанию экспортируются стандартные поля: ID, название, цена, раздел. Для полноценного прайса нужны: артикул, бренд, наличие (остатки), единица измерения, описание, ссылка на фото. Каждое поле — свойство инфоблока, которое нужно добавить в настройки экспорта.

Тип цены. Критично для B2B. В Битрикс можно создать несколько типов цен (b_catalog_group): розничная, оптовая, дилерская. Прайс-лист для каждой группы клиентов формируется из своего типа цены. Один профиль экспорта = один тип цены. Для трёх групп клиентов — три профиля.

Кодировка. UTF-8 для веб-систем, Windows-1251 для 1С и старых версий Excel. Настраивается в параметрах экспорта.

Остатки. Стандартный CSV-экспорт не выгружает остатки по складам. Для этого нужна доработка: подключение CCatalogStoreProduct::GetList() в обработчик экспорта и добавление колонок с остатками по каждому складу.

Кастомный обработчик экспорта

Для нестандартных требований создаётся кастомный обработчик — PHP-файл в /bitrix/php_interface/include/catalog_export/. Файл должен содержать две функции: настройки профиля и сам экспорт.

Типичные доработки:

  • Excel-формат (XLSX). Стандартный экспорт не умеет генерировать XLSX. Подключается библиотека PhpSpreadsheet через Composer. Обработчик формирует файл с форматированием: шапка с логотипом, замороженная строка, автоширина колонок.
  • Фильтрация по свойствам. Выгрузка только товаров с остатком > 0, только определённого бренда, только со скидкой.
  • Несколько типов цен в одном файле. Колонки: «Розничная», «Оптовая от 10 шт.», «Дилерская». Каждая подтягивается из своего типа цены.
  • Торговые предложения в строках. Если товар имеет SKU (размер, цвет), каждое предложение — отдельная строка с указанием варианта.

Автоматическая генерация по cron

Прайс-лист должен обновляться автоматически. Настройка:

  1. В профиле экспорта включите «Файл экспорта» — укажите путь, например /upload/pricelist/price_opt.csv.
  2. Добавьте cron-задачу: */30 * * * * php /var/www/bitrix/modules/catalog/load/cat_o_csv.php PROFILE_ID — обновление каждые 30 минут.
  3. Альтернатива — агент Битрикс: CCatalog::PreGenerateXML(PROFILE_ID). Работает через cron_events.php.

Для тяжёлых каталогов (50 000+ товаров) генерация CSV занимает секунды, Excel — десятки секунд. YML для того же объёма — минуты. Учитывайте это при выборе интервала cron.

Формат 1000 товаров 10 000 товаров 50 000 товаров
CSV < 1 сек 2–5 сек 10–20 сек
XLSX 2–5 сек 15–30 сек 1–3 мин
YML (XML) 1–3 сек 10–30 сек 1–5 мин

Доступ к прайс-листу

Файл лежит в /upload/pricelist/ — публичная директория. Варианты ограничения доступа:

  • Прямая ссылка — для партнёров, которым отправляете URL вручную.
  • Авторизация — закрыть директорию через .htaccess (Basic Auth) или генерировать файл в закрытую папку с выдачей через PHP-скрипт, проверяющий авторизацию пользователя Битрикс.
  • Токен в URL/upload/pricelist/price_opt.csv?token=abc123. PHP-обёртка проверяет токен, отдаёт файл. Токен привязан к контрагенту.