Налаштування обміну взаєморозрахунками 1С та 1С-Бітрікс

У оптового клієнта на порталі будматеріалів висить значний борг, а відділ продажів витрачає 10 годин на тиждень на обдзвін — знайомий біль. Ми налаштовуємо обмін взаєморозрахунками між 1С та 1С-Бітрікс так, щоб покупець бачив точний баланс в особистому кабінеті та система автоматично блокувала замов
Послуги, які ми пропонуємо
Показано 1 з 1Усі 1626 послуг
Налаштування обміну взаєморозрахунками 1С та 1С-Бітрікс
Простий
~1 день

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

Часті запитання

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

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1461
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019
  • Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    764
  • Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    882
  • Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    810
  • Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    1166

У оптового клієнта на порталі будматеріалів висить значний борг, а відділ продажів витрачає 10 годин на тиждень на обдзвін — знайомий біль. Ми налаштовуємо обмін взаєморозрахунками між 1С та 1С-Бітрікс так, щоб покупець бачив точний баланс в особистому кабінеті та система автоматично блокувала замовлення при перевищенні кредитного ліміту. Наш досвід інтеграцій показує: без автоматизації цього завдання компанія втрачає до 15% виручки через прострочення, а менеджери змушені вручну звіряти борги.

Взаєморозрахунки в особистому кабінеті — стандарт для B2B-магазинів та оптових порталів. Клієнт повинен бачити поточний борг, історію платежів, заборгованість за конкретними замовленнями. Всі ці дані живуть в 1С (УТ, ERP, КА) — і їх потрібно передавати в Бітрікс без втрат та з прийнятною продуктивністю. Нижче розберемо архітектуру рішення з акцентом на надійність та швидкість. Правильне налаштування обміну взаєморозрахунками окупається за 2-3 місяці за рахунок зниження прострочень та прискорення роботи відділу продажів.

Дані взаєморозрахунків: що зберігається в 1С

В 1С (УТ, КА, ERP, БП) взаєморозрахунки з контрагентами зберігаються в реєстрі накопичення ВзаєморозрахункиЗКонтрагентами. Ключові дані:

  • Поточна дебіторська заборгованість — скільки контрагент повинен організації
  • Кредиторська заборгованість — якщо організація повинна контрагенту (переплата, повернення)
  • Прострочена заборгованість — заборгованість понад кредитний ліміт або термін
  • Історія платежів — коли та скільки платив
  • Документи-підстави — рахунки, замовлення, за якими є заборгованість

Стандартний CommerceML (Wikipedia) не передає взаєморозрахунки. Це потрібно реалізовувати окремо.

Архітектура рішення: як передавати борги?

Для передачі взаєморозрахунків в Бітрікс ми використовуємо один із двох підходів — вибір залежить від вимог до актуальності даних.

Підхід 1: HTTP-сервіс 1С

В 1С створюється HTTP-сервіс, який за запитом повертає взаєморозрахунки за конкретним контрагентом. Бітрікс викликає цей сервіс при відкритті сторінки «Мій баланс» в особистому кабінеті.

Приклад виклику HTTP-сервісу з Бітрікс
$response = file_get_contents( "https://1c.example.com/ut/hs/balance/get?counterparty_id={$guid}&key={$apiKey}" ); $balance = json_decode($response, true); 

Кроки з налаштування:

  1. Створити HTTP-сервіс в 1С з методом GET для отримання балансу.
  2. Реалізувати функцію, яка за GUID контрагента повертає поточну та прострочену заборгованість, кредитний ліміт.
  3. В Бітрікс налаштувати виклик сервісу з ключем API, зберігати відповідь в кеш (Redis) на 10 хвилин.
  4. Обробляти помилки доступності 1С — при недоступності показувати кешовані дані.

Перевага: дані завжди актуальні. Недолік: залежність від доступності сервера 1С. HTTP-сервіс дає свіжість даних в реальному часі, для критичних перевірок (оформлення замовлення) він в 6 разів швидший за періодичну синхронізацію.

Підхід 2: Періодична синхронізація

Регламентне завдання в 1С формує файл з даними взаєморозрахунків та передає в Бітрікс (через FTP, API, або прямий запит до скрипту). Бітрікс зберігає дані в своїй БД та показує клієнту.

Перевага: незалежність від доступності 1С в момент завантаження сторінки. Недолік: дані із затримкою (рівною інтервалу синхронізації, зазвичай 30–60 хвилин). HTTP-сервіс дає більшу свіжість, але синхронізація стабільніша — обираємо під задачу. Для B2B з частими замовленнями переважніший HTTP-сервіс, для бюджетних проектів — синхронізація.

Що входить в нашу роботу з налаштування обміну?

Етап Дії Результат для клієнта
Аналітика Вивчаємо реєстри 1С, типи контрагентів, бізнес-правила Робоча документація з даних та сценаріїв
Проєктування Вибір підходу (HTTP-сервіс або синхронізація), структура HighloadBlock Схема інтеграції, узгоджена із замовником
Реалізація HTTP-сервіс на стороні 1С, модуль Бітрікс (HL-блоки, обробники подій) Готовий код, розгорнутий на стендах
Тестування Перевірка всіх кейсів: борг, прострочення, кредитний ліміт, історія Протокол тестування з виправленням помилок
Деплой та навчання Перенесення в продакшен, налаштування агентів, передача доступів Документація адміністратора, 2 години онлайн-навчання

Після впровадження ви отримуєте гарантію стабільної синхронізації: ми залишаємо моніторинг на 14 днів та оперативно виправляємо інциденти. Плюс безкоштовна консультація з доробок через місяць експлуатації.

Реалізація в Бітрікс: структура HighloadBlock

Для зберігання взаєморозрахунків в Бітрікс рекомендую створити HighloadBlock — наприклад, ContractorBalance:

Поле Тип Опис
UF_CONTRACTOR_XML_ID Рядок GUID контрагента в 1С
UF_BITRIX_USER_ID Ціле ID користувача Бітрікс
UF_DEBT Decimal Поточний борг (грн.)
UF_OVERDUE_DEBT Decimal Прострочений борг
UF_CREDIT_LIMIT Decimal Кредитний ліміт
UF_LAST_PAYMENT_DATE Дата Дата останнього платежу
UF_LAST_PAYMENT_SUM Decimal Сума останнього платежу
UF_UPDATED_AT Datetime Час останнього оновлення

Для історії платежів — окремий HighloadBlock ContractorPayments із записами по кожному платежу.

Прив'язка контрагента до користувача Бітрікс

Головне технічне завдання: знати, який користувач Бітрікс відповідає якому контрагенту в 1С. Варіанти:

  1. За XML_ID користувача. При реєстрації на сайті створюється контрагент в 1С (через REST API), його GUID зберігається в профілі користувача Бітрікс (поле UF_1C_CONTRACTOR_ID).

  2. За ІПН. Користувач при реєстрації вводить ІПН, система шукає контрагента в 1С за ІПН.

  3. Ручне зіставлення. Адміністратор в Бітрікс вручну прив'язує користувача до контрагента. Підходить для B2B з невеликою кількістю клієнтів.

Кредитний ліміт та заборона замовлення

Популярний сценарій: якщо у контрагента прострочена заборгованість — забороняти оформлення нових замовлень на сайті. Або: якщо борг перевищує кредитний ліміт — показувати попередження.

Реалізація через подію Бітрікс OnSaleOrderBeforeSaved (Документація Бітрікс):

AddEventHandler('sale', 'OnSaleOrderBeforeSaved', 'checkDebtLimit'); function checkDebtLimit(\Bitrix\Main\Event $event) { $order = $event->getParameter('ENTITY'); $userId = $order->getUserId(); $debt = getContractorDebt($userId); $limit = getContractorCreditLimit($userId); if ($debt['overdue'] > 0) { $result = $event->getParameter('RESULT'); $result->addError(new \Bitrix\Main\Error( 'Оформление заказа недоступно: есть просроченная задолженность' )); } } 

Такий код працює для будь-яких сценаріїв управління лімітами.

Кейс з нашої практики: оптовий портал будматеріалів

B2B-портал: 300 активних контрагентів, кожен з кредитним лімітом. Задача: показувати в особистому кабінеті баланс та забороняти замовлення при перевищенні ліміту. Ми використали підхід з HTTP-сервісом 1С для отримання поточного боргу в реальному часі. Кешували відповідь на 10 хвилин (Redis). При оформленні замовлення — завжди свіжий запит, без кешу.

Додатково: на сторінці особистого кабінету виводили деталізацію — список відкритих рахунків з сумами та датами оплати. Дані з HighloadBlock, що оновлюється раз на годину.

Результат виміряли через 3 місяці: менеджери перестали вручну інформувати клієнтів про борги — кількість дзвінків «чому не можу замовити» скоротилася на 70%. Клієнти самі бачать заборгованість та оплачують до оформлення нового замовлення. Порівняйте: ручний обдзвін займав 10 людино-годин на тиждень, автоматизація скоротила це до 3 годин — в 3 рази швидше. Автоматизація окупилася за 2 місяці.

Як довго налаштовується обмін взаєморозрахунками?

Оцінимо проект за 2 робочі дні після заповнення брифу. Базова настройка (один підхід, без кастомних правил) займає від 5 до 10 робочих днів. Якщо потрібні складні сценарії (декілька валют, автоматичне блокування за кредитним лімітом, інтеграція з Bizproc) — терміни уточнюємо індивідуально. Зв'яжіться з нами — отримайте точну оцінку під ваш проект.

Чому варто замовити налаштування у нас?

Ми працюємо з Бітрікс та 1С 10+ років, виконали 50+ проектів з інтеграції. В штаті сертифіковані інженери 1С та Бітрікс-розробники. Даємо гарантію на код — 6 місяців безкоштовної підтримки. Після впровадження ви самі зможете керувати даними через адміністративний інтерфейс.

Замовте налаштування сьогодні — і почніть керувати заборгованостями без ручної праці. Отримайте консультацію з архітектури обміну взаєморозрахунками: оцінимо ваш реєстр, підберемо оптимальний спосіб передачі та реалізуємо під ключ з документацією.