Розробка особистого кабінету B2B на 1С-Бітрікс

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

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

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Разробка особистого кабінету B2B на 1С-Bitrix

Корпоративний покупець приходить у кабінет не за красивим інтерфейсом — йому потрібно за 2 хвилини знайти замовлення тримісячної давності, скачати накладну та перевірити, не вийшов ли він за кредитний ліміт. Якщо кабінет цього не дає, він перезванює менеджеру. Це і є метрика провалу: кількість звонків по питаннях, які повинні вирішуватися самостійно.

Принципальні відмінності B2B-кабінету від B2C

У рітейльному кабінету користувач бачить тільки свої замовлення. У B2B:

  • Кілька співробітників однієї компанії з різними ролями
  • Замовлення можуть створюватися від імені компанії, а не фізлиці
  • Кредитний ліміт та задолженість — спільні для компанії
  • Документи (рахунки, накладні) прив'язані до юрлиці
  • Узгодження замовлень до їх підтвердження

Стандартний bitrix:sale.personal.orders не покриває жодного з цих сценаріїв.

Управління користувачами компанії

Центральна сутність — Company, пов'язана з користувачами Bitrix через 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 → по посиланню створюється користувач Bitrix (або прив'язується існуючий) → створюється запис у b2b_company_users.

Замовлення: що потрібно сверх стандарту

Список замовлень компанії. Не користувача — компанії. CSaleOrder::GetList() з фільтром по UF_COMPANY_ID (користувацьке поле замовлення). Фільтрація по статусу, даті, менеджеру, який створив. Пошук по номеру замовлення та артикулу в складі — через CSaleBasket::GetList() з подальшим JOIN.

Статуси узгодження. Додаємо в b_sale_status кастомні статуси: APPROVAL_PENDING (чекає узгодження), APPROVED (узгоджено), REJECTED (відхилено). Переходи між статусами — через обробники события OnSaleStatusOrderChange. При зміні статусу відправляємо сповіщення через CEvent::Send().

Коментарі до замовлення. Висок завантажена елемент комунікації: покупець пишет побажання («доставити на склад №2»), менеджер відповідає. Реалізуємо через Highload-блок order_comments: UF_ORDER_ID, UF_USER_ID, UF_TEXT, UF_CREATED_AT, UF_IS_INTERNAL (менеджерський коментар, невидимий покупцю).

Документи з 1С

Інтеграція за схемою:

  1. У 1С налаштовується HTTP-сервіс (або регулярна вивезення XML) з документами по контрагенту
  2. Агент Bitrix (CAgent::AddAgent) опитує сервіс кожні 2-4 години
  3. Результат записується в Highload-блок b2b_documents: UF_COMPANY_ID, UF_DOC_TYPE (invoice, waybill, reconciliation), UF_NUMBER, UF_DATE, UF_AMOUNT, UF_FILE_ID (або UF_EXTERNAL_URL)
  4. У кабінету — список з фільтрами, скачування PDF

Якщо 1С віддає PDF напряму — кешуємо у /upload/b2b/docs/{company_id}/ з ім'ям по номеру документа. Якщо віддає тільки метаданні — при кліку «Скачати» робимо запит до 1С та стрімимо файл через PHP без збереження на диск (для економії місця).

Фінансова зведення

Блок «Фінанси» на головній сторінці кабінету — агреговані дані:

  • Поточний кредитний ліміт та використана сума (прогресс-бар)
  • Прострочена задолженість з датою виникнення
  • Сума замовлень за поточний місяць

Джерело — Highload-блок b2b_credit_status, синхронізується з 1С. Якщо дані застаріли більше ніж на 6 годин — показуємо попередження «Дані оновлюються».

При наявності прострочки свише допустимого порога — у шапці кабінету показуємо банер. Кнопка «Створити замовлення» блокується через перевірку у компоненті кошика.

Сповіщення

Налаштовуємо два канали:

Email: через поштові события Bitrix (CEventType, CEvent). Eventos: B2B_ORDER_CREATED, B2B_ORDER_STATUS_CHANGED, B2B_ORDER_APPROVED, B2B_DOCUMENT_READY. Шаблони редагуються у панелі управління адміністратора.

Внутрішні сповіщення: лічильник непрочитаних у кабінету. Highload-блок b2b_notifications: UF_USER_ID, UF_TYPE, UF_TEXT, UF_LINK, UF_IS_READ, UF_CREATED_AT. AJAX-запит кожні 30 секунд або через WebSocket (модуль pull).

Терміни

Блок Термін
Архітектура ролей та компаній 2-3 тижні
Управління замовленнями компанії 2-3 тижні
Документи та інтеграція з 1С 2-4 тижні
Фінансовий блок 1-2 тижні
Узгодження замовлень 2-3 тижні
Сповіщення 1-2 тижні
Тестування 2-3 тижні

Всього: 12-20 тижнів. Менше — при використанні готового каркаса кабінету. Більше — при нестандартній логіці узгодження або складному 1С-обміні.