
Обычно CRM-формы используются для получения заявок/информации от клиентов, но сегодня рассмотрим вариант их использования для сотрудников.
Например, организуем с помощью CRM-формы внутреннюю техподдержку.
Содержание
Смарт-процесс
Создадим смарт-процесс по Helpdesk с нужными полями. Для этого перейдем в CRM —> Настройки —> Список смарт-процессов.
Нажимаем Добавить.

Выбираем С чистого листа.

В основных настройках введите название и отметьте функции:
- Использовать в смарт-процессе свои стадии и канбан
- Использовать в смарт-процессе роботы и триггеры
- Использовать в смарт-процессе дизайнер бизнес-процессов

В привязке к элементам отметьте:
- Элементы CRM
- Задачи
- Шаблоны задач (если планируете использовать)

Сохраняем.
Далее создадим стадии. Это можно сделать в Канбане,

либо в настройках CRM (CRM —> Настройки —> Настройки CRM —> С чего начать —> Справочники)

Находим справочник созданного смарт-процесса и редактируем стадии.

Далее создайте поля смарт-процесса. Для этого нажмите на шестеренку и выберите пункт Настройка полей.

Создайте поля. В нашем примере обязательно нужны поля:
- E-mail — поле типа строка;
- Инициатор — поле типа Привязка к сотруднику.

CRM-форма
Теперь создадим CRM-форму. CRM —> Интеграции —> CRM-формы. Нажмите Добавить.

Добавьте поля из смарт-процесса. Нас в первую очередь интересует поле E-mail.


В пункте Сущности в CRM выберите сущность Смарт-процесс и непосредственно сам смарт-процесс HelpDesk. Это значит, что при заполнении формы создастся заявка в смарт-процессе HelpDesk.

В пункте Заголовок и кнопка можете указать соответствующие настройки. В Других настройках укажите название формы и Ответственного.
Форма готова:

БП определения сотрудника по E-mail
Добавляем автоматизацию. Идем в Роботы и в первом статусе добавляем бизнес-процесс.


В основных настройках укажите название процесса.

Блок-схема бизнес-процесса

Переменные
Создайте переменную Сотрудник. В нее мы запишем найденного по E-mail сотрудника.

Действия БП

PHP код: определение сотрудника по email
Действие PHP код.
- Заголовок — PHP код: определение сотрудника по e-mail;
- PHP код:
global $USER;
$useremail = '{{E-mail}}';
$by = 'id';
$order = 'asc';
$x = $USER->GetList($by, $order, array('email' => $useremail))->GetNext();
$this->SetVariable('User', 'user_'.$x['ID']);
Сотрудник
Действие Запись в отчет.
- Заголовок — Сотрудник;
- Текст — {=Variable:User}/{=Variable:User > printable};
- Загрузить отчет для доступа из бизнес-процесса — оставляем пустым.


Изменение инициатора
Действие Изменение документа.
- Заголовок — Изменение инициатора;
- Поле — Инициатор
- Значение — {=Variable:User};
Готово! Теперь при заполнении CRM-формы создастся заявка в смарт-процессе HelpDesk и по E-mail определится Инициатор.
Далее вы можете автоматизировать работу с самой заявкой. Уведомить Ответственного и Инициатора, поставить задачи и т.д.