схема бизнес-процесса голосования с правом вето
Примеры автоматизации

Уровень Продвинутый

создание документа из шаблона в битрикс24

В любой CRM создание документов по шаблонам — это must-have. Схема стандартна:

  • Готовим шаблон с плейсхолдерами вида {MyCompanyRequisiteRqCompanyFullName}, {TotalSum~WZ=Y}.
  • В CRM пользователь нажимает кнопку «Создать документ».
  • Система подставляет данные из карточки и отдаёт готовый файл.
Проблема: пользователь сам выбирает шаблон.

А если у вас:

  • 6 точек продажи с разными подписантами и реквизитами?
  • Три варианта оплаты (1, 2 или 3 этапа) с разными процентами?
  • Есть дополнительные опции - доставка, сборка, доп.гаратия и пр.
И всё это комбинируется: 6 точек × 3 схемы = 18 шаблонов? а еще доставка = 36, а монтаж = 72! 😭😭😭

Пользователь видит эти варианты на экране и впадает в уныние.

Ручной выбор шаблона становится узким местом. Сегодня разберём, как автоматизировать сам выбор, как произвести математические расчеты, как выбрать нужные данные для заполнения плейсхолдеров в документе. А потом — почему этот подход упирается в потолок и что с этим делать.


Бизнес-сценарий: точки продаж, этапы оплаты и доп. условия

Условия:
Точки продаж: на юге и на севере города.

У каждого:

  • Свой адрес отгрузки.
  • Свой подписант (действует по доверенности).
  • Свои банковские реквизиты.
Схемы оплаты:
  • 100% одним платежом;
  • 2 этапа с произвольным (или НЕ произвольным) значением по этапам
  • 3 этапа
НДС выделяется в каждом платеже.

Данные для расчёта:
  1. Общая сумма сделки.
  2. Проценты по этапам (хранятся в множественном поле).

Что должно произойти автоматически:
  1. Юрист видит, что необходимо подготовить документы по сделке.
  2. CRM сама определяет: филиал, схему оплаты → выбирает единственно верный шаблон.
  3. CRM рассчитывает суммы этапов и НДС → подставляет в плейсхолдеры.
  4. CRM генерирует договор → прикрепляет к сделке.

Звучит как магия? Давайте собирать.


Зачем нужен Юрист в этой схеме, ведь мы занимаемся АВТОМАТИЗАЦИЕЙ?

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

Давайте будем реалистами - юрист нужен и полностью закрыть его задачи автоматизацией невозможно. Но этот специалист очень дорогой и он "расходует" деньги компании, а не зарабатывает их.

Поэтому главная задача - повысить производительность и максимально использовать его специальные знания на благо компании (с полным пониманием "за что" и почему "так дорого"), а не оплачивать по максимальной цене навыки копипастить, удалять лишнее и заполнять банковские реквизиты в документах.

Архитектура №1

Всё внутри CRM

Готовим инфраструктуру

Нам понадобятся:

1. В сделке:

  • стадия "подготовки документов"
  • поле с типом "список" - точка продаж;
  • поле с типом "число" и "множественное" для хранения значений % по этапам оплаты
  • поле с типом "файл", в которое будет помещен договор после его подготовки юристом

2. Смарт-процесс (или ЦРМ) "Оформление документов" с тремя стадиями (минимум для этого примера) - начало -> подготовка -> финал

В этом смарт-процессе должны быть дополнительные поля (также все поля, которые есть в сделке - контрагент, товары и т.п.):

  • количество этапов оплаты с типом "целое число"
  • платежи по этапам с типом "число" и "множественное"
  • 3 поля - "1 этап сумма", "2 этап сумма" и "3 этап сумма" для сохранения данных по каждому полу с типом "деньги"
  • НДС по этапам с типом "деньги" и "множественное"
  • 3 поля для сохранения суммы НДС каждого этапа по аналогии с суммами по этапам
  • поле с типом "файл" куда юрист поместит подготовленный договор
  • поля для хранения данных о доверенности и подписанте с типом "строка"

3. Журнал доверенностей с необходимыми полями (номер, дата выдачи, срок действия, ФИО поверенного в формате (полное, сокращенное). При создании журнала Вы можете настроить роботов для автоматического заполнения ФИО в различных вариантах написания, а сейчас использовать необходимое значение.

4. Глобальные константы с данными о сотруднике, который подписывает документы в определенной точке продаж (пункт выше может заменить необходимость создания такой константы)

5. Шаблоны документов (по числу комбинаций «точка × схема оплаты»). Загружаем в раздел «Шаблоны документов» CRM.

Данная задача многошаговая и ее описание можно было бы разложить на несколько статей.

Я воздержусь от полного описания настройки всех роботов и бизнес-процессов.

Ниже вы найдете описание архитектуры выполнения задачи с детальным разбором наиболее сложных (по моему мнению) моментов и по которым сложно найти хорошую документацию или развернутые описания.

Также для понимания смотрите эти статьи на сайте:

Сборка:

шаг за шагом в направлении цели

Приступим!

Настраиваем робота в сделке

На стадии "Оформление" делаем робота на создание элемента смарт-процесса.

Наша задача - при переводе сделки в эту стадию дать "работу" юристу.

При настройке робота Вам необходимо настроить карту сопоставления полей сделка -> смарт-процесс


Подготавливаем шаблоны

Создайте необходимые шаблоны договоров и загрузите их в Битрикс24.

Про плейсхолдеры и выбор значений написано немало и на сайте вендора много толковой информации по этому поводу.

Лайфхак - чтобы уменьшить количество шаблонов Вы можете создать переменную с типом "строка" и поместить туда текст пункта. В шаблоне сделать плейсхолдер {variable1} и в настройке бизнес-процесса генерации документа соединить переменную с этим плейсхолдером. В зависимости от стиля оформления ваших договоров такой вариант может сильно сократить необходимое количество шаблонов и/или уменьшить трудозатраты на обработку документа юристом

Создаем бизнес-процесс в смарт-процессе

1. Делаем блок обнуления переменных (параллельное выполнение):

  • количество этапов оплаты
  • суммы по этапам
  • сумма НДС по этапам
Зачем?
- В настройках записи значений (следующие этапы) мы должны выбрать настройку последовательной записи, а не перезаписи значений.

- Чтобы у юриста была возможность "откатить" расчеты и сделать их снова, нам нужно обнулить значения в поле и записать новое. Без обнуления в поле будет не 3 значения по этапам оплаты, а 6.

2. Проходим циклом (элемент в конструкциях) по полю этапов оплаты и:

  • Считаем общую сумму всех этапов оплаты и записываем в переменную (число)
  • считаем общее количество этапов и записываем значение в переменную (число)
  • считаем сумму этапа оплаты и также записываем значения в соответствующую переменную (множественная, число)
3. Проверяем (конструкция "условие") что значение в переменной с суммой этапов оплаты = 100. Если значение отличается - отправляем сообщение в тайм-лайн смарт-процесса и прерываем работу бизнес-процесса

4. Добавляем конструкцию "условие" и делаем 4 варианта (слева на право):
  • 1 этап
  • 2 этапа
  • 3 этапа
  • выход (на случай ошибки)
5. В вариантах с двумя и тремя этапами оплаты проводим расчет НДС.
Все записываем в переменные "1 этап сумма", "1 этап НДС", "2 этап сумма" и так далее.

ВАЖНО: НДС по последнему этапу считается как остаток от разницы между общей суммой и предыдущих этапов оплаты (не допускаем ошибки при округлении).

6. Получаем данные из списка Доверенности и сохраняем в полях смарт-процесса все необходимые для заполнения договора: Поверенный, номер, дата доверенности и др.

7. Сохраняем все значения из переменных в соответствующих полях смарт-процесса.

Делаем бизнес-процесс создания документа

Можно сделать ручную инициализацию или поставить на следующую за расчетами стадию смарт-процесса

1. Добавляем конструкцию "условия" и делаем следующие варианты:

  • точка 1 + 1 этап оплаты
  • точка 1 + 2 этапа оплаты
  • и т.д.
1. 2. Делаем настройку каждого условия с применением совпадения условий ("И") - точка = значение в поле "точка продажи" И количество этапов оплаты = 1 (или 2 или 3).

1.3. Добавляем робота по созданию документа из шаблона:

  • выбираем шаблон
  • заполняем карту сопоставления полей с плейсхолдерами
  • выбираем необходимые банковские реквизиты (я храню банковские реквизиты компании в Глобальных константах и при настройке создания документа в поле для выбора реквизитов указываю ту константу, которая соответствует условиям отбора).


Добавляем робота для передачи документа в сделку

Когда юрист проверил документ и "почистил" его, он сохраняет готовый документ в поле в смарт-процессе и меняет стадию на финал.

Мы ставим робота на положительный финал и передаем файл в сделку.

Можно расширить функционал и поставить задачу ответственному за сделку или отправить сообщение или еще что-то.

А теперь немного объяснений

Обнуление значений в поле

  1. Присваиваем новое значение - "Пусто"
  2. Обязательно говорим, что нам не нужно дополнять, а нужно перезаписать значение в поле

Считаем количество этапов оплаты

  1. Чтобы система поняла, что мы хотим совершить математическую операцию (в данном случае при каждом "прохождении" по множественному полю добавлять к значению переменной 1) в Битрикс 24 нужно поставить "=" и тогда появляется вот такое дополнительное окно с выбором значений

    выбираем переменную (она та же, что и "изменяемая" этим действием)
    прибавляем один (+1)

расчет НДС по этапу оплаты

Что мы видим в этой формуле:

  • вызов математического действия ("=")
  • общая сумма сделки (переменная 3)
  • значение, которое получил итератор при этом проходе - "{=A96709_79276_82833_20256:Value}"
  • ставка НДС (переменная 21).
Сейчас бы я конечно ставку НДС вывел в глобальную переменную, но на момент создания этого бизнес-процесса я не принял во внимание вероятность частого изменения этого значения. Признаю свою ошибку и прошу так не делать!

Что мы получили?

Менеджер:

  • не тратит время на взаимодействие с юристом
  • действует четко по сценарию

Юрист

  • Имеет свое рабочее пространство в системе
  • Не тратит время на выяснение условий сделки
  • В разы сократил свои трудозатраты на создание документов

Компания:

  • Значительное повышение производительности труда отдельных специалистов
  • структурированный подход при создании документов
  • Стандартизация рабочего процесса

Честный разбор

три недостатка «шаблонного» метода в любой crm системе

Недостаток №1

Размножение шаблонов

  • Сегодня у нас 6 шаблонов (3 филиала × 2 схемы).
  • Завтра добавился филиал в Новосибирске → х 3 шаблона.
  • Послезавтра новая схема оплаты (25/75) → ещё х 4 шаблона.
  • Через год у вас 100+ шаблонов, в которых невозможно ориентироваться.

Недостаток №2

Синхронизация изменений

Представьте: Вам обязательно нужно исправить определенный пункт в договоре. Этот пункт есть во всех 100 шаблонах.

  • Сотрудник открывает каждый файл.
  • Правит вручную.
  • Перезаливает в CRM.
  • Молится, чтобы нигде не ошиблись.

Недостаток №3

Тайм-аут при сложных документах

У вас много полей? 50, 80, 120 подстановок? Есть табличные части? CRM генерирует документ... 30 секунд, 120 секунд... А дальше - Тайм-аут. Документ не создан.

Объективности ради - эту проблему не сложно убрать в "коробке", но стоит ли такое решение этих денег?

Архитектура №2

Другой путь: документ как конструктор, а не как шаблон

А что, если мы откажемся от идеи «цельного шаблона»?

Идея: Хранить в базе данных текстовые фрагменты (клаузы, параграфы, пункты). Каждый фрагмент имеет:
  • ID
  • Текст
  • Метки (например: "реквизиты_москва", "этап_1", "ндс_ставка")
  • Условия применения (филиал = Москва И схема = 2 этапа)
Алгоритм:
1. CRM отправляет на ваш сайт-обработчик POST-запрос с данными сделки.
2. Обработчик:
  • Определяет филиал, схему оплаты, сумму.
  • Рассчитывает этапы и НДС.
  • Собирает документ как конструктор: берёт фрагмент №1 (шапка), затем фрагмент №2 (реквизиты филиала), затем N раз фрагмент №3 (тело этапа оплаты с подстановкой сумм), затем фрагмент №4 (подписи).
  • Склеивает в файл.
  • Возвращает готовый файл в CRM.
3, CRM прикрепляет файл к сделке.

Но об этом сценарии и о дополнительных возможностях вашей CRM-системы я расскажу в следующих циклах статей:

  • Зачем CRM «внешний мозг»? Архитектура сайта-обработчика для Битрикс24
  • Документы-конструктор: как уйти от 100 шаблонов к одному алгоритму
  • AI-ассистент в голосовании: когда робот становится помощником совета директоров
  • От заказа клиента к выпуску готовой продукции: архитектура ERP в вашей CRM-системе

Если вы узнали свою компанию в этом кейсе:

  • У вас 10+ шаблонов, которые отличаются одной фразой или реквизитами.
  • Юристы вручную правят даты и суммы в готовых PDF.
  • Вы боитесь менять типовую форму, потому что придётся править все копии.

Напишите мне. Я проанализирую ваш документооборот и скажу:

  • Достаточно ли вам «внутренней» автоматизации.
  • Или пора строить гибкий конструктор документов на своём обработчике.