Разработка B2B-портала на 1С-Битрикс под ключ
Стандартный интернет-магазин на Битриксе не подходит для оптовых продаж: одна цена для всех, публичный каталог, отсутствие лимитов кредита и алгоритма согласования заказов. Когда менеджер тратит 40 минут на оформление каждого заказа вручную через CRM, а дилер звонит, чтобы узнать остатки — это симптомы отсутствия B2B-портала. Мы проектируем архитектуру, настраиваем ценообразование, интегрируем с 1С и внедряем бизнес-процессы согласования. Свяжитесь с нами, чтобы оценить ваш проект.
Чем B2B-портал принципиально отличается от публичного магазина
Архитектурно — другая логика авторизации, модель ценообразования и сценарий заказа. B2B-портал на Битриксе внедряется в 3-5 раз быстрее самописного решения при сопоставимом функционале.
Авторизация и группы пользователей. В bitrix:sale пользователь привязан к одной группе. В B2B нужна иерархия: компания → контактное лицо → роль (закупщик, бухгалтер, директор). Штатные группы не подходят — они плоские. Реализуется через кастомный модуль с таблицей связей company_user и D7 ORM (Bitrix\Main\ORM\Data\DataManager). Права на действия задаются через битовую маску в Highload-блоке ролей.
Типы цен. Модуль catalog поддерживает несколько типов цен: CATALOG_GROUP_ID в таблице b_catalog_price. Для B2B это обязательная механика — каждой группе пользователей назначается свой тип цены. Индивидуальные контрактные цены реализуются через обработчик события OnSaleOrderBeforeSaved или кастомный провайдер цен.
Каталог с остатками в реальном времени. B2B-покупатели заказывают крупными партиями и проверяют доступность до оформления. Данные об остатках b_catalog_store_product обновляются при синхронизации с 1С через CommerceML. Если синхронизация раз в час — клиент видит устаревшие данные. Решение: REST API 1С + инкрементальное обновление через CCatalogStoreProduct::Update(). Экономия времени менеджеров — до 40 часов в месяц.
Как организовать авторизацию на B2B-портале?
Для B2B необходим кастомный модуль авторизации, реализующий иерархию «Компания — Контактное лицо — Роль» с разделением прав. Это позволяет, например, дать бухгалтеру доступ к финансовым документам, но не к заказам. Коммерческая платформа 1С-Битрикс предоставляет D7 ORM для построения таких связей.
Ключевые модули и компоненты
- Модуль
sale — основа для корзины и заказов. В B2B дорабатывается: добавляем статусы (На согласовании, Согласован, Отклонён), настраиваем бизнес-процессы через модуль bizproc.
- Модуль
catalog — ценообразование, торговые предложения (SKU), управление складами. Обязательно задействуются CatalogGroup и DiscountCoupon.
- Модуль
crm (если схема с Битрикс24) — синхронизация заказов портала со сделками CRM через REST API crm.deal.add / crm.deal.update.
- Личный кабинет — история заказов с повтором, текущие заказы, задолженность, документы (счета, накладные в PDF), управление контактными лицами.
Интеграция с 1С
Стандартный обмен через CommerceML закрывает товары, цены, склады, заказы. Но не закрывает:
- Лимиты кредита и задолженность — выгружаются отдельным XML или REST-сервисом 1С. На стороне Битрикс — кастомный Highload-блок
b2b_credit_limits.
- Документы — счета и накладные хранятся в 1С. Портал запрашивает список через REST, кеширует в
/upload/b2b/docs/ с TTL 24 часа.
- Спецификации — индивидуальные договорные позиции, хранятся в Highload-блоке с привязкой к компании.
Важно: не ломать стандартный обмен CommerceML. Кастомные поля и логика — через события OnBeforeCatalogImport1C, OnSuccessCatalogImport1C, отдельные таблицы.
Производительность под нагрузкой
B2B-портал с 500+ активными компаниями и пиковой нагрузкой требует:
- Тегированный кеш каталога:
CIBlock::clearIblockTagCache($iblockId) при обновлении остатков.
- Альтернатива для персональных цен: кеш по ключу
user_group_price_{groupId}_{productId}.
- Сессии в Redis при балансировке.
- Elasticsearch для поиска по каталогу вместо модуля
search.
Этапы разработки
| Этап |
Содержание |
Срок (недели) |
| Аналитика |
Схема ролей, сценарии заказа, карта интеграций с 1С |
2-3 |
| Проектирование БД |
Highload-блоки, D7-сущности, схема ценообразования |
1-2 |
| Бэкенд |
Модуль авторизации, ценообразование, интеграция 1С |
4-8 |
| Личный кабинет |
Заказы, документы, управление компанией |
3-5 |
| Согласование заказов |
Бизнес-процессы bizproc, уведомления |
1-3 |
| Тестирование |
Нагрузочное, приёмочное, интеграционное |
2-3 |
Итого: 12-22 недели в зависимости от сложности интеграции с 1С.
Типичные ошибки и их решения
| Ошибка |
Решение |
| Хранение персональных цен в сессии |
Использовать Redis или БД |
| Синхронизация 1С блокирует сайт |
Инкрементальный обмен, только изменённые позиции |
Бизнес-процессы согласования в init.php |
Вынести в отдельный модуль с конфигурируемыми правилами |
Пошаговая инструкция: как происходит интеграция с 1С
- Настройка CommerceML на стороне 1С: задать регламент выгрузки товаров, цен, остатков.
- Создание REST-сервиса в 1С для передачи кредитных лимитов и документов.
- Реализация обработчиков событий Битрикс (
OnBeforeCatalogImport1C, OnSuccessCatalogImport1C).
- Тестирование обмена на тестовом контуре.
- Запуск в продуктив и мониторинг.
Что входит в работу
- Полная техническая документация (архитектура, схема БД, API-контракты).
- Исходный код кастомных модулей с лицензией на использование.
- Доступы к dev- и prod-окружениям, репозиторию.
- Обучение администраторов (до 8 часов) и инструкции для пользователей.
- Гарантийная поддержка 6 месяцев с реакцией в течение 4 часов.
Готовы обсудить ваш проект? Свяжитесь с нами для консультации. Закажите разработку 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-портала и получите консультацию специалиста. Свяжитесь с нами для обсуждения вашего проекта — мы подготовим предварительный расчёт и предложим оптимальное решение.