Генерируем документ по данным из SberCRM в MoreDOC


Задача

При переходе сделки в SberCRM на определенный этап — создавать документ на оплату счета по шаблону в MoreDOC и возвращать в сделку ссылку на документ

Подключение сервисов

Первым делом — необходимо подключить сервисы в MoreKIT

Подключение SberCRM

Подключим сервис SberCRM в MoreKIT. Для этого перейдем в раздел добавления сервиса в MoreKIT и найдем SberCRM

После нажатия на кнопку Добавить произойдет редирект на страницу SberCRM, вводим логин и пароль и нажимаем Войти

После добавления сервиса — он отобразится в списке сервисов

Если перейти в сервис — увидим его статус. Если авторизация выполнена успешно, статус сервиса будет Готово

Подключение MoreDOC

В кабинете MoreDOC переходим в раздел Настройки, сверху увидим раздел API, нажимаем на кнопку Добавить для генерации API-ключа

Даем ключу название и нажимаем Применить

Копируем API ключ и идем в MoreKIT

Ищем в списке сервисов MoreDOC и вставляем API-ключ

Создание процесса в MoreKIT

Далее — создадим процесс в MoreKIT, на который будут поступать данные из SberCRM

Нажимаем на кнопку Создать процесс, тип процесса выбираем Другое

Далее — копируем ссылку из первого блока, эта ссылка — принимающий URL процесса MoreKIT, на него нужно отправить данные из SberCRM

Процесс в MoreKIT

Настройка отправки из SberCRM

Следующим шагом — настроим отправку данных при смене статуса из SberCRM

Создание исходящей интеграции

Следующим шагом — создадим настройки для исходящих из SberCRM данных

Необходимо перейти в Настройки —> Настройка интеграции —> Исходящие интеграции

Нажимаем на кнопку Новая исходящая интеграция

Создание исходящей интеграции

Здесь присваиваем название, системное имя и описание, что будет делать интеграция

Галочками отмечаем, какие данные нужны для формирования счета

Отмечаем данные

В параметрах интеграции указываем ссылку на созданный процесс в MoreKIT

Ссылка на процесс в MoreKIT

Далее — заходим в раздел Автоматизации, здесь выбираем событие Стадия сделки изменена и тип действия Исходящая интеграция

Автоматизация

Теперь необходимо проверить, что данные приходят и узнать название нужного статуса, при переходе на который должен будет формироваться документ. Сдвинем сделку на нужную стадию и перейдем в События в схеме MoreKIT

Здесь должны отобразиться данные, которые отправляются из сделки SberCRM

Настройка шаблона в MoreDOC

Теперь необходимо создать и настроить шаблон на стороне MoreDOC

В кабинете MoreDOC заходим во вкладку Шаблоны, создаем новый шаблон, обязательно указываем Общий доступ: просмотр, чтобы после формирования счета можно было просматривать документ

Подробнее о шаблонах и синтаксисе можно прочитать в документации MoreDOC

Шаблон будет выглядеть следующим образом

В шаблоне будут использованы следующие маски (ключи к данным будут указаны позже в процессе MoreKIT):

  • Описание счета будет: Счет № LIC-{{counter}} от {{additional.doc_date|format:"%d.%m.%y"}}
  • Данные о заказчике:
    Заказчик: {{additional.organization_name}}
    ИНН заказчика: {{additional.organization_inn}}
  • Вывод в таблицу списка продуктов из сделки SberCRM с помощью цикла {% for %}
{% for item in additional.products %}
{{forloop.counter}}
{{item.name}}
{{item.capacity}}
{{item.price}}
{{item.capacity|mult:item.price}}
{% endfor %}

Подробнее про циклы и фильтры описано в документации по настройкам шаблона

При переборе товаров автоматически будет создана таблица, записаны позиции и будет произведен расчет цены товара Х количество товара с помощью фильтра |mult

Настройка процесс в MoreKIT

На стороне процесса MoreKIT схема будет выглядеть следующим образом:

Данная схема работает следующим образом:

  • Проверяет статус сделки в SberCRM, в данном примере статус Счет выставлен = billPaid
  • Создает документ с дополнительными данными о товарах и клиенте
  • Формирует текст созданного счета для передачи его назад в сделку
  • Передает ссылку на счет в поле Описание

Описание блоков схемы

#8 Проверка — проверяет статус сделки из входящих данных, чтобы создавать счет только тогда, когда сделка переходит на этап Счет Выставлен

#4 Создать документ — создает документ в MoreDOC, при формировании документа передаются дополнительные данные по маскам шаблона.
Например, в шаблоне используется маска {{additional.organization_inn}} к отправляемому ключу organization_name

Текст переменной

#14 Создать переменную — формируем текст для поля Описание в сделку SberCRM о созданном счете

#13 Обновить объект — обновляем поле описание в сделке SberCRM, возвращая ссылку и краткое описание по созданному счету

Проверка

Переместим сделку в SberCRM еще раз на нужную стадию и проверим, создастся ли счет

После перемещения сделки — обновим страницу, поле Описание должно быть заполнено ссылкой на созданный счет

Как видим — ссылка появилась, перейдем по ней и посмотрим созданный счет

Как видим — документ есть, данные подставились

Событие выполнено без ошибок

Также в кабинете MoreDOC можно найти созданный документ

Документ создался, задача выполнена успешно

Подведем итоги

В данной статье рассмотрели, как можно сформировать документ на примере SberCRM и MoreDOC. Был создан документ по шаблону, в документ передалась информацию об организации сделки и список товаров, прикрепленных к сделке, а также в сделку возвращена ссылка на созданный документ