Обмен ценами между 1С:УТ и 1С-Битрикс: быстрая выгрузка с маппингом видов цен
В ситуации, где номенклатура синхронизируется раз в сутки, а цены нужно обновлять каждые 15–30 минут, возникает отдельная инженерная задача. Скидочные акции, сезонные корректировки, изменения закупочных цен — любой из этих факторов требует быстрой и точной выгрузки. Мы решаем эту задачу с помощью настройки отдельного потока обмена, оптимизированного по объёму и скорости. За 5+ лет интеграций мы столкнулись с десятками конфигураций 1С:УТ и Битрикс и выработали надёжные схемы синхронизации. Согласно документации 1С-Битрикс (helpdesk.bitrix24.ru), для эффективного обмена рекомендуется разделять выгрузку товаров и цен.
Необходимость разделения выгрузки цен и номенклатуры
Полный обмен товарами (с картинками, свойствами, описаниями) может занимать часы и блокировать базу данных. Если цены обновляются внутри этого же потока, простая смена скидки приводит к повторной выгрузке всего каталога. Отдельный XML-файл для цен — предложения (offers) — весит в 10 раз меньше и обрабатывается за минуты даже в каталоге из 50 000 позиций.
Виды цен в УТ и их маппинг на Битрикс
В 1С:УТ 11 цены хранятся в регистре сведений ЦеныНоменклатуры. Каждой цене задан вид (тип). Типовые виды: розничная (для физлиц), оптовая (для дилеров с порогами по объёму), закупочная (себестоимость — на сайт обычно не выгружается) и акционная (временные цены).
В Битрикс каждый вид цены УТ соответствует типу цены в торговом каталоге (b_catalog_price). Соответствие настраивается в Настройки → Торговый каталог → Типы цен.
| Вид цены в УТ | Тип цены в Битрикс | Кто видит |
|---|---|---|
| Розничная | BASE | Все (анонимы) |
| Оптовая | WHOLESALE | Группа «Оптовики» |
| Акционная | SALE | Все (перекрывает BASE) |
Права на просмотр типов цен управляются через Настройки → Торговый каталог → Типы цен → Группы доступа.
Настройка отдельного XML-файла для цен
Для быстрого обмена ценами УТ может формировать отдельный XML-файл, который содержит только цены без номенклатуры. В протоколе CommerceML это реализуется через тип обмена «Предложения» (offers.xml) — в нём только цены и остатки без полной карточки товара.
Структура файла предложений:
<КоммерческаяИнформация ВерсияСхемы="2.08"> <ПакетПредложений> <Предложения> <Предложение> <Ид>товар-guid#характеристика-guid</Ид> <Цены> <Цена> <ИдТипаЦены>розничная-guid</ИдТипаЦены> <ЦенаЗаЕдиницу>1250.00</ЦенаЗаЕдиницу> <Валюта>RUB</Валюта> </Цена> </Цены> </Предложение> </Предложения> </ПакетПредложений> </КоммерческаяИнформация> Битрикс при получении этого файла обновляет только цены — не трогает тексты, изображения, свойства. Операция быстрая даже для больших каталогов.
Сравнение подходов: полный обмен vs. отдельный XML для цен
| Параметр | Полный обмен | Отдельный XML для цен |
|---|---|---|
| Время обработки (50 000 товаров) | Часы | 2-5 минут |
| Нагрузка на сервер | Высокая | Низкая |
| Возможность частого обновления | Раз в сутки | Каждые 15-30 минут |
| Риск блокировки БД | Высокий | Минимальный |
Сегментированные цены по контрагентам
В УТ 11 есть механизм сегментов контрагентов и персональных цен. Один клиент может иметь индивидуальную цену, отличную от прайс-листа. На сайте это реализуется через личный кабинет: авторизованный пользователь видит «свою» цену.
Технически: при выгрузке из УТ формируется несколько видов цен — базовая плюс per-segment. Для каждого сегмента на стороне Битрикс — отдельный тип цены, привязанный к группе пользователей. Пользователь из сегмента «VIP» входит в группу «VIP» Битрикс, группе присвоен тип цены «VIP» — и он автоматически видит правильные цены.
Синхронизация сегментов (какой пользователь в каком сегменте) — отдельная задача. Либо через обмен контрагентами (контрагент в УТ попадает в соответствующую группу Битрикс), либо через Битрикс24 CRM с маппингом сделок.
Акционные цены с датами действия
В УТ акционные цены имеют даты начала и окончания. CommerceML 2.08 поддерживает передачу дат действия цены:
<Цена> <ИдТипаЦены>акционная-guid</ИдТипаЦены> <ЦенаЗаЕдиницу>990.00</ЦенаЗаЕдиницу> <НачалоДействия>2025-01-01T00:00:00</НачалоДействия> <ОкончаниеДействия>2025-01-31T23:59:59</ОкончаниеДействия> </Цена> Битрикс при импорте сохраняет даты в b_catalog_price. Компонент каталога автоматически показывает акционную цену только в период действия. Для работы этого механизма в Битрикс должна быть настроена служба bitrix:catalog.price.expire — агент, который сбрасывает просроченные цены.
Кейс: интернет-магазин стройматериалов с акциями
Один из наших клиентов — магазин строительных материалов с каталогом 25 000 позиций. Еженедельные акции на группы товаров (скидки до 30%). Акции планировались в УТ, но менеджер вручную правил цены в Битрикс перед каждой акцией (40–60 позиций). Часто забывал сбросить цену после окончания.
Мы настроили отдельный XML-файл для цен с передачей дат действия акций. Интервал обмена — 30 минут. Акция начинается и заканчивается автоматически, менеджеру достаточно создать акционный прайс в УТ. Дополнительно настроили передачу «старой цены» через вид цены «РекомендуемаяРозничная» — на сайте отображается зачёркнутая цена как COMPARE_PRICE. Экономия времени менеджера составила 80%.
Типичные ошибки при настройке обмена ценами
- Несовпадение GUID видов цен в УТ и типов цен в Битрикс. - Отсутствие прав на запись для типов цен у пользователя-агента. - Неправильная периодичность агентов импорта (слишком часто -> нагрузка, редко -> устаревшие цены). - Игнорирование флага «Обновлять только цены» в настройках импорта.Процесс работы и что входит
- Анализ — изучаем конфигурацию 1С:УТ, схему обмена, текущие настройки Битрикс.
- Проектирование — определяем виды цен, маппинг, периодичность, формат XML.
- Реализация — настраиваем выгрузку из УТ, создаём типы цен в Битрикс, пишем агенты импорта.
- Тестирование — проверяем корректность цен для всех сценариев (сегменты, акции, перекрытия).
- Деплой — запускаем в продакшен, обучаем менеджеров работе с акциями в УТ.
В результат входит:
- рабочая схема обмена с отдельным XML для цен;
- настроенный маппинг всех видов цен;
- агенты обновления с нужной периодичностью;
- отчёт о тестировании и регламент для менеджеров.
Сроки выполнения — от 3 до 7 рабочих дней в зависимости от сложности. Оценим ваш проект бесплатно — свяжитесь с нами, чтобы получить консультацию. Гарантируем корректную работу обмена даже при высокой нагрузке — более 150 внедрённых интеграций подтверждают надёжность подхода.







