Разработка кастомизируемой витрины для дилеров 1С-Битрикс

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

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

Этапы разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1357
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    944
  • 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
    693
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    829
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    731
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1074

Разработка кастомизируемой витрины для дилеров 1С-Битрикс

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

Как выбрать мультисайт или раздел?

Два подхода к разделению розницы и дилеров.

Мультисайт — отдельный сайт в Битрикс (s2) с собственным доменом (dealer.myshop.by). Дилерский сайт использует тот же инфоблок каталога, но свой тип цен и шаблон. Преимущество: полная изоляция дизайна, настроек корзины и оформления заказа. Недостаток: дублирование шаблонов компонентов. В 80% проектов мы выбираем мультисайт — он даёт чистое разделение бизнес-логики без условных конструкций.

Раздел на основном сайте/dealer/ с проверкой принадлежности пользователя к группе «Дилеры». Компоненты каталога используют тот же инфоблок, но через параметр PRICE_CODE показывают дилерский тип цены. Проще в поддержке, но сложнее изолировать логику оформления заказа. Мультисайт выигрывает у раздела в 2 раза по простоте поддержки при большом количестве дилеров.

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

Битрикс поддерживает до 8 типов цен в стандартной лицензии и неограниченное количество — в «Бизнес» и выше. Для дилерской витрины создаётся отдельный тип цены (например, DEALER_PRICE), привязанный к группе пользователей «Дилеры».

Персонализация по дилеру реализуется через дополнительные типы цен — по одному на каждого крупного дилера — или через скидки каталога, привязанные к группе пользователя. Первый вариант масштабируется до 20–30 дилеров, дальше управление становится неподъёмным. Второй — работает на любом количестве, но не даёт гибкости «любая цена для любого товара».

Для индивидуальных прайсов с тысячами позиций используйте пользовательское свойство заказа с ценой, рассчитанной на лету из базовой дилерской цены и персонального коэффициента. Коэффициент хранится в UF-поле пользователя (UF_DEALER_DISCOUNT), цена пересчитывается в обработчике OnGetOptimalPrice.

Как показывать остатки по складам дилерам?

Розничный покупатель видит «В наличии / Нет в наличии». Дилеру нужны точные цифры по складам.

Модуль catalog.store хранит остатки в таблице b_catalog_store_product (поля PRODUCT_ID, STORE_ID, AMOUNT). Склады — в b_catalog_store. Компонент catalog.store.amount выводит остатки, но его стандартный шаблон не подходит для B2B — нет группировки по регионам, нет фильтрации по складам, доступным конкретному дилеру.

Решение: кастомный шаблон компонента, который фильтрует склады по UF-полю пользователя UF_AVAILABLE_STORES (массив ID складов). Дилер из Минска видит склады «Минск-1» и «Минск-2», дилер из Гомеля — «Гомель-центральный».

Как оформить заказ от имени конечного клиента?

Дилер оформляет заказ и указывает конечного получателя. В модуле sale это реализуется через свойства заказа типа «Конечный клиент» — группа свойств (PERSON_TYPE) для дилерского типа плательщика.

Создайте тип плательщика «Дилер» с полями: реквизиты дилера (заполняются автоматически из профиля) + блок «Конечный получатель» (ФИО, адрес, телефон). В обработчике OnSaleOrderBeforeSaved проверяйте, что дилер не может оформить заказ по розничному типу плательщика.

Как настроить выгрузку данных для дилеров?

Дилеры запрашивают прайс-лист в Excel/CSV для загрузки в свою 1С. Реализуется через кастомную страницу /dealer/export/, которая генерирует файл на основании \Bitrix\Catalog\PriceTable::getList() с фильтром по дилерскому типу цены. Формат Excel — через библиотеку PhpSpreadsheet (ставится через Composer).

Для автоматической выгрузки дайте дилеру API-эндпоинт с авторизацией по токену. Эндпоинт возвращает JSON с товарами, ценами и остатками — дилер забирает его по cron. Согласно официальной документации CommerceML, такой подход обеспечивает совместимость с 1С.

Что входит в работу

Компонент Описание
Настройка мультисайта Создание отдельного сайта с дилерским дизайном и настройками
Типы цен и скидки Создание дилерского типа цен, настройка персональных скидок
Кастомные шаблоны Разработка шаблонов для остатков, заказов, выгрузки
Интеграция с 1С Настройка обмена через CommerceML (цены, остатки)
Документация и обучение Инструкции для дилеров, обучение администраторов
Поддержка Техническая поддержка в течение 1 месяца после запуска

Сроки

Компонент Срок
Мультисайт + базовый каталог с дилерскими ценами 3–4 дня
Персональные коэффициенты + остатки по складам 3–4 дня
Заказ от имени клиента + выгрузка 2–3 дня
Тестирование и отладка прав доступа 1–2 дня
Итого 1–2 недели

Наш опыт разработки на 1С-Битрикс — более 7 лет; реализовали более 50 B2B-проектов для дилеров. Свяжитесь с нами для оценки вашего проекта. Получите консультацию по архитектуре и срокам.

B2B-порталы на 1С-Битрикс

Наша специализация — разработка B2B-порталов на 1С-Битрикс. Не просто «интернет-магазинов для оптовиков». Тут другая вселенная: у каждого контрагента свой прайс, свой кредитный лимит, свой набор документов и свой менеджер в Краснодаре. Розничный покупатель выбирает по картинке и отзывам. Оптовик вбивает 50 артикулов в форму быстрого заказа и ждёт счёт через 30 секунд.

У нас 10+ лет опыта в этой нише, более 50 проектов внедрения. Гарантия на работы — 12 месяцев. Сертифицированные специалисты 1С-Битрикс. Свяжитесь с нами — мы проанализируем вашу текущую структуру цен и предложим архитектуру портала под ваш бизнес.

Как устроено ценообразование в B2B-портале?

Если в рознице одна цена для всех, то в B2B — матрица. Типы цен в b_catalog_price умножаются на группы контрагентов, накопительные скидки, валютные пересчёты и договорные условия. Именно здесь проект либо взлетает, либо тонет в багах.

Типы цен и прайс-листы. В Битрикс типы цен задаются через CCatalogGroup. Стандартный набор: розничная, мелкооптовая, оптовая, дилерская, дистрибьюторская. Каждый контрагент привязан к группе пользователей, группа — к типу цены. Но реальность сложнее: один дилер может видеть оптовые цены на электронику и дистрибьюторские на аксессуары. Это уже не штатный механизм — нужна кастомная логика через обработчик OnSaleBasketItemBeforePriceSave.

Скидки — прогрессивная шкала по объёму (от 100 штук — минус 5%, от 500 — минус 12%), накопительные за период, сезонные, по категориям. Скидки комбинируются через приоритеты в b_sale_discount. Порядок применения — отдельная головная боль: скидка может быть до или после фиксированной; приоритеты настраиваются в «Правилах работы с корзиной». При 20+ правилах отладка превращается в квест.

Кредитные лимиты. Контрагенту устанавливается порог отгрузки в кредит. Текущая задолженность синхронизируется с 1С через регистр РасчетыСКонтрагентами. Превышение лимита → блокировка оформления заказа. Без этого менеджеры отгружают в долг, а бухгалтерия потом разгребает дебиторку.

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

Валюта — для ВЭД обязательно. Пересчёт по курсу ЦБ (парсинг cbr.ru через CCurrencyRates::ConvertCurrency()) или фиксированный курс контракта.

Что входит в дилерский кабинет?

Заказы — полная история с фильтрацией по статусам, датам, суммам. Повтор предыдущего заказа в один клик — для регулярных закупок это экономит часы. Шаблоны заказов для типовых позиций.

Финансы — сальдо взаиморасчётов, акт сверки, история оплат. Всё, что бухгалтер обычно запрашивает по email и ждёт три дня — в кабинете мгновенно. Данные тянутся из 1С через REST или CommerceML.

Документы — счета, накладные, счета-фактуры, УПД, акты. Формируются в 1С, PDF пушится на портал через интеграцию. Скачивание одним кликом. Никакого «пришлите повторно, потерялось в почте».

Управление сотрудниками дилера — администратор создаёт учётки с разграничением прав. Менеджер по закупкам формирует заказы, бухгалтер видит только финансы, руководитель — общую картину. Реализуется через расширение стандартных групп пользователей Битрикс.

Быстрый заказ: артикул + количество = счёт

B2B-клиент знает, что ему нужно. Каталог с красивыми карточками ему не нужен — нужна форма: артикул, количество, следующая строка.

  • Форма быстрого заказа — автоподстановка наименования и цены при вводе артикула. Используем AJAX-поиск по b_iblock_element.XML_ID или PROPERTY_ARTICLE. 50 позиций за 3 минуты
  • Импорт из Excel/CSV — клиент выгрузил из своей системы, загрузил на портал. Автосопоставление артикулов, проверка наличия, формирование заказа. Парсинг через PHPExcel или PhpSpreadsheet
  • Корзина с полной информацией — вес, объём, количество мест, ориентировочная стоимость доставки до оформления

Почему интеграция с 1С критична для B2B-портала?

Без актуальных данных из 1С портал бесполезен. Менеджер Иванов изменил цену на гвозди — через 15 минут дилер в Красноярске должен видеть новую цену.

Данные Направление Механизм
Каталог, характеристики 1С → Портал CommerceML или REST, 15–60 мин
Цены по типам и контрагентам 1С → Портал REST API, по событию или расписанию
Остатки по складам 1С → Портал REST, 5–15 мин или реалтайм через HTTP-сервис 1С
Заказы Портал → 1С REST, реальное время
Статусы, отгрузки 1С → Портал По событию
Взаиморасчёты 1С → Портал 1–2 раза в день
Документы (PDF) 1С → Портал По событию

CommerceML проще: штатный модуль обмена, XML-файлы, минимум настройки. Но он медленный на больших каталогах и не поддерживает кастомные сущности (кредитные лимиты, сальдо). REST API через HTTP-сервис 1С — гибче, быстрее, но требует доработки на стороне 1С. На практике часто используем гибрид: CommerceML для каталога, REST для цен, остатков и документов. Согласно официальной документации 1С-Битрикс, для B2B-порталов критично настроить синхронизацию справочников и остатков в реальном времени. Подробнее о CommerceML и REST API 1С-Битрикс.

ЭДО: юридически значимый обмен без бумаги

Для крупных B2B-проектов:

  • Провайдеры — Контур.Диадок, СБИС, Калуга Астрал. Счета-фактуры, акты, накладные в электронном виде с юридической силой
  • КЭП — квалифицированная электронная подпись. Контрагент подписывает акт прямо в кабинете
  • Роуминг между операторами — без этого половина партнёров, у которых другой оператор ЭДО, останется за бортом

Многофилиальность

  • Региональные склады — клиент видит остатки ближайшего склада, может выбрать склад отгрузки. Товар есть в Новосибирске, но нет в Москве — портал покажет оба варианта с разными сроками
  • Автоназначение менеджера — дилер из Краснодара работает с Иваном, из Екатеринбурга — с Мариной. По полю UF_REGION в карточке контрагента
  • Локальные условия — минимальная сумма заказа, условия доставки, сроки — отличаются по регионам

Процесс разработки B2B-порталов

Разработка B2B-порталов включает пять этапов. Ниже таблица с ориентировочными сроками и результатами.

Этап Срок Результат
Аудит процессов 1–2 недели Схема бизнес-процессов, карта интеграций
Проектирование 2–3 недели Архитектура, прототипы, спецификация обмена с 1С
Разработка 4–8 недель Кабинеты, ценовые механики, интеграции, документооборот
Тестирование 1–2 недели Функциональное, интеграционное, нагрузочное на реальных данных
Пилот 2–3 недели 5–10 дилеров, обратная связь, доработки

Что входит в работу:

  • Полная проектная документация (ТЗ, архитектурная схема, протоколы интеграции)
  • Настройка серверного окружения и развёртывание (On-Premise или облако)
  • Перенос всех пользовательских данных и конфигураций
  • Обучение администраторов портала (2 занятия онлайн)
  • Гарантийная поддержка 12 месяцев с реакцией до 4 часов

После запуска — техподдержка и развитие. B2B-портал — живая система, которая эволюционирует вместе с бизнесом.

Средняя экономия времени менеджера на обработке заказов — до 20 часов в неделю.

На старте проверьте корректность типов цен и групп пользователей, ограничьте количество скидочных правил (не более 3–4), протестируйте интеграцию с 1С на реальных данных, выдайте дилерам доступы и проведите нагрузочное тестирование на 50 одновременных пользователей.

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