Расширенный режим управления ценами в 1С-Битрикс превращает карточку товара из «одного поля цены» в полноценную матрицу: для каждого типа цены — своя стоимость, валюта и скидки. Разберём, как это устроено на уровне модуля catalog и как не сломать обмен с 1С.
Что даёт расширенный режим
В обычном (упрощённом) режиме товар в информационном блоке типа «Каталог» имеет одно поле цены — по сути, работает только базовый тип. Расширенный режим включает полноценный функционал модуля catalog: в карточке товара появляется отдельная вкладка (или блок) «Цены», где для одного и того же товара можно задать несколько цен — по одной на каждый тип цены.
Типы цен — это самостоятельные сущности (таблица b_catalog_group), которые вы создаёте в разделе Магазин → Настройки → Типы цен. Типичный набор для B2B-магазина: BASE (базовая розница), OPT1, OPT2, DILER. Каждый тип цены хранится в таблице b_catalog_price и связан с товаром по PRODUCT_ID.
- одна карточка — несколько цен для разных сегментов;
- у каждой цены — своя валюта и признак «с НДС / без НДС»;
- цены можно привязать к группам пользователей и показывать выборочно;
- всё это выгружается и загружается через штатный обмен с 1С.
Как включить расширенный режим
Режим переключается на уровне торгового каталога, а не отдельного товара. Зайдите в Магазин → Настройки → Настройки модулей → Торговый каталог (или в редактировании самого инфоблока откройте вкладку «Торговый каталог»). Ключевой параметр — «Использовать расширенное управление ценами».
- Убедитесь, что инфоблок объявлен торговым каталогом (кнопка «Является торговым каталогом»).
- Включите расширенное управление ценами для этого каталога.
- Сохраните — после этого в карточке товара появится табличный редактор цен со всеми типами.
BASE. Обратное переключение (в упрощённый режим) оставит в товаре только базовую цену — цены прочих типов «спрячутся», но из b_catalog_price не удалятся.Редактор цен в карточке товара
В расширенном режиме блок «Цены» выглядит как таблица: строка на каждый тип цены. Для каждой строки редактируются:
| Поле | Назначение |
|---|---|
| Тип цены | Ссылка на b_catalog_group (BASE, OPT1 и т.д.) |
| Цена | Числовое значение (PRICE) |
| Валюта | Своя для каждой строки (CURRENCY) |
| Быстрый расчёт | Наценка/скидка в % или сумме от базовой цены |
Удобная деталь — поле быстрого пересчёта рядом со строкой: можно указать «+30%» или «−15%» относительно базовой цены, и Битрикс подставит абсолютное значение. Это заменяет ручной калькулятор, когда оптовые цены жёстко привязаны к рознице. Учтите: пересчёт срабатывает в момент сохранения и записывает уже конкретное число — динамической связи «изменил базу — пересчитались все» здесь нет (для этого нужны наценки на уровне групп цен).
Привязка типов цен к группам покупателей
Сам по себе тип цены — это просто «столбец» стоимости. Чтобы покупатель видел именно оптовую, а не розничную цену, тип цены нужно связать с группой пользователей. Делается это в настройках самого типа цены: Магазин → Настройки → Типы цен → [ваш тип] → вкладка «Права доступа».
- Покупатели — какие группы пользователей могут видеть и покупать по этой цене;
- Изменение — какие группы контент-менеджеров могут редактировать цену в админке.
Если товар имеет несколько цен, доступных одной группе, покупатель получит минимальную из доступных (базовое поведение компонента catalog.element / корзины). Поэтому для B2B обычно оптовым группам оставляют доступ и к рознице, и к опту — система сама покажет выгодную. А чтобы гость вообще не видел оптовых цен, группе «Все пользователи (в т.ч. неавторизованные)» доступ к типу OPT1 не выдают.
Валюты, НДС и скидки
Каждая цена в расширенном режиме хранит собственную валюту. Если магазин мультивалютный, для типа DILER можно вести цену в USD, а для розницы — в рублях; на витрине сработает модуль currency и пересчитает по курсу в валюту показа. Курсы задаются в Магазин → Настройки → Валюты.
Признак НДС в расширенном режиме указывается на уровне товара (ставка НДС и флаг «Цена включает НДС»), а не отдельно для каждого типа — учитывайте это, когда розница идёт «с НДС», а часть B2B-цен вы хотите вести «без НДС». Для разнесения обычно заводят отдельные типы цен и корректную ставку на карточке.
Скидки к расширенным ценам работают через модуль «Скидки» (Магазин → Скидки на товары), а не правкой самой цены. Правила скидок умеют условие «тип цены равен …», поэтому можно, например, дать −5% только для покупок по BASE, не трогая оптовиков. Так вы разделяете «прайсовую» цену (в карточке) и «акционную» (в правилах), что чище для учёта и обмена с 1С.
Обмен с 1С и массовые операции
Расширенный режим — обязательное условие для полноценной выгрузки цен из «1С:Управление торговлей» через стандартный обмен CommerceML. В 1С типы цен (виды цен номенклатуры) сопоставляются с типами цен Битрикса по внешнему коду (XML_ID в b_catalog_group). При первой загрузке Битрикс создаёт недостающие типы автоматически, но для предсказуемости заведите их заранее и пропишите XML_ID, совпадающий с идентификатором вида цены в 1С.
- файл
offers.xml/pricesв пакете обмена содержит блок цен по каждому виду; - несовпадение
XML_IDприводит к дублям типов цен («Оптовая» и «Оптовая (1)»); - обмен обновляет только значения, права доступа к типам он не трогает — их настраиваете один раз в Битриксе.
Для ручных массовых правок используйте групповое редактирование в списке товаров или инструменты раздела каталога — они позволяют пересчитать цены сразу по разделу, что удобно при индексации прайса.
Итог
Расширенный режим — это база для любого B2B-магазина на 1С-Битрикс: он даёт несколько типов цен в карточке, привязку к группам покупателей, мультивалютность и корректный обмен с 1С. Ключевые правила простые: включайте режим на уровне каталога, заранее заводите типы цен с осмысленными XML_ID, выдавайте группам права «Покупатели», а скидки держите в отдельном модуле, а не в самой цене.
Если нужно настроить прайсовую матрицу под реальную схему продаж, синхронизировать её с 1С и не разбираться в правах и валютах вручную — мы в B2Bsite проектируем ценообразование и обмен под конкретный бизнес и берём магазин на сопровождение.
Частые вопросы
Чем расширенный режим отличается от упрощённого?
В упрощённом режиме у товара одно поле цены и фактически работает только базовый тип. Расширенный режим включает функционал модуля «Торговый каталог» и позволяет задать в карточке несколько цен — по одной на каждый тип.
Где включается расширенное управление ценами?
В настройках модуля «Торговый каталог» либо на вкладке «Торговый каталог» в редактировании инфоблока. Параметр называется «Использовать расширенное управление ценами» и действует на весь каталог, а не на отдельный товар.
Какую цену увидит покупатель, если ему доступно несколько типов?
По умолчанию система показывает минимальную из доступных этой группе пользователя цен. Поэтому оптовым группам обычно оставляют доступ и к рознице, и к опту — витрина сама выберет выгодную цену.
Почему заполненная цена не показывается на сайте?
Чаще всего у соответствующего типа цены не выдано право «Покупатели» нужной группе пользователей. Цена в базе есть, но компонент витрины отфильтровал её по правам доступа.
Можно ли вести разные валюты для разных типов цен?
Да, каждая цена хранит собственную валюту. При показе модуль валют пересчитает её в валюту витрины по курсу, заданному в разделе «Валюты».
Как расширенные цены связаны с обменом 1С?
Расширенный режим обязателен для выгрузки цен из 1С через CommerceML. Виды цен из 1С сопоставляются с типами цен Битрикса по XML_ID, поэтому его стоит прописать заранее, чтобы не плодить дубли.
Как задать оптовую цену как процент от розницы?
В строке цены есть поле быстрого пересчёта — можно указать наценку или скидку в процентах от базовой цены. Значение подставится при сохранении, но связь останется статичной: при изменении базы опт автоматически не пересчитается.
Где настраивать скидки к расширенным ценам?
В модуле «Скидки на товары», а не правкой самой цены. Правила скидок поддерживают условие по типу цены, что позволяет применять акцию только к рознице, не затрагивая B2B.
Поможем с настройкой и поддержкой 1С-Битрикс: Управление сайтом
Поможем с настройкой, доработкой и поддержкой 1С-Битрикс: Управление сайтом.