Виджет «Формулы» автоматизирует вычисления в amoCRM: при переходе сделки на этап, а также при открытии карточки сделки, контакта или компании, он автоматически рассчитывает значения по заданным формулам и записывает результат в выбранные поля. Формулы могут быть как простыми (сложение, вычитание, умножение, деление), так и сложными — с логикой, условиями, датами, товарами и текстами. Это позволяет автоматически считать маржинальность, бонусы, стоимость услуг или другие показатели без ручного ввода, сокращая ошибки и экономя время сотрудников.
Почему это важно?
Автоматизация расчётов
исключает ошибки и ручной рассчет данных.
Экономия времени
менеджеры работают с готовыми цифрами, а не тратят время на подсчёты.
Снижение ошибок в отчётности
исключается человеческий фактор при подготовке аналитики.
Возможности
виджета
Поддержка сложных сценариев
Работа с любыми полями
Гибкие условия запуска
Виджет поддерживает расчёты как по стандартным, так и по дополнительным полям amoCRM, включая сделки, контакты и компании.
Формулы могут выполняться как при открытии карточки (сделки, контакта, компании), так и автоматически через Salesbot или триггер в воронке.
можно использовать логические формулы и условия для автоматического принятия решений
1. Перейдите в настройки воронки. 2. Выберите этап, где будет работать бот, и нажмите + Добавить триггер.
3. В списке выберите Salesbot → настройте условия → нажмите + Добавить нового бота. 4. В настройках бота перейдите в раздел Виджеты → выберите Формулы.
5. Нажмите на иконку карандаша.
6. Выберите поле, в которое будет записываться результат.
(например, «Цена товара» и «Себестоимость товара»).
После заполнения последнего поля результат автоматически появится в указанном поле.
⚠ Если результат не отобразился:
перезайдите в сделку, чтобы обновить данные.
Важное о формулах:
В формулах можно использовать любые математические операции:
сложение (+)
вычитание (-)
умножение (*)
деление (/)
Формула не ограничивается двумя переменными.
Допускается использование любого количества полей и значений, необходимых для вычисления результата.
3.Переменные в формулах
Если в формулах необходимо использовать постоянное значение, его можно задать через триггер:
Перейдите в бота с формулами.
Нажмите Настройка переменных.
3. Создайте новую переменную, указав:
Название (только латинские буквы).
Значение (число или текст).
После этого переменную можно использовать в формулах наравне с полями amoCRM.
Важно при работе с переменными:
Если переменная не является числом, преобразуйте её в числовой тип:
chislo(lead['Название поля с типом текст'])
Если переменная не является текстом, преобразуйте её в текстовый тип:
text(lead['Название поля с типом число']) Это необходимо для корректной работы формул и предотвращения ошибок при вычислениях.
4.Подсказки
В поле ввода формулы доступны подсказки с названиями полей, которые можно использовать в вычислениях. Чтобы вызвать подсказку, введите символ: "[" После этого появится выпадающий список доступных полей.
5.Приложение
Корректная работа с числами
Иногда amoCRM воспринимает значения как текст, из-за чего вместо сложения получается «склейка» (например: 10+14+5 = 10145).
Чтобы этого избежать, каждое значение нужно оборачивать в parseInt().
Пример: parseInt(lead['Сумма в договоре']) - parseInt(lead['Бюджет'])
Создание логических условий (if-else в одну строку)
Можно проверять значения полей и возвращать разные результаты.
Пример с условиями: lead['Расстояние до заказчика (в км)'] <= '50' ? '300р.' : '250р.'
Этот пример показывает вложенное условие (тернарный оператор) — когда внутри одного условия используется ещё одно. 🔹 Разбор формулы: lead['Расстояние до заказчика (в км)'] <= '10' ? '300р.' : (lead['Расстояние до заказчика (в км)'] <= '30' ? '1000' : '2000') 1. Проверяется условие:
если расстояние ≤ 10 км → результат «300р.».
2. Если первое условие не выполнено, проверяется второе:
если расстояние ≤ 30 км → результат «1000».
3. Если оба условия не выполнены:
результат по умолчанию → «2000».
По сути, это аналог «если – иначе если – иначе»:
До 10 км → 300р.
От 11 до 30 км → 1000
Больше 30 км → 2000
Иногда в результате вычислений может получиться число с большим количеством знаков после запятой. Чтобы ограничить их количество, используйте функцию .toFixed(x), где: x — это число знаков после запятой, которое должно остаться. Пример: (lead['Сумма'] / lead['Количество']).toFixed(2)
Если сумма = 105, количество = 7, то результат будет 15.00 (2 знака после запятой).
Иногда при сложении или других арифметических операциях значения могут "склеиваться" как текст Пример: 10 + 14 + 5 = 10145
вместо правильного результата 29.
Чтобы избежать этой ошибки, каждую переменную нужно преобразовать в число с помощью функции parseInt().
✔ Пример правильного использования:
parseInt(lead['Сумма в договоре']) - parseInt(lead['Бюджет']) В этом случае значения будут обрабатываться как числа, и результат получится корректным.
В какой момент происходит расчет по формулам ?
— При открытии сделки и при изменении полей в ней, когда сделка открыта у пользователя. Считаются по очереди сверху вниз.
6.Как найти id полей товаров
1. Перейдите в нужный список.
2. Нажмите на три точки (…) и выберите пункт Свойства списков.
3. Кликните по названию нужного поля. 4. В открывшемся окне отобразится ID поля 5. Скопируйте его и вставьте в настройки.
7.Генерация формул через ИИ
1.Перейдите в раздел Настройки. 2.Нажмите на иконку генерации формул.