БесплатноБесплатный аудит сайта и кода на 1С-Битрикс при заказе доработки или поддержки

Закрытый оптовый раздел на 1С-Битрикс: доступ по авторизации

Закрытый оптовый раздел на 1С-Битрикс: доступ по авторизации, права на инфоблок, скрытие цен для гостей

В рознице всё открыто: любой посетитель видит товар, цену и кнопку «Купить». В опте это часто недопустимо. Партнёрские цены — коммерческая тайна, которую не показывают конкурентам и случайным гостям. Условия работы отличаются от розничных, а сам факт «здесь есть опт» иногда нужно показывать только проверенным контрагентам. Свести это к паре галочек в шаблоне нельзя — нужна системная механика. В 1С-Битрикс её дают группы пользователей и права доступа на инфоблок и типы цен: с их помощью строится закрытый оптовый раздел, куда попадают только авторизованные партнёры.

Эта статья — практический разбор того, как закрыть опт от розницы на 1С-Битрикс: как сделать доступ к разделу и ценам только после входа, как настроить права на инфоблок, как скрыть цены и кнопку заказа для гостей так, чтобы это была реальная защита, а не «прятки» в HTML, и как организовать регистрацию оптовика с модерацией. Материал из нашей практики разработки сайтов для B2B-компаний — по делу, без обещаний «гарантированного роста продаж».

Коротко

  • Закрытый опт строится на группах пользователей и правах доступа, а не на визуальном скрытии в вёрстке.
  • Закрывать можно по-разному: только цену, цену и кнопку заказа, отдельный раздел или весь B2B-каталог целиком.
  • Права на инфоблок и раздел определяют, кто вообще видит данные; типы цен — кто видит какую цену.
  • Гостю вместо цены показывают «Цена по запросу» или «Войдите» — с формой заявки, а не пустую карточку.
  • Оптовик проходит модерацию: заявка → проверка менеджером → перевод в группу → доступ к закрытому разделу.
  • Закрытые разделы дополнительно исключают из индексации, чтобы прайс не утекал в поисковую выдачу.

Зачем закрывать оптовый раздел

Розничный магазин выигрывает от открытости: чем проще увидеть товар и цену, тем выше конверсия. В опте логика обратная. Оптовые и дилерские цены — это результат договорённостей, объёмов и истории отношений, и показывать их всем подряд означает, во-первых, раскрывать конкурентам свою ценовую политику, а во-вторых, обесценивать статус партнёра, ради которого он и проходит регистрацию. Поэтому закрытый оптовый раздел — не каприз, а частое и обоснованное требование B2B.

Причин закрывать опт несколько, и обычно они действуют вместе:

Важно с самого начала понимать: закрытый опт — это про управление доступом, а не про красивое скрытие. Если цену просто убрать из вёрстки для вида, задача не решена. Настоящий закрытый раздел работает на уровне прав: сервер не отдаёт данные тому, у кого нет прав их видеть. Дальше вся статья — про то, как это устроено в 1С-Битрикс и как собрать из штатных механизмов надёжный закрытый опт.

Что именно закрывают: цены, кнопку, весь раздел

«Закрыть опт» — расплывчатая формулировка. Прежде чем настраивать права, нужно решить, что именно скрывать и от кого. От этого зависит и сложность реализации, и то, как сайт будет выглядеть для гостя. На практике встречаются несколько уровней закрытости — от самого мягкого до полного.

УровеньЧто закрытоЧто видит гость
Скрыта ценаТолько оптовая ценаТовар, розничную цену или «цена по запросу»
Скрыты цена и заказЦена и кнопка «в корзину»Карточку без цены, приглашение войти
Закрыт разделОтдельные разделы каталогаКаталог без закрытых разделов
Закрыт весь оптВесь B2B-каталогТолько страницу входа и приглашение стать партнёром

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

Сначала решение, потом настройка: определите, что скрываете (цену? кнопку? раздел? весь каталог?) и от кого (от гостей? от розницы? от всех, кроме конкретных дилеров?). Это бизнес-решение. Права доступа и группы лишь отражают его в системе. Настраивать права, не ответив на эти вопросы, — верный способ закрыть не то и не так.

Что видит гость и что — оптовик

Ключ к пониманию закрытого опта — держать в голове две «картины мира»: как выглядит сайт для неавторизованного гостя и для вошедшего оптовика. Одна и та же карточка товара, один и тот же раздел показываются им по-разному, потому что права и группы у них разные. Наглядно это удобно свести в таблицу.

ЭлементГость (неавторизованный)Оптовик (в своей группе)
Оптовый раздел каталогаНе виден или недоступенВиден и открыт
Оптовая цена«Цена по запросу» / «Войдите»Своя оптовая цена
Кнопка «В корзину»Скрыта или «Запросить»Активна, оформляет опт-заказ
Минимальная партия, кратностьНе показаныПоказаны, учитываются в корзине
Личный кабинет дилераНедоступенИстория, документы, баланс
Закрытый прайс-листНедоступен для скачиванияДоступен в своей цене

Обратите внимание: разница не только в цене. Оптовику открываются и другие элементы — минимальные партии, оптовый способ заказа, личный кабинет, прайс. Всё это завязано на то, в какой группе находится пользователь. Гость не входит ни в одну оптовую группу, поэтому система последовательно скрывает от него весь оптовый слой. Как только он авторизуется под учёткой, которую менеджер добавил в группу «Оптовые покупатели», картина меняется целиком.

Гость (не авторизован) Товар «Насос PRO-50» Цена по запросу Войдите, чтобы увидеть опт Оптовый раздел скрыт Личный кабинет недоступен Оптовик (группа «Опт») Товар «Насос PRO-50» Оптовая цена · от 5 шт В корзину Оптовый раздел открыт Кабинет: история, документы вход
Схема: одна и та же карточка показывается гостю и оптовику по-разному — цена, кнопка заказа и доступ к разделу зависят от группы пользователя.

Группы пользователей как основа доступа

Вся механика закрытого опта держится на группах пользователей. Группа — это категория, к которой принадлежит посетитель: гость, зарегистрированный розничный покупатель, оптовик, дилер, менеджер. Один пользователь может состоять сразу в нескольких группах, и его итоговые права складываются из прав всех этих групп. Именно к группам, а не к отдельным людям, привязываются все настройки доступа: и права на инфоблок, и видимость типов цен.

Для закрытого опта минимальный набор групп обычно такой:

Число групп определяется бизнесом: если у вас один уровень опта, хватит одной оптовой группы, если несколько уровней партнёрства — заводят группу под каждый. Не стоит плодить группы «про запас»: каждая новая группа — это ещё один набор прав, который нужно осознанно настроить и проверить. Лишние группы усложняют картину и повышают риск ошибки в правах.

Группа ≠ тип цены: группа отвечает на вопрос «кто этот покупатель», а тип цены — «сколько для него стоит товар». Это разные сущности, которые связываются правами. Подробно эту связку мы разбираем в статье про оптовые цены по группам клиентов в 1С-Битрикс — она хорошо дополняет этот материал.

Права на инфоблок и раздел каталога

Второй столп закрытого опта — права доступа на инфоблок. Каталог в 1С-Битрикс хранится в информационных блоках, и у каждого инфоблока есть настройка «Доступ»: для каждой группы пользователей указывается уровень прав. Именно это определяет, кто вообще может видеть содержимое каталога или его части.

Уровни доступа к инфоблоку идут по нарастающей — от полного запрета до полного управления. Для закрытого опта важны нижние уровни:

Уровень доступаЧто даётКому в закрытом опте
Доступ закрытГруппа не видит инфоблок совсемГостям — на закрытый оптовый инфоблок
ЧтениеПросмотр элементов и разделов на витринеОптовикам — на оптовый инфоблок/раздел
Чтение + документооборотПросмотр + черновики (для контента)Контент-менеджерам
Полный доступЛюбые операции, включая праваАдминистраторам

Логика простая: чтобы закрыть оптовый каталог от гостей, у группы «Все пользователи» на этот инфоблок ставят «Доступ закрыт», а группе «Оптовые покупатели» — «Чтение». Тогда гость не получит данные вообще (компонент вернёт пустоту или ошибку доступа), а вошедший оптовик увидит каталог нормально. Это и есть настоящее ограничение на уровне сервера, а не косметика.

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

Права на разделы каталога по группам Раздел / Группа Гости Оптовики Розничный Чтение Чтение Оптовый Закрыт Чтение Дилерский Закрыт Закрыт «Закрыт» = сервер не отдаёт данные группе — не видно ни в меню, ни по ссылке
Схема: правами на разделы инфоблока задаётся, кто их видит. Гостям оптовый и дилерский разделы закрыты, оптовикам открыт оптовый, дилерский — только своей группе.

Закрытие целого раздела от гостей

Самый строгий сценарий — когда весь оптовый раздел или целый B2B-каталог доступен только авторизованным партнёрам, а гость туда не попадает вообще. Это уместно, когда компания не хочет даже намекать случайным посетителям на существование опта, или когда весь сайт по сути партнёрский, а публичной розницы нет.

Собирается это из уже описанных кирпичей, но настроенных строго:

  1. Выделите закрытый инфоблок или раздел. Оптовый каталог можно вынести в отдельный инфоблок или в отдельный раздел существующего — так права проще держать в порядке.
  2. Закройте доступ гостям. Группе «Все пользователи (в том числе неавторизованные)» поставьте на закрытый инфоблок/раздел «Доступ закрыт».
  3. Откройте доступ партнёрам. Группам «Оптовые покупатели» и «Дилеры» дайте «Чтение» на этот инфоблок/раздел.
  4. Закройте прямые URL. Убедитесь, что и по прямой ссылке на страницу раздела гость получает не контент, а редирект на вход или сообщение о необходимости авторизации.
  5. Уберите закрытое из меню и поиска. Пункты меню и результаты внутреннего поиска для гостя не должны выдавать существование закрытых разделов.

Ключевой момент четвёртого шага: закрытие в меню недостаточно. Если раздел исчез из навигации, но по прямой ссылке отдаётся, — это не защита. Правильно настроенные права на инфоблок решают это автоматически: компонент каталога, обслуживающий страницу, просто не отдаст данные пользователю без прав чтения, независимо от того, как он на страницу попал. Поверх этого часто добавляют проверку авторизации на входе в раздел, чтобы гостя сразу отправлять на форму входа с понятным сообщением.

Скрытие цен и кнопки «в корзину»

Более мягкий и очень частый сценарий: каталог открыт всем, товары видны, но оптовая цена и кнопка заказа доступны только после входа. Гость просматривает ассортимент как витрину, а покупает уже авторизованный партнёр. Здесь закрывается не раздел целиком, а конкретные элементы карточки.

Скрытие цены строится на двух уровнях, и оба важны:

Важнейший принцип — проверка идёт на бэкенде, до формирования HTML. Цена и кнопка не «прячутся стилями», а вообще не выводятся в разметку тем, у кого нет прав. Тогда в исходном коде страницы закрытой цены просто нет — её нельзя подсмотреть через инструменты разработчика. Подробнее об этой разнице — в разделе про безопасность ниже, потому что именно на ней чаще всего спотыкаются.

Кнопку «В корзину» скрывают заодно с ценой по простой причине: без цены нельзя корректно оформить заказ. Если бы гость мог добавить товар в корзину без цены, система не знала бы, по какой стоимости продавать. Поэтому у товара без доступной цены оптовый заказ логически невозможен, и кнопка либо блокируется, либо превращается в «Запросить цену» — обращение к менеджеру.

«Цена по запросу» и «войдите, чтобы увидеть»

Технически скрыть цену несложно. Сложнее — не потерять на этом потенциального клиента. Пустая карточка без цены и без объяснения выглядит как ошибка сайта: посетитель решает, что «тут что-то сломалось», и уходит. Поэтому на месте скрытой цены всегда должно быть осмысленное сообщение и понятное действие.

Типовые варианты того, что показывают гостю вместо оптовой цены:

ЗаглушкаДействие для гостяКогда уместно
«Цена по запросу»Кнопка «Запросить цену» → формаСбор заявок, ручной прайс
«Войдите, чтобы увидеть опт»Ссылка на вход и регистрациюМотивация авторизоваться
Розничная цена + пометка«Оптовая — после входа»Смешанный каталог розница/опт
«Станьте партнёром»Форма заявки на партнёрствоЗакрытая дилерская программа

Выбор зависит от того, что для бизнеса ценнее: быстрее собрать контакт или мягче подтолкнуть к регистрации. «Цена по запросу» с формой хорошо работает, когда прайс индивидуальный и всё равно обсуждается с менеджером. «Войдите, чтобы увидеть» — когда цены типовые и задача просто отсечь неавторизованных. В смешанном каталоге показывают розничную цену как ориентир и обещают оптовую после входа — так гость видит порядок цифр и понимает выгоду партнёрства.

Не оставляйте пустоту: «нет цены» без пояснения — это потерянный лид. На месте скрытой цены всегда должно быть сообщение (почему цены нет) и действие (что сделать, чтобы увидеть). Заглушка «Цена по запросу» с кнопкой конвертирует гостя в заявку, пустая карточка — в уход с сайта.

Регистрация оптовика с модерацией

Закрытый опт бессмысленен, если оптовиком может стать кто угодно за минуту. Тогда конкурент просто зарегистрируется и увидит весь прайс. Поэтому вход в оптовую группу почти всегда идёт через модерацию: между заявкой и доступом стоит проверка. Это и есть то, что отличает партнёрский раздел от открытой витрины.

Типовая схема регистрации оптовика — «заявка → проверка → группа»:

  1. Заявка. Оптовик заполняет расширенную форму: компания, ИНН, контактное лицо, телефон, иногда сфера деятельности и ожидаемые объёмы. Обычная розничная форма тут не годится — нужны данные для проверки контрагента.
  2. Промежуточное состояние. После отправки пользователь попадает не в оптовую группу, а в группу «На модерации» или создаётся неактивным. Доступа к закрытому разделу и ценам у него пока нет.
  3. Проверка менеджером. Менеджер видит заявку, проверяет контрагента (реальность компании, договор, условия) и принимает решение — одобрить или отклонить.
  4. Перевод в группу. При одобрении менеджер переводит пользователя в группу «Оптовые покупатели» (или «Дилеры»). Именно этот перевод открывает закрытый раздел и персональные цены.
  5. Уведомление. Партнёру уходит письмо «доступ открыт» со ссылкой на вход. С этого момента он видит опт.

Проверка может быть и полуавтоматической: например, заявки с валидным ИНН и заполненными данными подсвечиваются менеджеру для быстрого одобрения, а неполные отсеиваются. Но само решение «кто становится партнёром» остаётся за компанией — это политика, а не настройка по умолчанию. Техника лишь автоматизирует уже принятое правило: перевести человека в группу, отправить письмо, открыть доступ.

Регистрация оптовика с модерацией Заявка компания, ИНН контакт На модерации доступа к опту ещё нет Проверка менеджер: одобрить? Группа «Опт» доступ открыт, цены видны Отклонённая заявка остаётся без доступа — прайс не утекает
Схема: оптовик проходит модерацию — заявка попадает в промежуточную группу, менеджер проверяет контрагента и переводит его в оптовую группу, что открывает закрытый раздел и цены.

Персональные цены после входа

Когда партнёр прошёл модерацию и вошёл, он должен увидеть свои цены — не абстрактные «оптовые вообще», а те, что положены его группе. Это результат связки групп пользователей и типов цен, которая и делает закрытый опт живым, а не просто «раздел за паролем».

Работает это так. В торговом каталоге заведены типы цен — розничная, оптовая, дилерская. У каждого типа цены в правах указано, какие группы могут его видеть. Оптовая цена доступна только группе «Оптовые покупатели», дилерская — только «Дилерам». Пока человек — гость или розница, эти типы цен ему недоступны, и он оптовых цифр не видит. Как только менеджер перевёл его в оптовую группу, система автоматически начинает показывать ему оптовую цену как основную.

Несколько практических следствий:

Это ровно та механика, которой посвящена отдельная статья про оптовые цены по группам клиентов — там связка «тип цены ↔ группа ↔ права» разобрана детально. В контексте закрытого опта важно запомнить: доступ к разделу открывают права на инфоблок, а какую цену увидит партнёр — права на типы цен. Оба механизма работают через одни и те же группы пользователей.

Закрытый прайс и каталог для дилеров

Часто закрытый опт — это не только цены на витрине, но и закрытый прайс-лист для скачивания и отдельный дилерский каталог. Дилер хочет выгрузить актуальный прайс в своей цене, чтобы работать с ним офлайн, и видеть ассортимент, доступный именно ему. Всё это тоже строится на группах и правах.

Закрытый прайс-лист. Ссылка на скачивание прайса показывается только авторизованным партнёрам, а сам файл формируется в их типе цены. Гость не видит ни ссылки, ни файла. Важно, чтобы прайс отдавался с проверкой прав на сервере: если файл лежит по прямому URL и доступен всем, кто знает адрес, — это утечка. Правильно генерировать прайс «на лету» с проверкой группы или отдавать его через обработчик, который сверяет права.

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

Личный кабинет — естественное продолжение закрытого опта: после входа партнёр попадает в своё «рабочее место», где закрытый раздел, персональные цены и прайс собраны в одном месте. Как устроен такой кабинет, мы разбираем в отдельной статье про личный кабинет дилера на 1С-Битрикс, а под ключ собираем в рамках услуги разработки личного кабинета дилера.

Безопасность: ограничивать, а не прятать

Самая опасная ошибка в закрытом опте — путать скрытие и ограничение доступа. Они выглядят одинаково для обычного посетителя, но принципиально разные по надёжности. Скрытие — это когда данные всё равно попадают в страницу, но их не видно на экране. Ограничение — когда данных в странице нет вообще, потому что сервер не отдал их пользователю без прав.

Почему «спрятать стилями» — это не защита:

Правильный подход — проверять права на сервере и не выводить закрытые данные в ответ тем, у кого их нет. Оптовая цена не должна попадать в HTML или в JS гостя вообще. Кнопка заказа не должна рендериться, если заказ недоступен. Раздел не должен отдавать контент без прав чтения. Тогда в коде страницы закрытой информации просто нет — и подсматривать нечего. Это и есть разница между «выглядит закрытым» и «реально закрыто».

Правило безопасности: закрытая информация не должна доходить до браузера гостя ни в HTML, ни в JavaScript, ни по прямой ссылке. Если данные в ответе сервера есть, но «спрятаны» — это утечка, а не защита. Ограничивайте на бэкенде правами доступа, а не на фронтенде стилями.

Кэш персональных данных

Закрытый опт добавляет нюанс, о котором вспоминают, только столкнувшись: кэширование персональных данных. Каталог для скорости кэшируется, и если кэш общий для всех, есть риск показать одному пользователю страницу из кэша другого. Для закрытого опта это двойная беда: и неверная цена, и утечка закрытого прайса розничному гостю.

Что важно учитывать при кэшировании закрытого опта:

На большом B2B-каталоге кэширование персональных цен и доступа проектируют вместе с правами, а не латают потом. Это тот случай, когда удобство (быстрый кэшируемый каталог) и безопасность (закрытый прайс) нужно согласовать заранее — иначе легко получить либо медленный сайт, либо утечку цен между группами.

Индексация закрытых разделов

Отдельный вопрос — как закрытый опт виден поисковикам. Робот поисковой системы приходит на сайт как обычный гость: он не авторизован и не состоит ни в одной оптовой группе. Значит, закрытый раздел он либо не увидит вовсе (если права закрыты), либо увидит страницу входа или пустую карточку без цены. Индексировать там нечего, а иногда и вредно.

Что делают с индексацией закрытых разделов:

Тонкий момент: индексация — это про гигиену выдачи, а не про защиту данных. Robots.txt и noindex говорят поисковику «не бери эту страницу», но сами по себе никого не пускают и не пускают. Настоящая защита закрытого опта держится на правах доступа. Robots — дополнение, которое убирает закрытые разделы из поиска, а не замена ограничению доступа. Если положиться только на robots, данные останутся доступны по прямой ссылке.

Закрытый раздел и индексация Робот = гость не авторизован, не в опт-группе приходит на сайт Права закрыты сервер не отдаёт контент раздела видит вход robots + noindex раздел не идёт в индекс, прайс не утечёт Защита — на правах доступа; robots и noindex лишь убирают закрытое из выдачи
Схема: поисковый робот приходит как гость, права закрывают ему контент, а robots.txt и noindex убирают закрытый раздел из выдачи. Защита данных — на правах, robots — гигиена индекса.

UX для гостя: форма запроса доступа

Закрытый опт — это барьер, и барьер этот нужно сделать дружелюбным. Гость, который наткнулся на «цену по запросу» или закрытый раздел, — это потенциальный партнёр. От того, насколько понятно и удобно ему предложат получить доступ, зависит, станет он клиентом или уйдёт к тому, у кого проще.

Что важно в UX закрытого опта для гостя:

Хорошо оформленный барьер не отпугивает, а фильтрует: розничный случайный посетитель уходит, а заинтересованный оптовик оставляет заявку. Плохо оформленный (пустая карточка, непонятно, что делать) теряет обоих. Поэтому форму запроса доступа проектируют так же тщательно, как обычную карточку товара — это точка входа в партнёрство.

Интеграция с 1С: типы цен по группам

В большинстве B2B-проектов цены не ведут вручную на сайте — они приходят из 1С обменом. Это напрямую касается закрытого опта, потому что закрытые оптовые цены обычно и есть отдельные типы цен, которые живут в 1С и передаются на сайт. Понимать эту связь важно, чтобы закрытый прайс на витрине совпадал с тем, что в учётной системе.

Как это устроено. В 1С заведены типы цен — розничная, оптовая, дилерская. Они выгружаются в файл обмена по формату CommerceML и на сайте сопоставляются с типами цен торгового каталога Битрикса один к одному. Дальше каждый тип цены на сайте привязан правами к своей группе: оптовая — к оптовикам, дилерская — к дилерам. Так ценообразование остаётся в 1С, где им управляют менеджеры, а сайт автоматически показывает закрытые цены только нужным группам.

Практические моменты интеграции для закрытого опта:

Согласование заказов, отсрочек и документов в закрытом опте — отдельная большая тема, которая тоже завязана на 1С. Как выстроить согласование B2B-заказов, мы разбираем в статье про согласование заказов в B2B-портале. А полный набор сценариев закрытого опта — раздел, кабинет, права, обмен — мы собираем в рамках услуги B2B-порталов и личных кабинетов.

Реализация закрытого опта пошагово

Соберём всё вместе в понятную последовательность. Названия пунктов меню могут отличаться в зависимости от версии и редакции платформы, но порядок общий. Настройка идёт от групп к правам и заканчивается проверкой под разными ролями.

  1. Создайте группы. Заведите группы «Оптовые покупатели», при необходимости «Дилеры» и промежуточную «На модерации» помимо стандартных гостей и зарегистрированных.
  2. Настройте права на инфоблок и разделы. Закройте оптовый инфоблок или раздел от гостей («Доступ закрыт»), откройте чтение оптовым группам.
  3. Настройте типы цен и их права. Создайте оптовый (и дилерский) тип цены, откройте их видимость только соответствующим группам.
  4. Доработайте шаблон карточки. Научите его проверять группу на сервере: гостю — «цена по запросу» и приглашение войти, партнёру — цена и кнопка заказа.
  5. Сделайте регистрацию с модерацией. Расширенная форма заявки → промежуточная группа → проверка менеджером → перевод в оптовую группу → письмо о доступе.
  6. Настройте кэш с учётом группы. Персональные цены и доступ вынесите в динамику, чтобы кэш не смешивал данные разных групп.
  7. Закройте индексацию. Добавьте закрытые разделы, кабинет и прайсы в robots.txt и проставьте noindex, не задев публичную розницу.
  8. Проверьте под ролями. Зайдите как гость, как розница, как оптовик и как дилер — убедитесь, что каждый видит ровно то, что должен, а закрытое реально закрыто (в том числе в исходном коде и по прямым ссылкам).

Последний шаг критичен, и его часто пропускают. Закрытый опт легко «выглядит правильно» в админке, но на витрине ведёт себя не так: оптовая цена случайно видна гостю, закрытый раздел открывается по прямой ссылке, прайс скачивается без входа. Проверка под всеми ролями, включая осмотр исходного кода страницы глазами гостя, ловит это до того, как утечку заметит конкурент.

Слои закрытого опта 1. Группы пользователей — «кто этот покупатель» 2. Права на инфоблок и разделы — «кто видит каталог» 3. Права на типы цен — «кто видит какую цену» 4. Логика шаблона — «что показать гостю»
Схема: закрытый опт держится на четырёх слоях — группы, права на инфоблок, права на типы цен и логика шаблона. Каждый слой закрывает свой аспект, вместе они дают надёжный доступ по авторизации.

Частые ошибки

Эти промахи в закрытом опте повторяются чаще всего — зная их, вы избежите утечки прайса и неловких ситуаций с партнёрами:

Чек-лист

Короткий список для приёмки закрытого опта перед запуском:

  1. Группы заведены. Есть оптовые группы и промежуточная «На модерации» помимо гостей и розницы.
  2. Права на инфоблок настроены. Закрытый раздел закрыт от гостей, открыт оптовым группам; проверено по прямой ссылке.
  3. Права на цены настроены. Оптовая и дилерская цены видны только своим группам, гостю — нет.
  4. Заглушки на месте. Гостю вместо цены — «цена по запросу» или «войдите», с формой или ссылкой, а не пустота.
  5. Модерация работает. Заявка проходит проверку менеджером, перевод в группу открывает доступ, уходит письмо.
  6. Данные не в HTML. Закрытые цены и кнопки не выводятся гостю ни в разметке, ни в JS, ни по прямому URL.
  7. Кэш учитывает группу. Персональные цены и доступ не утекают между группами через общий кэш.
  8. Индексация закрыта. Закрытые разделы, кабинет и прайсы исключены из индекса; публичная розница не задета.
  9. Проверено под ролями. Витрина проверена как гость, розница, оптовик и дилер, включая осмотр исходного кода.

Вывод

Закрытый оптовый раздел на 1С-Битрикс держится на трёх опорах: группы пользователей («кто покупатель»), права на инфоблок и разделы («кто видит каталог») и права на типы цен («кто видит какую цену»). Связав их через понятную политику и модерацию входа в партнёрство, вы получаете надёжный доступ по авторизации: гость видит витрину и приглашение стать партнёром, а оптовик после входа — свой раздел, свои цены и свой прайс.

Главный принцип — ограничивать, а не прятать. Закрытая информация не должна доходить до браузера гостя ни в HTML, ни в JavaScript, ни по прямой ссылке. Скрытие стилями — это утечка, а не защита. Дополните права модерацией оптовиков, корректным кэшем персональных цен и исключением закрытых разделов из индексации — и проверьте всё под разными ролями. Тогда партнёр получает удобный закрытый опт, а конкурент не видит ваших цен. Разобрать конкретный сценарий под ваш каталог и условия работы с партнёрами можно в рамках нашей услуги — начните с сайта для B2B-компании или изучите смежные материалы в рубрике «B2B и опт».

Частые вопросы

Чем закрытый опт отличается от простого скрытия оптовых цен?

Скрытие оптовой цены — это частный случай, когда гость видит товар и розничную цену, но оптовую не видит. Закрытый оптовый раздел — понятие шире: закрывать можно не только цену, но и кнопку заказа, отдельные разделы каталога или весь B2B-каталог целиком, доступный лишь авторизованным партнёрам. По сути это разные уровни закрытости одной и той же механики прав доступа: от «скрыта только цена» до «раздел не виден и не индексируется, пока не войдёшь под своей группой». Что именно закрывать — бизнес-решение, а техника у всех уровней общая: группы пользователей и права на инфоблок и типы цен.

Можно ли полностью закрыть раздел каталога от неавторизованных посетителей?

Да. Права доступа в 1С-Битрикс назначаются на уровне инфоблока и отдельных его разделов для групп пользователей. Если у группы «Все пользователи (в том числе неавторизованные)» снять право чтения на закрытый инфоблок или раздел, а оставить его только группе оптовиков и дилеров, гость этот раздел просто не увидит — ни в меню, ни по прямой ссылке, ни в поиске по сайту. Это настоящее ограничение на стороне сервера, а не визуальное скрытие: компонент не отдаст данные тому, у кого нет прав на чтение. Дополнительно такой раздел закрывают от индексации, чтобы он не попадал в выдачу поисковиков.

Что показывать гостю вместо цены и кнопки «в корзину»?

Зависит от выбранной стратегии. Если задача — собирать заявки, вместо цены показывают «Цена по запросу» и кнопку «Запросить цену» или «Войдите, чтобы увидеть оптовые условия» со ссылкой на авторизацию и регистрацию. Если задача — мотивировать регистрацию, добавляют короткий текст о преимуществах партнёрства и форму заявки. Главное — не оставлять пустоту: гость должен понимать, почему цены нет и что сделать, чтобы её увидеть. Пустая карточка без цены и без объяснения выглядит как ошибка сайта и отпугивает потенциального оптовика.

Почему нельзя просто спрятать цену стилями в HTML?

Потому что это не защита, а её видимость. Если цена и кнопка заказа выводятся в разметку страницы и лишь скрыты через CSS (display:none) или прозрачностью, любой посетитель увидит их в исходном коде страницы или через инструменты разработчика. Для закрытого прайса это прямая утечка партнёрских условий. Правильный подход — ограничивать данные на бэкенде: проверять группу пользователя на сервере и вообще не выводить цену и кнопку в HTML тем, у кого нет прав. Тогда в коде страницы закрытой информации просто нет, и подсмотреть нечего.

Как настроить регистрацию оптовика с модерацией?

Схема стандартная: заявка → проверка → перевод в группу. Оптовик заполняет расширенную форму регистрации (компания, ИНН, контактное лицо), после чего попадает не сразу в оптовую группу, а в промежуточное состояние — например, в группу «На модерации» или как неактивный пользователь. Менеджер проверяет контрагента и вручную (или по правилу) переводит его в группу «Оптовые покупатели». Только после этого партнёр видит закрытый раздел и свои цены. Модерация нужна, чтобы оптовые условия не получал кто попало — саморегистрация без проверки обесценивает закрытый прайс.

Нужно ли закрывать оптовый раздел от индексации поисковиками?

Как правило, да. Если раздел доступен только авторизованным, поисковому роботу (он приходит как гость) там всё равно нечего индексировать — он увидит либо страницу входа, либо пустой контент. Чтобы не плодить в выдаче бесполезные или дублирующие страницы и не отдавать намёки на закрытый прайс, закрытые разделы явно исключают из индексации через robots.txt и мета-теги noindex. При этом важно не закрыть случайно публичную часть каталога. Индексация закрытого опта — это про гигиену выдачи, а сама защита данных держится на правах доступа, а не на robots.

Как персональные цены связаны с группами и типами цен?

Через права доступа к типам цен. Тип цены (розничная, оптовая, дилерская) — это отдельный прайс в торговом каталоге, а группа пользователей — категория покупателя. У каждого типа цены указывают, какие группы могут его видеть и покупать по нему. Оптовая цена доступна только группе оптовиков — гость и розница её не увидят вовсе. После входа партнёр автоматически получает свои цены, потому что попадает в группу, которой открыт нужный тип цены. Подробно эту связку мы разбираем в отдельной статье про оптовые цены по группам клиентов.

Какая редакция 1С-Битрикс нужна для закрытого опта?

Права на инфоблоки и группы пользователей есть во всех редакциях с модулем «Информационные блоки», но полноценный закрытый опт с типами цен и торговым каталогом требует редакции с интернет-магазином — «Малый бизнес» или «Бизнес». Для развитого B2B с несколькими группами партнёров, закрытыми разделами, личным кабинетом дилера и гибкими правами обычно берут «Бизнес»: она даёт больше возможностей по правам доступа, ценам и каталогу. В «Старте» интернет-магазина нет, поэтому цены по группам и закрытый прайс там не настроить.

Поделиться:

Нужен закрытый оптовый раздел на 1С-Битрикс?

Настроим права на инфоблоки и группы, закрытый раздел и персональные цены, скрытие цен и заказа для гостей, регистрацию оптовиков с модерацией и личный кабинет дилера. Рассчитаем работу по вашим условиям.

Услуга «Сайт для B2B»

Игорь Воскресенский

Игорь Воскресенский — разработчик студии B2Bsite. С 2014 года команда собирает B2B-витрины и оптовые каталоги на 1С-Битрикс: закрытый опт, права на инфоблоки, цены по группам, личные кабинеты дилеров и обмен с 1С для среднего и крупного бизнеса.

← Все статьи блога