Налаштування лімітів кредитування для B2B-клієнтів у 1С-Бітрікс
Кредитний лімід — це максимальна сума неоплачених замовлень, яку компанія може мати одночасно. Якщо лімід перевищений, нові замовлення не приймаються до погашення боргу. Без цієї перевірки в Бітриксі портал приймає замовлення навіть від клієнтів з уже накопленою заборгованістю вище допустимої.
Де зберігаються дані про ліміти
Бітрікс не має вбудованого механізму кредитних лімітів — це дані з бухгалтерської системи. Джерело даних — 1С. Синхронізація за схемою:
1С експортує JSON/XML → агент Бітрікса читає файл або запитує REST-сервіс → дані пишуться в Highload-блок b2b_credit_status.
Структура Highload-блока:
| Поле | Опис |
|---|---|
UF_COMPANY_ID |
ID компанії в Бітриксі |
UF_1C_COMPANY_ID |
Код контрагента в 1С |
UF_CREDIT_LIMIT |
Встановлений лімід |
UF_USED_AMOUNT |
Використана сума (неоплачені замовлення) |
UF_OVERDUE_AMOUNT |
Простроченна заборгованість |
UF_OVERDUE_DAYS |
Днів прострочки |
UF_BLOCK_ORDERS |
Прапор блокування замовлень |
UF_UPDATED_AT |
Час останної синхронізації |
Перевірка при оформленні замовлення
Обробник подій OnBeforeSaleOrderAdd:
- Отримуємо компанію поточного користувача з
b2b_company_users - Читаємо запис
b2b_credit_statusдля цієї компанії - Якщо
UF_BLOCK_ORDERS= true або (UF_USED_AMOUNT+ сума нового замовлення) >UF_CREDIT_LIMIT— додаємо помилку, замовлення не створюється - Текст помилки: «Перевищено кредитний лімід. Доступно: X грошових одиниць. Заборгованість: Y грошових одиниць».
Для VIP-клієнтів з безлімідним кредитом — поле UF_CREDIT_LIMIT = 0, у перевірці обробляємо як «без обмежень».
Відображення ліміду в кабінеті
У особистому кабінеті B2B-клієнта віджет з актуальним станом ліміду: прогрес-бар (використано/доступно), сума прострочки якщо є, дата оновлення даних. Якщо дані оновлювалися більше 12 годин тому — позначка «Дані можуть бути застарілими».
При наявності блокування — попередження в шапці кожної сторінки кабінету. Кнопка «Оформити замовлення» в кошику заміняється на «Зв'яжіться з менеджером для зняття блокування» зі посиланням на контакти.
Синхронізація й актуальність даних
Агент оновлення запускається кожні 2-4 години через CAgent::AddAgent. Додатково — подійний тригер: при зміні статусу замовлення на «Оплачено» в Бітриксі (з 1С через вебхук) — примусово оновлюємо запис клієнта.
Графіки виконання
Налаштування сховища й перевірки при оформленні: 1 тиждень. З синхронізацією з 1С і віджетом у кабінеті: 2-3 тижні.







