Налаштування вивантаження товарів у прайс-листи 1С-Бітрікс

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

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Настройка виконання товарів у прайс-листи 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-обгортка перевіряє токен, видає файл. Токен прив'язаний до контрагента.