Настройка индивидуальных прайсов для B2B-клиентов 1С-Битрикс

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

Настройка индивидуальных прайсов для B2B-клиентов 1С-Битрикс

Два клиента заказывают один и тот же товар, но видят разные цены — потому что у каждого свой договор. Это стандартная задача B2B, которую Битрикс решает через механизм типов цен, но требует правильной настройки: неверная конфигурация приводит к тому, что клиент видит чужую цену.

Механизм типов цен в модуле catalog

В Битриксе каждый товар может иметь несколько цен — по одной на каждый тип цены (b_catalog_group). Тип цены — это просто именованный уровень прайса: «Розница», «Опт», «VIP», «Контрактная». Для каждого типа цены устанавливается, каким группам пользователей (b_user_group) он доступен.

Настройка в панели управления: Магазин → Настройки → Типы цен. Создаём типы для каждого уровня цен. В «Группах покупателей» указываем, какая группа видит какой тип.

Индивидуальные цены: два подхода

Подход 1 — группа на клиента. Каждому B2B-клиенту создаётся отдельная группа пользователей (b_user_group) и отдельный тип цены. Клиент входит в эту группу — видит свои цены. Работает, пока клиентов десятки. При сотнях — управлять становится неудобно: каждый новый клиент требует создания группы и типа цены, плюс загрузки цен.

Подход 2 — Highload-блок контрактных цен. Более масштабируемо. Создаём Highload-блок b2b_contract_prices с полями: UF_COMPANY_ID, UF_PRODUCT_ID, UF_PRICE, UF_CURRENCY, UF_DATE_FROM, UF_DATE_TO. При запросе цены товара — проверяем сначала контрактную цену для компании клиента, затем групповой прайс, затем базовую цену. Логика через кастомный провайдер цен.

Приоритет применения цен

Порядок, в котором система ищет цену для конкретного пользователя, задаётся в настройках типов цен — поле «Сортировка». Меньше число — выше приоритет. Индивидуальная контрактная цена должна иметь сортировку 1, розничная базовая — 100.

Загрузка цен из 1С

При использовании CommerceML-обмена с 1С цены синхронизируются автоматически по типам цен. В файле обмена тип цены идентифицируется по полю ТипЦены → сопоставляется с CATALOG_GROUP_ID в Битриксе. Контрактные цены, которых нет в стандартном прайсе, выгружаются отдельным файлом и загружаются в Highload-блок.

Что проверить после настройки

  • Авторизованный пользователь группы «Опт» не видит цену «Розница» и наоборот
  • Незалогиненный пользователь не видит B2B-цены вообще (если каталог закрытый)
  • Кеш цен инвалидируется при изменении — через тегированный кеш или CCatalogProduct::clearCacheProductPrice()

Настройка типов цен и групп для стандартной схемы (до 5 типов цен, без контрактного Highload): 3-5 дней. Разработка контрактного провайдера цен с Highload-блоком: 1-2 недели.