Разработка личного кабинета B2B на 1С-Битрикс
Мы специализируемся на разработке B2B-кабинетов на 1С-Битрикс. Наш опыт — десятки проектов с нестандартной логикой ролей, согласований и интеграций. Представьте: корпоративный клиент заходит в кабинет, но не может за две минуты найти заказ, скачать накладную или проверить кредитный лимит. Вместо этого он звонит менеджеру. Такие звонки — метрика провала. Мы устраняем причину: проектируем кабинет так, чтобы бизнес-процессы шли без отвлечения сотрудников. Снижаем количество таких звонков на 50% — это прямая экономия времени ваших менеджеров.
За 12–20 недель мы поставим кабинет «под ключ», где каждый сотрудник компании видит только свои задачи, заказы создаются от юрлица, а документы из 1С подтягиваются автоматически. Оценим проект бесплатно — напишите нам.
Как устроено управление ролями?
Центральная сущность — Company, связанная с пользователями Битрикса через Highload-блок b2b_company_users. Поля: UF_COMPANY_ID, UF_USER_ID, UF_ROLE, UF_ACTIVE, UF_CREATED_AT.
Роли задаются через константы в модуле:
- ROLE_OWNER — полные права, управляет сотрудниками и реквизитами
- ROLE_BUYER — создаёт и видит заказы компании
- ROLE_ACCOUNTANT — только документы и финансы, без создания заказов
- ROLE_VIEWER — только просмотр истории
Приглашение сотрудника: владелец вводит email → генерируется токен → отправляется письмо через CEvent::Send с шаблоном B2B_COMPANY_INVITE → по ссылке создаётся (или привязывается) пользователь Битрикс → запись в b2b_company_users.
Что нужно сверх стандарта для заказов?
Список заказов компании, а не пользователя — CSaleOrder::GetList с фильтром по UF_COMPANY_ID (пользовательское поле заказа). Фильтрация по статусу, дате, менеджеру. Поиск по номеру заказа и артикулу через CSaleBasket::GetList с последующим JOIN.
Статусы согласования: добавляем в b_sale_status кастомные APPROVAL_PENDING, APPROVED, REJECTED. Переходы — в обработчиках OnSaleStatusOrderChange с отправкой уведомлений через CEvent::Send. Комментарии к заказу — через HL-блок order_comments с полями UF_ORDER_ID, UF_USER_ID, UF_TEXT, UF_CREATED_AT, UF_IS_INTERNAL (для внутренних заметок).
Почему интеграция с 1С критична?
Документы из 1С — одна из главных ценностей. Схема:
- В 1С настраивается HTTP-сервис или регулярная выгрузка XML через CommerceML.
- Агент Битрикс (CAgent::AddAgent) опрашивает сервис каждые 2-4 часа.
- Результат записывается в HL-блок b2b_documents: UF_COMPANY_ID, UF_DOC_TYPE (invoice, waybill, reconciliation), UF_NUMBER, UF_DATE, UF_AMOUNT, UF_FILE_ID (или UF_EXTERNAL_URL).
- В кабинете — список с фильтрами, скачивание PDF.
Если 1С отдаёт PDF напрямую — кешируем в /upload/b2b/docs/{company_id}/ с именем по номеру документа. Если только метаданные — при клике делаем запрос к 1С и стримим файл через PHP без сохранения на диск (экономит место).
Финансовая сводка
Блок «Финансы» на главной странице: текущий кредитный лимит и использованная сумма (прогресс-бар), просроченная задолженность с датой, сумма заказов за месяц. Источник — HL-блок b2b_credit_status, синхронизируется из 1С. Если данные старше 6 часов — предупреждение «Данные обновляются». При просрочке выше порога — баннер в шапке, кнопка «Создать заказ» блокируется.
Уведомления
Два канала:
- Email: почтовые события (CEventType, CEvent) B2B_ORDER_CREATED, B2B_ORDER_STATUS_CHANGED, B2B_ORDER_APPROVED, B2B_DOCUMENT_READY. Шаблоны редактируются в панели управления.
- Внутренние: счётчик непрочитанных в кабинете через HL-блок b2b_notifications (UF_USER_ID, UF_TYPE, UF_TEXT, UF_LINK, UF_IS_READ, UF_CREATED_AT). AJAX каждые 30 секунд или WebSocket (модуль pull).
Сравнение: кастомный кабинет vs стандартный
| Критерий | Стандартный | Кастомный |
|---|---|---|
| Поиск заказа | До 5 секунд | До 1 секунды (3x быстрее) |
| Управление ролями | Отсутствует | 4 роли с гибкими правами |
| Документы из 1С | Не поддерживается | Автоматическая подгрузка |
| Согласование | Нет | Кастомные статусы и уведомления |
Кастомный кабинет сокращает время создания заказа втрое — это экономия десятков часов в месяц для ваших клиентов.
Что входит в работу
- Аудит текущих бизнес-процессов и требований.
- Проектирование архитектуры ролей и сущностей (Company, HL-блоки).
- Разработка компонентов управления заказами и документами.
- Интеграция с 1С через CommerceML или REST.
- Настройка уведомлений (email + внутренние).
- Тестирование на реальных сценариях.
- Передача документации и обучение администраторов.
Мы — сертифицированные партнёры 1С-Битрикс, гарантируем соблюдение сроков и полную прозрачность. Свяжитесь с нами для оценки вашего проекта — мы подготовим индивидуальное предложение.
Сроки
| Блок | Срок |
|---|---|
| Архитектура ролей и компаний | 2-3 недели |
| Управление заказами компании | 2-3 недели |
| Документы и интеграция с 1С | 2-4 недели |
| Финансовый блок | 1-2 недели |
| Согласование заказов | 2-3 недели |
| Уведомления | 1-2 недели |
| Тестирование | 2-3 недели |
Итого: 12-20 недель. Меньше — при использовании готового каркаса. Больше — при нестандартной логике согласования или сложном 1С-обмене.







