Мероприятия

Урок 35 из 39

50 мин

В этом уроке – настройка автоматизации по смарт-процессу мероприятий.

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

Рабочий процесс по мероприятиям выглядит так:

  • руководитель создает мероприятие, заполняет ключевые поля и передает его в работу Куратору;
  • Куратор назначает Лидера и организовывает набор волонтеров;
  • За 4 дня до мероприятия - контрольная точка: набрали нужное количество регистраций волонтеров или нет;
  • После проведения мероприятия нужно проконтролировать отчеты от волонтеров, система начислит им баллы исходя из параметров мероприятия.

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

Автоматизация мероприятий

26 мин

1) ПОДГОТОВКА К МЕРОПРИЯТИЮ

Итак, начинается все с руководителя. Он создает новое мероприятие, заполняет данные и переводит его на стадию «Подготовка», где и создадим первый шаблон бизнес-процесса.

Реализуем вот такие требования:

  • Постановка задачи Куратору от руководителя на подготовку к проведению мероприятия. Срок выполнения – 2 рабочих дня.
  • После выполнения задачи мероприятие должно перейти на стадию "Набор".

Кроме бизнес-требований, которые формулирует заказчик, в решении важно учитывать "технические" моменты. Это то, что должен понимать эксперт по Битрикс24, применять в решениях, предлагать заказчику как best practices.

Покажем реализацию технических задач:

  • проверку важных данных;
  • удобные уведомления;
  • проверку заполнения полей;
  • полноту описания задач и связь задачи с мероприятием;
  • защиту от нежелательного повторного выполнения автоматики.

Проверка данных

Иногда важно убедиться, что данные не только заполнены, но и значения указаны корректно.

Дата проведения мероприятия - не в прошлом

Начнем шаблон БП вот такой схемой:

В шаблоне проверяем, что дата проведения мероприятия указана не в прошлом. Почему это важно?

Может сработать «человеческий фактор»: сотрудник по ошибке укажет дату в прошлом. От даты проведения мероприятия мы вычисляем значения - сроки выполнения задач, контрольную точку в наборе участников и т.д. Если дата будет указана в прошлом, – «все сломается».

Проверяйте корректность данных

Если в БП пришли некорректные данные, от которых зависит выполнение автоматики, стоит прервать процесс и уведомить об этом причастных.

При этом у пользователей должна быть возможность запустить дальнейшее выполнение автоматики после исправления.

Ссылки в тексте уведомлений

Роботы создают уведомления со ссылками на элементы смарт-процессов, а действия в дизайнере бизнес-процессов - нет.

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

Полезно

Добавляйте ссылки на объекты Битрикс24 в тексте уведомлений. Это и просто реализовать, и сильно повышает удобство работы пользователей, так что must have.

Действие "Сообщение соц.сети" на схеме выше настроено следующим образом:

Пользователь получит вот такое уведомление со ссылкой:

Задача на подготовку и смена стадии

Если с данными все хорошо, ставим задачу Куратору на подготовку. Рабочий процесс такой: Куратор должен убедиться, что компания сможет принять участие и назначить Лидера – ответственного за работу волонтеров на площадке.

Лидер – это обязательное поле, используется в дальнейшей автоматизации, поэтому ранее его настроили обязательным для заполнения.

Этот блок реализуем по классической схеме – ставится задача, при этом в настройке действия указывается опция «Остановить процесс на время выполнения задачи».

Когда задача будет завершена, БП пойдет дальше и выполнит смену стадии.

Помните! БП не учитывает настройки обязательных полей

Бизнес-процесс сменит стадию, даже если обязательное для заполнения поле пустое!

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

После исправления сотрудник сам перемещает элемент на следующую стадию. Можно реализовывать и повторную постановку задачи с автоматической сменой стадии (или использовать другие инструменты для автодвижения), если это актуально для конкретного рабочего процесса. В нашем примере это избыточно, дубли задач будут мешать в отчётности. Считаем ситуацию скорее исключением: сотрудники должны быть обучены работе в системе, но строго необходимо иметь подстраховку.

Название и содержание задачи

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

Например: Подготовка к мероприятию – [Название мероприятия]

Также можно создать чек-лист, если в задаче есть несколько явных дел, одинаковых для подготовки ко всем мероприятиям.

Ответственный и постановщик – константы

Настройка, где нам пригодятся ранее созданные константы. Задачу необходимо ставить от имени руководителя, но это не обязательно прямой руководитель куратора по оргсхеме компании на портале Битрикс24. Используем константы.

Вот такие настройки действия:

Срок выполнения

Задача выполняется за два рабочих дня с момента её постановки. Для вычисления срока поможет функция workdateadd. Текущую дату можно взять из значения System:Now.

Получится вот такая строка: =workdateadd({=System:Now},"2d",{{Ответственный}})

Полезно

О вычислении значений параметров действий бизнес-процессов и доступных функциях читайте в статье поддержки.

Связь задачи и мероприятия

Опция действия «Привязать к текущей сущности CRM»» будет крайне полезна. В задаче появится ссылка на мероприятие, а в таймлайне мероприятия – отразится задача.

Полезно

Для корректного отображения связей между элементами смарт-процесса и задачами необходимо включить опцию «Привязка к элементам» -> «Задачи» в настройках смарт-процесса.

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

Защита от повторного выполнения автоматизации

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

Полезно

Если автоматизируемый процесс критичен для компании и случайный перенос по стадиям даже одного элемента может принести болезненные последствия для бизнеса, то имеет смысл рассмотреть использование бизнес-процессов в живой ленте. В них «движение» по этапам гораздо строже регламентировано.

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

Предусмотрим защиту от повторного выполнения автоматики в шаблоне на стадии подготовки к мероприятию.

Для этого создадим поле, в которое записывается факт прохождения стадии, а перед выполнением действий делается проверка, что элемент смарт-процесса впервые на данной стадии.

Такое поле называют «техническим», т.е. его не используют явно сотрудники, оно обеспечивает верную работу автоматики.

Важно!

«Технические» поля нужно скрывать от пользователей в карточке элемента смарт-процессов. Иначе пользователь может изменить его значение, что нарушит работу автоматики. Мы выполним такую настройку далее.

В качестве «технических» полей можно использовать поля разных типов, списки, флажки, строки и т.д.

Для текущей задачи, пожалуй, удобнее использовать поле типа «Привязка к справочникам CRM», выбрав его в качестве справочника стадии нашего смарт-процесса, установим опцию «множественное значение».

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

Дополним шаблон БП: в начале добавим условие и настроим две ветки, если мы тут первый раз – сохраняем об этом информацию, если нет – прерываем процесс, не вызываем еще раз дальнейшую автоматику.

Так как поле множественное, тип «справочник», то в условии проверяем наличие нужного значения (текущей стадии) в списке. Если текущей стадии в списке нет, значит мы тут первый раз.

Если первый раз, запишем в массив текущую стадию (включив опцию "Дополнить множественные поля вместо перезаписи").

Полезно

Аналогично можно реализовывать защиту от ошибочного движения элемента по стадиям вперед. Например, пока не выполнены задачи, не наступил срок или были пропущены стадии.

Удобно, что среди полей элемента, доступных в БП, есть поле «предыдущая стадия», очень просто вернуть элемент обратно, если нужно.

В итоге получился вот такой шаблон БП на стадии "Подготовка":

Полезно

Помним про «ждущие» БП и лимиты. Поэтому мы создали шаблон БП на стадии канбана. Бизнес-процесс будет завершен при смене стадии, даже если задача не будет закрыта.

2) СОЗДАНИЕ НОВОГО МЕРОПРИЯТИЯ

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

Мероприятие не будет исключением, реализуем требования:

  • Установка куратора ответственным за мероприятие.
  • Генерация ссылок на две CRM-формы: регистрация волонтеров и отчет.

Создадим шаблон БП в настройках CRM и назначим его запуск на «создание».

Предзаполнение полей

Шаблон БП, который это реализует, выглядит так:

Совсем простой :)

Полезно

Так как тут нет ждущих действий, БП будет всегда завершаться сразу. Значит, можем настроить шаблон на автоматический запуск при создании элемента и не беспокоиться что БП «зависнет».

Ссылки на CRM-формы

Сгенерируем ссылки на CRM-формы. Из констант берем ссылки на формы и добавляем в них параметр «M_ID», значение параметра – ID текущего мероприятия. Так будет передаваться значение для скрытого поля CRM-формы, ранее мы показали его настройку.

Получится так:

  • {{Константы глобальные: Ссылка на форму регистрации}}?M_ID={{ID}}
  • {{Константы глобальные: Ссылка на форму отчёта}}?M_ID={{ID}}

Это позволит нам использовать одну CRM-форму для регистрации на все мероприятия и одну CRM-форму для всех отчетов.

Ответственный за мероприятие

Ответственного Куратора устанавливаем также из ранее созданной константы.

В итоге получаем вот такие настройки одного действия шаблона:

И последний штрих для этого мини-БП.

Выбираем пункт «Скрыть из меню ручного запуска», чтобы у нас автоматически он сработал только при создании, и сотрудники не могли его запустить снова.

Полезно

Отключайте ручной запуск

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

3) НАБОР ВОЛОНТЕРОВ

Мероприятие создано, подготовка выполнена – запускается набор.

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

Реализуем требования:

  • Постановка задачи Лидеру на работу на площадке в день мероприятия. Он должен получить задачу сразу после назначения на мероприятие.
  • За 4 рабочих дня до даты проведения мероприятия проверить количество регистраций волонтеров и сменить стадию.

В контрольной точке, в зависимости от количества регистраций, нужно реализовать такие варианты развития событий:

  • Если набрали волонтеров, двигаемся на стадию «Все готово».
  • Если нет, но у мероприятия установлена опция «Участие подтверждено куратором», двигаемся на стадию «Все готово».
  • В других случаях недобора уведомляем всех причастных и отменяем мероприятие. Упрощенный сценарий, конечно, но для примера достаточно.

Создадим шаблон БП на стадии «Набор».

Задача Лидеру

Постановка задачи Лидеру будет отличаться от постановки задачи Куратору, БП не должен ждать ее завершения. Поэтому здесь одно действие - «Поставить задачу».

А настройки действия аналогичны: расчёт крайнего срока, понятное название и описание, привязка к элементу смарт-процесса и т.д., не будем на этом подробно останавливаться.

Контроль набора регистраций волонтеров

Для реализации дополним шаблон следующими действиями:

Действие «Пауза робота» остановит выполнение БП до наступления нужного срока, в нашем примере это «за 4 рабочих дня до начала мероприятия».

Формула такая =workdateadd({{Дата проведения}},"-4d",{{Ответственный}})

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

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

И три ветки действий:

  • Если набрали, двигаемся на стадию «Все готово».
  • Если не набрали, но включена опция «Участие подтверждено куратором», двигаемся на стадию «Все готово».
  • В других случаях недобора уведомляем всех причастных и отменяем мероприятие. Упрощенный сценарий, конечно, но для примера достаточно.

Защита от повторного выполнения автоматизации

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

В сумме получится вот такой шаблон БП для этапа набора:

4) ЗАВЕРШЕНИЕ МЕРОПРИЯТИЯ

Остается провести мероприятие и зафиксировать по нему отчеты.

Автоматизируем такие требования:

  • На следующий рабочий день после даты проведения мероприятие автоматически переходит на этап работы по сбору и проверке отчетов.
  • Постановка задачи Лидеру на проверку отчетов от волонтеров по итогам мероприятия. Куратор принимает результат по задаче, без этого БП не двигается дальше и не завершается.

Автоматику реализуем на соответствующих стадиях: «Все готово» и «Сбор и контроль отчетов».

Здесь будет все очень просто, достаточно роботов:

Переход на этап сбора отчетов

Для решения потребуется одно простое действие на стадии «Все готово». На следующий рабочий день после даты мероприятия сменить стадию на сбор отчетов.

Для этого достаточно настроить робота "Сменить стадию":

Задача на сбор отчетов

В этом уроке мы уже несколько раз ставили задачи, но тут есть особенность: результат по задаче должен проконтролировать Куратор, прежде чем задача будет завершена, и БП двинется дальше.

В этом поможет опция «Проконтролировать задачу после завершения».Когда сотрудник отметит, что задача выполнена, она не завершится, а перейдет в статус проверки результата, БП не пойдет дальше.

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

Такого подхода вполне достаточно, если это не согласование многомиллионной сделки, где важно системно сохранять результаты и комментарии участников без возможности редактирования их в будущем :)

Автоматизация на этой стадии состоит из двух роботов: постановка задачи и смена стадии.

Задачу ставим Лидеру от имени Куратора, включаем опции «Остановить процесс на время выполнения задачи» и «Проконтролировать задачу после завершения».

В настройках робота "Сменить стадию" важно установить очередность выполнения как "После предыдущего робота".

Тогда все сработает верно, иначе робот выполнится сразу и переместит мероприятие, не дожидаясь выполнения и приема задачи.

По мероприятиям на этом все!

Полезно

Проверьте себя

Если вы выполняли настройки вместе с нами (что мы очень рекомендуем слушателям курса), самое время создать несколько мероприятий и проверить часть сценариев:

  • Как ведет себя система, если дата мероприятия указана в прошлом?
  • Что будет, если куратор закроет задачу по подготовке, но не укажет Лидера?
  • Когда осталось 4 дня, система уведомит о недоборе участников?

Практика

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

Настройте следующую автоматизацию: если мероприятие переместить на стадию «Сбор и контроль отчетов», но при этом оно не прошло стадии «Подготовка», «Набор», «Все готово», верните его на стадию, с которой его нужно переместить.

Запишите информацию об этом событии в таймлайн элемента, указав, кто конкретно передвинул элемент.

У вас все работает верно? Тогда переходим к настройке регистраций!