# Калькулятор коммерческих предложений в карточке сделки

> Шесть механик расчёта, три прайс-листа и запись состава в сделку одним нажатием — вместо Excel и повторного ввода руками. Расхождения расчёта и CRM закрыты.

Производство карнизов, жалюзи и штор

Убрать расчёт сложных изделий из Excel и повторный ввод состава в CRM: менеджер должен считать прямо в карточке сделки.

**Стек:** Локальное приложение Битрикс24 · BX24 JS SDK · placement в карточке сделки

## Что мешало

- Расчёт вёлся в Excel-файлах, у каждого менеджера в своей версии
- Состав изделия вводился в CRM повторно руками — и расходился с расчётом
- Разные типы изделий считаются по-разному: погонный метр, площадь, метраж ткани с коэффициентом сборки
- Три прайс-листа и потолок скидки жили в головах, а не в системе

## Что сделали

- Встроили калькулятор прямо в карточку сделки отдельным приложением
- Реализовали шесть механик расчёта под разные типы изделий, включая электрокарниз с фиксированной ценой привода
- Учли производственные допуски: округление габаритов вверх до технологического шага, надбавки за нестандартные размеры и скидку за объём
- Пороги и множители вынесли в конфигурацию — меняются без правки кода
- Прайс подставляется по отделу менеджера, переключается вручную, потолок скидки предупреждает о превышении
- Рассчитанный состав одним нажатием попадает на вкладку «Товары» с правильными единицами измерения
- Движок расчёта написан без ввода-вывода: одинаково работает в браузере и в юнит-тестах

## Что стало

- **6** — механик расчёта под разные изделия
- **3** — прайс-листа с автоподстановкой
- **1** — нажатие вместо ручного ввода состава
- **0** — зависимостей у движка расчёта

Менеджер считает и сразу записывает результат в сделку. Прайсы меняются правкой конфигурации, а не выкаткой кода. Отдельно спроектирована и задокументирована схема дальнейшего конвейера: калькулятор → заказ в 1С → обратные статусы.

## Чему это научило

Самое ценное здесь — вынесенная в конфигурацию бизнес-логика. Пока коэффициенты живут в коде, каждое изменение цены превращается в задачу разработчику.

## Что спрашивают про эту задачу

### Почему состав в CRM расходится с расчётом

Из-за двойного ввода. Менеджер считает в Excel, а потом переносит результат в сделку руками — и расходится либо цифра, либо единица измерения. Лечится тем, что расчёт и запись состава делает одно нажатие.

### Можно ли считать изделия, которые считаются по-разному

Да, это и была основная работа. Здесь шесть механик: погонный метр, площадь, метраж ткани с коэффициентом сборки, электрокарниз с фиксированной ценой привода и другие. Плюс производственные допуски: округление габаритов вверх до технологического шага и надбавки за нестандартный размер.

### Что важно спроектировать заранее

Вынести коэффициенты, пороги скидок и прайсы в конфигурацию, а не оставлять в коде: иначе каждое изменение цены превращается в задачу разработчику и выкатку. Движок расчёта стоит писать без ввода-вывода — тогда он одинаково работает и в браузере, и в тестах.

## Другие разборы

- [BI-отчёт по платежам в облачном Битрикс24](https://it-zarya.ru/cases/bi-payments/) — Дашборд по платежам в семи валютах там, где код внутрь портала положить нельзя. Обошли ловушку в связях данных.
- [Миграция справочников 1С → Битрикс24 без дублей](https://it-zarya.ru/cases/1c-b24-migration/) — Перенос справочников из 1С в Битрикс24: 639 компаний, 9 202 контакта, 15 024 реквизита — без ошибок и дублей. Повторный запуск дублей не создаёт.
- [CRM интернет-магазина на 11 000 сделок](https://it-zarya.ru/cases/crm-delicacies/) — Обязательные поля по стадиям, автокопирование данных клиента и починенный робот уведомлений. 2 816 сделок заполнены задним числом без рассылок клиентам.

## Похожая задача

Если узнали свою ситуацию — расскажите, что происходит у вас. Вернёмся с оценкой в часах и планом работ.

[Обсудить задачу](https://it-zarya.ru/contacts/) [Услуга: Битрикс24](https://it-zarya.ru/services/bitrix24/)

---

Источник: https://it-zarya.ru/cases/deal-calculator/ · IT-агентство «Заря» · itzarya@mail.ru
Markdown-версия любой страницы сайта — тот же адрес с `.md` на конце. Индекс для ассистентов: https://it-zarya.ru/llms.txt
