БП Согласование контрагента
Кейс: Все клиенты, с которыми заключаются договоры, должны проходить проверку на судебные дела и задолженности, и в зависимости от этого им присваивается статус согласования.
Решение: Создать в Компании необходимые поля для установки статуса согласования. Сформировать универсальный список для учета всех согласований в одной рабочей области. Создать бизнес-процесс согласования.
Содержание
Описание процесса Согласование контрагента (на основе Компаний CRM)
В компании создано поле типа Список (Согласован/Отклонен/На проверке/Запрос реквизитов/Нет решения/Срок решения истек) с наименованием Решение юриста. Также создано поле Срок решения юриста типа Дата и текстовое поле Комментарий юриста.
Дополнительно создан универсальный список Решения юриста, он привязан к контрагенту и отображается в Компании в виде вкладки. Это позволяет оперативно посмотреть все решения по Компании. В него вносятся решения по всем контрагентам с датой, временем, комментарием и ФИО юриста.
- При запуске процесса проверяется значение поля Решение юриста.
- Если значение На проверке, то инициатору направляется сообщение, что контрагент уже на проверке. Процесс завершается.
- Если значение Согласован или Отклонен, то инициатору направляется сообщение, что решение по контрагенту еще актуально. Процесс завершается.
- Если значение Запрос реквизитов, то процесс завершается, т.к. у ответственного должно быть задание о заполнении реквизитов контрагента и он его еще не выполнил.
- Если значение Нет решения или Срок решения истек, то процесс идет дальше.
- Проверка заполненности реквизитов Компании
- Если реквизиты не заполнены, то статус решения меняется на Запрос реквизитов и инициатору направляется задание по заполнению реквизитов. Когда он его выполняет, снова происходит проверка заполненности реквизитов.
- Если реквизиты заполнены, процесс идет дальше.
- Всем сотрудникам Юридического отдела направляется задание по согласованию контрагента со всеми данными (Наименование, ИНН, КПП и т.д.) и прошлым комментарием.
- В поле Решение юриста устанавливается статус На проверке.
- Когда один из сотрудников Юридического отдела принимает решение по контрагенту и устанавливает срок решения :
- У других сотрудников отдела задание завершается.
- Все данные заносятся в созданные поля.
- Данные заносятся в универсальный список.
- Запускается процесс смены статуса Решения юриста по окончанию срока.
- Инициатору направляется сообщение с решением.
Процесс запускается:
- Вручную из Компании
- Автоматически из Сделки при переходе в статус Согласование контрагента.
Создание полей в Компании
Для удобства и быстроты определения статуса контрагента создадим в Компании необходимые поля. Для этого перейдем CRM —> Настройки —> Настройки форм и отчетов —> Пользовательские поля —> Компания —> Список полей.


Нажимаем кнопку Добавить поле. Заполняем наименование и Тип поля. На вкладке Список вводим значения списка. Сохраняем и переходим к созданию следующего поля.
- Решение юриста — поле типа Список (Согласован/Отклонен/На проверке/Запрос реквизитов/Нет решения/Срок решения истек);
- Срок решения юриста — поле типа Дата;
- Комментарий юриста — поле типа Строка.
В карточке Компании необходимо разместить созданные поля. Можно создать отдельный блок или добавить к уже существующим. Для размещения нажмите внизу любого блока Выбрать поле и перетащите поле в нужное место.
Переходим к созданию списка.

Создание универсального списка

Создадим универсальный список для учета согласований по всем контрагентам в одном месте. Для этого перейдем Сервисы —> Списки —> Создать новый.
Вводим название и включаем поддержку бизнес-процессов.
Если у вас нет универсальных списков, то можно использовать модуль Бизнес-процессы Живой ленты.
На вкладке подписи меняем элемент на решение. Разделы нам не понадобятся, их можно не трогать. На вкладке Доступ выставляем нужные вам права. Сохраняем и переходим к настройке полей списка.


Идем в созданный список, справа сверху нажимаем на кнопку Действия и выбираем пункт Настроить поля.
Далее нажимаем кнопку Добавить поле и по аналогии, как мы создавали поля в Компании, создаем их в Списке. Нам нужны поля:
- Название — обязательное поле типа Название;
- Компания — обязательное поле типа Привязка к сущности CRM (Доступная сущность – оставляем только Компанию, устанавливаем галочку Показать в карточке CRM);
- Решение — поле типа Список (значения списка Согласован/Отклонен/На проверке/Нет решения/Срок решения истек);
- Срок решения — поле типа Дата;
- Комментарий — поле типа HTML/текст;
- Дата решения — поле типа Дата создания;
- Юрисконсульт — поле типа Кем создан;
- Кто изменил — поле типа Кем изменен;
- Дата изменения — поле типа Дата изменения;

Поля настроили, теперь приведем отображение списка к удобному виду. Для этого в самом списке нажмем на шестеренку слева, перед наименованиями колонок.

Оставим только самые важные поля, остальные скроем. Также в самом списке можно менять порядок колонок , для этого нужно просто зажать мышкой название колонки и перетащить в нужное место.

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

Бизнес-процесс Согласование контрагента
Основу мы подготовили, теперь перейдем к самому интересному – автоматизации 🙂
Создание Бизнес-процесса
Для создания бизнес-процесса перейдем CRM —> Настройки —> Роботы и бизнес-процессы —> Бизнес-процессы.


Переменные бизнес-процесса

Переменные Решение и Срок решения создадим позже в действии бизнес-процесса.

ИНН
- Идентификатор — inn;
- Название — ИНН;
- Тип — Строка.

КПП
- Идентификатор — kpp;
- Название — КПП;
- Тип — Строка.
Действия бизнес-процесса
Кто запустил
Залогируем кто запустил процесс. Для этого выберем действие Запись в отчет.
- Заголовок — Инициатор;
- Текст — {=Template:TargetUser};
- Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.
Для выбора запустившего процесс наберите равно в поле Текст, откроется меню, перейдите в Системные и выберите соответствующий пункт.


Текущее решение юриста
Залогируем текущее решение юриста.
- Заголовок — Текущее решение юриста;
- Текст — {{Решение юриста}},
Срок действия: {{Срок решения юриста}},
Комментарий: {{Комментарий юриста}}; - Загрузить отчет для доступа из бизнес-процесса — устанавливаем галочку.
Далее нам в зависимости от текущего статуса процесс будет выполнять разные действия. Выбираем конструкцию Условие и прописываем варианты.

На проверке
На проверке
- Заголовок — На проверке;
- Тип условия — Поле документа;
- Поле документа — Решение юриста;
- Условие — равно На проверке.


Уведомление пользователя
- Заголовок — Уведомление пользователя;
- Отправитель уведомления — Сотрудник на ваш выбор;
- Получатель уведомления — {=Template:TargetUser} — это сотрудник, запустивший процесс;
- Текст уведомления для сайта — Клиент [url=/crm/company/details/{{ID}}/]{{Название компании}}[/url] уже находится на проверке;
- Тип уведомления — персонализированное или от системы — на ваш выбор.
Сообщение в живую ленту
Заполняется аналогично с уведомлением.


Прерывание процесса
- Заголовок — Прерывание процесса;
- Текст статуса — Выполнение прервано;
- Удалить данные процесса — Да.
Согласован или Отклонен
Согласован или Отклонен
- Заголовок — “Согласован” или “Отклонен”;
- Тип условия — Поле документа;
- Поле документа — Решение юриста;
- Условие — равно Согласован или Отклонен.


Уведомление пользователя
- Заголовок — Уведомление пользователя;
- Отправитель уведомления — Сотрудник на ваш выбор;
- Получатель уведомления — {=Template:TargetUser} — это сотрудник, запустивший процесс;
- Текст уведомления для сайта — Решение по клиенту [url=/crm/company/details/{{ID}}/]{{Название компании}}[/url] еще актуально и действует до {{Срок решения юриста}}.
Решение: {{Решение юриста (текст)}}
Комментарий: {{Комментарий юриста}}; - Тип уведомления — персонализированное или от системы — на ваш выбор.
Прерывание процесса
- Заголовок — Прерывание процесса;
- Текст статуса — Выполнение прервано;
- Удалить данные процесса — Да.

Запрос реквизитов

Запрос реквизитов
- Заголовок — Запрос реквизитов;
- Тип условия — Поле документа;
- Поле документа — Решение юриста;
- Условие — равно Запрос реквизитов.
Прерывание процесса
- Заголовок — Прерывание процесса;
- Текст статуса — Выполнение прервано;
- Удалить данные процесса — Да.

Нет решения или Срок решения истек

Нет решения или Срок решения истек
- Заголовок — “Нет решения” или “Срок решения истек”;
- Тип условия — Поле документа;
- Поле документа — Решение юриста;
- Условие – равно Нет решения или Срок решения истек.
В этой ветке ничего не происходит.
Цикл

Цикл
Выполняет свои поддействия до тех пор, пока выполняется заданное условие. т.е. в данном случаем пока ИНН не заполнен.
- Заголовок — Цикл;
- Тип условия — Значение переменной;
- Свойство или переменная — ИНН;
- Условие — равно;
- Значение — не заполнено.


Информация о реквизите организации
Действие Информация о реквизите.
- Заголовок — Информация о реквизите Организация;
- Шаблоны – Организация.
Запись ИНН и КПП
Действие Изменение переменных.
- Заголовок — Запись ИНН и КПП;
- Переменная — ИНН;
- Значение — выбирается из дополнительных результатов в предыдущем действии — {=A48489_20917_38662_13057: RQ_INN};
- Переменная — КПП;
- Значение — выбирается из дополнительных результатов в предыдущем действии — {=A48489_20917_38662_13057: RQ_KPP}.


Вариант для коробки

ИНН
Действие PHP-код — есть только в коробочной версии.
- Заголовок — ИНН;
- PHP-код:
CModule::IncludeModule(‘crm’);
$requisite = new \Bitrix\Crm\EntityRequisite();
$rs = $requisite->getList(array(
“filter” => array(“ENTITY_ID” => {{ID}}, “ENTITY_TYPE_ID” => CCrmOwnerType::Company)));
if ($ar = $rs->Fetch())
//Установка значения переменной
$this->SetVariable(‘inn’, $ar[‘RQ_INN’]);
КПП
Действие PHP-код — есть только в коробочной версии.
- Заголовок — КПП;
- PHP-код:
CModule::IncludeModule(‘crm’);
$requisite = new \Bitrix\Crm\EntityRequisite();
$rs = $requisite->getList(array(
“filter” => array(“ENTITY_ID” => {{ID}}, “ENTITY_TYPE_ID” => CCrmOwnerType::Company)));
if ($ar = $rs->Fetch())
//Установка значения переменной
$this->SetVariable(‘kpp’, $ar[‘RQ_KPP’]);


ИНН, КПП
Действие Запись в отчет.
- Заголовок — ИНН, КПП;
- Текст –
ИНН: {=Variable:inn_printable}
КПП: {=Variable:kpp_printable}
- Загрузить отчет для доступа из бизнес-процесса — ставим галочку.
Далее в зависимости от того заполнен ИНН или нет процесс разветвляется. Выбираем конструкцию Условие и прописываем варианты.

ИНН пустой
ИНН пустой
- Заголовок — ИНН пустой;
- Тип условия — Значение переменной;
- Свойство или переменная — ИНН;
- Условие — равно;
- Значение — не заполнено.


Смена Статуса "Запрос реквизитов"
Действие Изменение полей документа.
- Заголовок — Смена статуса “Запрос реквизитов”;
- Поле — Решение юриста;
- Значение — Запрос реквизитов.
Уведомление пользователя
- Заголовок — Уведомление пользователя;
- Отправитель уведомления – Сотрудник на ваш выбор;
- Получатель уведомления — {=Template:TargetUser};
- Текст уведомления для сайта — Невозможно отправить клиента [url=/crm/company/details/{{ID}}/]{{Название компании}}[/url] на проверку. Заполните ИНН и КПП;
- Тип уведомления — персонализированное или от системы – на ваш выбор.


Заполнение ИНН и КПП
Действие Ознакомление с документом.
- Заголовок — Заполнение ИНН и КПП;
- Ознакомить пользователей — {{Ответственный}};
- Название задания — Невозможно отправить клиента на согласование;
- Описание задания — Заполните ИНН и КПП в реквизитах у клиента [url=/crm/company/details/{{ID}}/]{{Название компании}}[/url]
Для этого перейдите к документу и отредактируйте реквизиты.
- Должны ознакомиться — Любой сотрудник;
- Устанавливать текст статуса — Нет;
- Текст кнопки в задании — Заполнено;
- Показывать поле ввода комментария — Нет;
- Обязательность комментария — Нет;
- Период ознакомления — 10 минут;
- Ограничить доступ — Нет;
- Тип делегирования — Всем сотрудникам.
ИНН заполнен
ИНН заполнен
- Заголовок — ИНН заполнен;
- Тип условия — Значение переменной;
- Свойство или переменная — ИНН;
- Условие — равно;
- Значение — заполнено.

Здесь цикл заканчивается.

Уведомление пользователя
- Заголовок — Уведомление пользователя;
- Отправитель уведомления — Сотрудник на ваш выбор;
- Получатель уведомления — {{Ответственный}};
- Текст уведомления для сайта — Клиент [url=/crm/company/details/{{ID}}/]{{Название компании}}[/url] отправлен на проверку;
- Тип уведомления — персонализированное или от системы – на ваш выбор.
Уведомление юристу
- Заголовок — Уведомление юристу;
- Отправитель уведомления — {{Ответственный}};
- Получатель уведомления — Юридический отдел: Все сотрудники отдела [D91];
- Текст уведомления для сайта — Необходимо согласовать клиента [url=/crm/company/details/{{ID}}/]{{Название компании}}[/url]
ИНН: {=Variable:inn_printable}
КПП: {=Variable:kpp_printable}Данные по предыдущим решениям: {{Решение юриста (текст)}}
Действовало до {{Срок решения юриста}}
{{Комментарий юриста}}; - Тип уведомления — персонализированное или от системы — на ваш выбор.


Смена статуса "На проверке"
Действие Изменение полей документа.
- Заголовок — Смена статуса “На проверке”;
- Поле — Решение юриста;
- Значение — На проверке.
Запрос согласования контрагента
Действие Запрос дополнительной информации.
- Заголовок — Запрос согласования клиента;
- Заполняют сотрудники — Юридический отдел: Все сотрудники отдела [D91];
- Название задания — Согласование клиента;
- Описание задания — Согласуйте клиента [url=/crm/company/details/{{ID}}/]{{Название компании}}[/url]
ИНН: {=Variable:inn_printable}
КПП: {=Variable:kpp_printable} - Текст кнопки в задании — Сохранить;
- Показывать поле ввода комментария — Да;
- Обязательность комментария — Да;
- Метка для поля комментария — Комментарий;
- Устанавливать текст статуса — Нет.


Добавим переменные Решение и Срок решения в запросе.
Решение
- Идентификатор — reshenie;
- Название — Решение;
- Тип — Список;
- Обязательный — ставим галочку;
- Варианты значений:
[v1]Согласовать
[v2]Отклонить

Срок решения
- Идентификатор — srok;
- Название — Срок решения;
- Тип — Дата;
- Обязательный — ставим галочку;
- Значение по умолчанию — =Dateadd({=System:Date}, “3m”) — Время сервера.

В зависимости от решения юриста процесс разветвляется. Проверяем решение юриста:

Контрагент согласован юристом

Согласован
- Заголовок — Согласован;
- Тип условия — Значение переменной;
- Свойство или переменная — Решение;
- Условие — равно;
- Значение — Согласовать.
Устанавливаем статус "Согласован"
Действие Изменение полей документа.
- Заголовок — Устанавливаем; статус “Согласован”;
- Поле — Решение юриста;
- Значение — Согласован.


Создание элемента списка
Действие Создание элемента списка.
- Заголовок — Создание элемента списка;
- Тип документа — Решения юриста;
- Юрисконсульт — выбираем юриста, который принимал решение — {=A15174_17681_68392_36649: InfoUser};
- Название — {{Название компании}};
- Компания — {{ID}};
- Решение — Согласован;
- Срок решения — {=Variable:srok};
- Комментарий — выбираем комментарии юриста из решения — {=A15174_17681_68392_36649: Comments}


Контрагент отклонен юристом

Отклонен
- Заголовок — Отклонен;
- Тип условия — Значение переменной;
- Свойство или переменная — Решение;
- Условие — равно;
- Значение — Отклонить.
Устанавливаем статус "Согласован"
Действие Изменение полей документа.
- Заголовок — Устанавливаем; статус “Отклонен”;
- Поле — Решение юриста;
- Значение — Отклонен.


Создание элемента списка
Действие Создание элемента списка.
- Заголовок — Создание элемента списка;
- Тип документа — Решения юриста;
- Юрисконсульт — выбираем юриста, который принимал решение — {=A15174_17681_68392_36649: InfoUser};
- Название — {{Название компании}};
- Компания — {{ID}};
- Решение — Отклонен;
- Срок решения — {=Variable:srok};
- Комментарий — выбираем комментарии юриста из решения — {=A15174_17681_68392_36649: Comments}
Разветвление заканчивается и процесс идет дальше.
Выставление срока решения и комментария
Действие Изменение полей документа.
- Заголовок — Выставление срока решения и комментария;
- Поле — Срок решения юриста;
- Значение — {=Variable:srok};
- Поле — Комментарий юриста;
- Значение — выбираем комментарии юриста из решения — {=A15174_17681_68392_36649: Comments}.


Параметры решения юриста
Действие Запись в отчет.
- Заголовок — Параметры решения юриста;
- Текст — Статус: {{Решение юриста}}; Срок: {{Срок решения юриста}}; Комментарий: {{Комментарий юриста}};
- Загрузить отчет для доступа из бизнес-процесса — ставим галочку.
Уведомление пользователя
- Заголовок — Уведомление пользователя;
- Отправитель уведомления — {=A15174_17681_68392_36649: InfoUser};
- Получатель уведомления — {{Ответственный}};
- Текст уведомления для сайта — Решение по клиенту [url=/crm/company/details/{{ID}}/]{{Название компании}}[/url]: {{Решение юриста}}
Комментарий: {{Комментарий юриста}}
Срок решения: {{Срок решения юриста}}; - Тип уведомления — персонализированное или от системы — на ваш выбор.


Запись события в CRM
Действие Запись события в crm.
- Заголовок — Запись события в crm;
- Тип события — Информация;
- Текст сообщения — {=A15174_17681_68392_36649: InfoUser > friendly}
Решение по клиенту {=Document:TITLE_PRINTABLE}: {{Решение юриста}}
Комментарий: {{Комментарий юриста}}
Срок решения: {{Срок решения юриста}}.
Далее запускаем процесс ожидания смены статуса (этот БП нужно создать, рассмотрим его создание ниже). Процесс нужен для того, чтобы по истечению срока решения статус контрагента изменился.
Запуск бизнес-процесса ожидания смены статуса
Действие Запуск бизнес-процесса для указанного документа.
- Заголовок — Запуск бизнес-процесса ожидания смены статуса;
- ID документа — {{ID}};
- Сущность — Компания;
- Тип документа — Компания;
- Шаблон — Ожидание смены статуса.

Бизнес процесс Ожидание смены статуса


Пауза
Действие Пауза в выполнении.
- Заголовок — Пауза в выполнении;
- Режим — Время
{{Срок решения юриста}};
- Дата — Время сервера.
Смена статуса на "Срок решения истек"
Действие Изменение полей документа.
- Заголовок — Смена статуса на “Срок решения истек”;
- Поле — Решение юриста;
- Значение — Срок решения истек.


Запись в отчет
Действие Запись в отчет.
- Заголовок — Запись в отчет;
- Текст — Срок решения юриста истек;
- Загрузить отчет для доступа из бизнес-процесса — ставим галочку.
Как импортировать шаблон бизнес-процесса
Перейдем CRM —> Настройки —> Роботы и бизнес-процессы —> Бизнес-процессы.


Далее Компания —> Список шаблонов —> Добавить шаблон. Вводим наименование процесса, сохраняем и переходим к импорту.
Когда параметры указаны и перед нами пустой шаблон, нажимаем кнопку Импорт в верхнем меню.

