ITKUP
Личный блог на тему разработки, IT. Учусь, записываю, анализирую.

Bitrix24 (конспект): Бизнес-процессы

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

! ЗАПОМИНАЕМ !

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

*Определение позаимствовано с официального сайта.


глоссарий

ТерминОписание
Бизнес-процесс (БП)Это процесс обработки документа, для которого задана одна точка входа, несколько точек выхода и последовательность действий (шагов, этапов, функций), совершаемых в заданном порядке и в определенных условиях. Другими словами «Бизнес-процесс» – последовательность действий, направленных на получение заданного результата.

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

Бизнес-процесс со статусами представляет собой набор состояний, переходов и действий. Одно из состояний обязательно обозначается как начальное состояние. Далее, по мере выполнения, процесс переходит из одного состояния в другое. Переходы выполняются на основе событий.
Типовые бизнес-процессыОбразцы часто используемых процессов, которые включены в состав продуктов «1C-Битрикс», содержащих модуль Бизнес-процессы.
Журнал выполнения бизнес-процесса (лог)При разработке и использовании уже готовых процессов бывает необходимо узнать подробности выполнения того или иного процесса / действия. Для этого в системе предусмотрен журнал выполнения бизнес-процессов (лог).
Задания бизнес-процессовВ процессе выполнения бизнес-процесса может понадобиться согласование какого-либо пользователя или дополнительная информация от него. Тогда пользователю приходит «Задание», которое он должен выполнить.
Бизнес-процессы организацииВ публичной части портала бизнес-процессы могут быть запущены не только для документов, списков или CRM, но и для любых внутренних процессов организации: оформления командировок, отпусков, утверждения счетов и т.п. По умолчанию в «Битрикс24» они находятся на отдельной странице по пути Автоматизация > Бизнес-процессы > Процессы в ленте новостей.
модуль Дизайнер бизнес-процессовМодуль входит в старшие редакции продуктов «1С-Битрикс». предназначен для проектирования, создания и изменения бизнес-процессов. Шаблон БП создается в особом визуальном конструкторе. Механизм проектирования бизнес-процессов реализован за счет визуального программирования по технологии drag&drop.
Визуальный конструкторИнструмент, входящий в состав модуля Дизайнер бизнес-процессов, который позволяет создавать и редактировать шаблоны бизнес-процессов.
Основная рабочая областьОбласть визуального конструктора, в которой размещаются действия / статусы и создаётся шаблон. Внешний вид может различаться для разных типов бизнес-процессов (последовательный или со статусами).
Панель действий конструктораОбласть визуального конструктора, которая содержит набор действий для конструирования шаблона. Находится в зоне справа и представляет собой список, разделённый на категории.
Глобальные переменныеВ системе возможно хранение значений, доступных во всех процессах. Глобальные переменные используются для хранения данных и могут быть изменены. Доступны сразу во всех шаблонах бизнес-процессов (c учётом настроек видимости).
Глобальные константыВ системе возможно хранение значений, доступных во всех процессах. Глобальные константы используются для хранения данных и имеют постоянное (неизменяемое) значение. Доступны сразу во всех шаблонах бизнес-процессов (c учётом настроек видимости).
Шаблон бизнес-процессаШаблон БП представляет собой последовательность шагов (действий) от начального к конечному, которые выполняются один за другим, и реализует нужный нам алгоритм для получения требуемого результата. Именно в шаблоне проектируется вся логика работы бизнес-процесса.
ПараметрыПараметры используются для явного указания каких-либо значений во время исполнения бизнес-процесса и задаются пользователем, запустившим бизнес-процесс. Значения параметров запрашиваются у пользователя непосредственно при запуске бизнес-процесса. И не могут быть изменены внутри бизнес-процесса, в отличие от переменных.
ПеременныеПеременные используются для временного хранения данных, необходимых для выполняемого процесса. Значения переменных хранятся до тех пор, пока выполняется бизнес-процесс. После его завершения они все стираются. В отличие от параметров бизнес-процесса, значения переменных могут быть изменены по ходу выполнения бизнес-процесса.
КонстантыКонстанты нужны для хранения информации, которая не должна меняться во время выполнения данного процесса. Они задаются в шаблоне БП и не могут быть изменены пользователем или бизнес-процессом.
Экспорт и импортШаблоны бизнес-процессов можно переносить с одного проекта на другой. Для этого есть инструменты экспорта и импорта.
форма Вставка значенияПри работе с бизнес-процессом в параметрах действий, параметрах шаблона и настройках статуса есть возможность указывать как собственный текст (заданный вручную), так и использовать различные переменные значения . Для подстановки таких переменных значений используется специальная форма «Вставка значения».
Калькулятор выраженийВ модуле Бизнес-процессы есть полезный инструмент – Калькулятор выражений. С помощью операторов и функций калькулятора можно расширить стандартные возможности Бизнес-процессов, выполнять математические и логические операции, обрабатывать значения и данные.
ОператорыСпециальные символы и выражения для вычисления математических и логических выражений. Примерами таких операторов являются символ + для сложения или ^ для возведения в степень.
ФункцииКаждая функция в калькуляторе выражений выполняет определённую обработку данных. Например, форматирует дату, вычисляет минимум в последовательности чисел или округляет число.
МодификаторыПараметры, переменные шаблона или поля документа возможно модифицировать с помощью специальных слов – модификаторов, которые преобразуют данные. Например, вы можете преобразовать значение типа Дата в тип Строка или вывести дату в часовом поясе ответственного за сделку.
ДействиеПоследовательный бизнес-процесс строится из набора действий. В свою очередь каждое действие выполняет определенную функцию и имеет набор параметров. Действия размещены в панели действий визуального конструктора и добавляются в основную рабочую область с помощью перетаскивания.

Позаимствовано с официального сайта.


Виды бизнес-процессов:

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


Шаг 1. Модуль

Прежде чем углубляться в создание бизнес-процессов, необходимо убедиться, что необходимый модуль "Бизнес-процессы" (bizproc) установлен и включен. Проверить это можно перейдя в "Администрирование-> Настройки-> Модули".

Там же, в "Администрирование-> Настройки-> Настройки модулей" можно настроить конкретно модуль "Бизнес-процессы".

Доступные для настройки поля:

  • Время хранения лога выполнения бизнес-процесса (дней) (указывается время хранения журнала выполнения БП в днях);
  • Время хранения данных в хранилище (дней);
  • Лимит на количество данных в одной записи хранилища (МБ);
  • Не сохранять в лог события (на выбор "запуск действия" и "завершение действия"; позволяет сократить объем данных);
  • Не сохранять в лог статусы роботов;
  • Максимальное количество одновременно запущенных над документом процессов (на старте рекомендуется 2, далее по ситуации);
  • Включить режим совместимости для типа «Привязка к сотруднику» (включается режим совместимости с новыми версиями модуля для старых шаблонов бизнес-процессов, рекомендуется включать только в случае возникновения проблем с типом данных «Привязка к сотруднику»);
  • Максимальное количество итераций цикла в рамках одного запуска (ограничение количества итераций цикла в рамках одного запуска БП);
  • Использовать компрессию при хранении данных;
  • Путь к списку зависших бизнес-процессов (указывается каталог хранения экземпляров запущенных и зависших БП);
  • Минимальное время ожидания для действий;
  • Максимальное время ожидания процесса (дней);
  • Формат отображения имени (настраивается под каждый сайт отдельно).


Модуль входит в состав редакции Энтерпрайз и Бизнес продукта "1С-Битрикс: Управление сайтом".



Шаг 2. подготовка к работе

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

  • Элементы инфоблоков в административной части;
  • Элементы универсального списка;
  • Файлы из библиотеки документов ("Битрикс24 в коробке");
  • Элементы CRM ("Битрикс24 в коробке": Лид, Контакт, Компания, Сделка, Коммерческое предложение, Счета, Смарт-процессы);
  • "Виртуальный документ" (для бизнес-процессов организаций, реализуемых с помощью компонента Бизнес-процесс (комплексный компонент) в публичной части сайта).


Где искать:

  • Инфоблоки (в административной части сайта; "1С-Битрикс: Управление сайтом" и "Битрикс24 в коробке");
  • Универсальные списки ("Битрикс24 в коробке", "Сервисы-> Списки ");
  • Процессы в ленте новостей ("Битрикс24 в коробке", "Автоматизация-> Бизнес-процессы-> Процессы в ленте новостей" );
  • Битрикс24.Диск ("Битрикс24 в коробке", "Автоматизация-> Бизнес-процессы-> Процессы в Общем диске или Диск-> Общий диск ");
  • CRM ("Битрикс24 в коробке", "Автоматизация-> Бизнес-процессы-> Процессы в CRM или CRM-> Настройки-> Настройки CRM-> Роботы и бизнес-процессы" ).

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


Шаг 3. Создание бизнес-процесса

Разберем создание простого последовательного БП на примере конкретной задачи:

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

  • "Наименование служебной записки";
  • "Отправитель";
  • "Получатель";
  • "Приложенный документ".

Необходимо реализовать БП "Регистрация документа".

Задача максимально простая, для начала изучения функционала БП подходит.

Процесс создания инфоблока опустим (это предмет отдельной статьи), определимся только с содержимым.

Главное, что обязательно нужно учесть: в поле "Участвует в документообороте или бизнес процессах" нужно обязательно указать "бизнес процессы". В противном случае, нужный нам функционал будет не доступен.

Сразу определимся со свойствами:

  • "Наименование служебной записки" - стандартное свойство "NAME" (для данной задачи подойдет), обязательно для заполнения;
  • "Отправитель" - тип "Привязка к сотруднику", не обязательно для заполнения;
  • "Получатель" - тип "Привязка к сотруднику", обязательно для заполнения;
  • "Приложенный документ" - тип "Файл", обязательно для заполнения.

Значения "Код" для свойств можно задать любые, в данном примере это не принципиально.

Далее начнем с первого БП "Регистрация документа". Он будет запускаться автоматически сразу после создания нового элемента инфоблока "Служебная записка". В разделе "Администрирование" открываем нужный нам инфоблок и переходим на вкладку "Шаблоны бизнес-процессов-> Список шаблонов бизнес-процессов". Нажимаем "Создать шаблон-> Последовательный бизнес-процесс".

Перед нами форма создания нового БП. Необходимо заполнить:

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

Нажимаем "Сохранить" и попадаем в окно конструктора БП. Все, можно приступать к проработке логики.

Содержимое окна визуального редактора (кратко):

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


Сперва нужно продумать логику, которую в итоге мы хотим реализовать. Данный БП должен последовательно выполнить следующие операции:

  • Зафиксировать "отчет", с указанием инициатора работы;
  • Автоматически заполнить поле "Отправитель", указать в нем ФИО сотрудника, создавшего новый элемент;
  • Дать сотруднику, указанному в поле "Получатель", и сотруднику, автору документа,  права на чтение карточки документа.
  • Отправка персонального уведомления сотруднику, указанному в поле "Получатель", о создании новой служебной записки на его имя.

Начнем наполнять БП. Первым действием добавим "Запись в отчет" ("Прочее-> Запись в отчет").

В поле "Текст", используя вставку значений, мы прописываем строку "Документ сформирован, {{Кем создан (имя)}} в {=System:NowLocal}." Данная запись отобразится в истории БП (увидим далее; на самом деле подобная запись может пригодиться только в том случае, если автор документа и лицо, запустившее БП - это разные люди, т.к. автора будет видно и без этой записи, но в рамках данного примера - будем использовать).

Следующий шаг - автоматическое наполнение поле карточки документа "Отправитель". В этом нам поможет действие "Изменение документа" ("Обработка документа-> Изменение документа").

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

Документ создан и нужное поле автоматически заполнилось, теперь необходимо разобраться с правами. В нашем случае считаем, что карточку документа "Служебная записка" должны видеть только два человека: "Отправитель" и "Получатель", и при этом - дальнейшее редактирование мы убираем. Выполним эту настройку с помощью действия "Установка прав" ("Прочее-> Установка прав")..

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

Важный момент: два поля "Текущие права документа" и "Область применения очистки и перезаписи" - напрямую влияют на итоговый список прав на документ. Например если сотрудник ранее имел доступ к документу на чтение, а мы по неосторожности затерли все предыдущие настройки, то этот самый человек больше работать с элементом не сможет. На данном этапе - оставляем значения по умолчанию, новые права полностью заменят старые. Если же нужно будет  добавить права к существующим - используем другой режим. Тема сложная, заслуживает отдельного детального разбора.

Хорошо, документ создали, доступ к нему обеспечили, осталось уведомить получателя о том, что на его имя сформирована новая служебная записка. Сделать это можно несколькими способами:

  • Отправить лично сообщение в мессенджере Битрикс24,
  • Отправить уведомление в Битрикс24,
  • Написать письмо,
  • И т.п.

Мы ограничимся простым уведомление ("Уведомление-> Уведомление пользователя").

Ряд моментов, относительно данного действия:

  1. Поле "Отправитель уведомления" указывает сотрудника, от имени которого будет отправлено уведомление. Теоретически, им может быть кто угодно (из списка сотрудников).
  2. Поле "Получатель уведомления" - множественное, в нем могут быть указаны как один конкретный человек, так и несколько (в этом случае, каждый из списка получит свое персональное уведомление).
  3. Поле "Тип уведомления" указывает в уведомление какого вида получит получатель, а именно как сообщение от конкретного пользователя  (вариант "Персонализированное уведомление (с аватаром)") либо как простое системное уведомление (вариант "Уведомление от системы (без аватара)").

Мы будем отправлять уведомление "от системы", соответственно в качестве типа выбрано "Уведомление от системы (без аватара)".

Все, задача-минимум - выполнена.

Создаем новый элемент, заполняем обязательные поля и все, БП отрабатывает автоматически.

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


Рекомендации

Как делать не надо:

  1. Выполнять "Экспорт/Импорт" бизнес-процессов из разных типов инфоблоков. Последствия иногда могут быть очень печальными. Самый яркий пример из моей практики: Битрикс24 не только вставил (путем импорта) БП, но и изменил настройки самого инфоблока, а именно добавил свойства (как необязательные, так и обязательные), что привело к временному параличу работы с одним конкретным инфоблоком. Пришлось руками выкусывать лишние свойства.
  2. Допускать зацикливание БП. Это чревато накоплением большого количества экземпляров БП для разных документов и, как следствие, замедлению скорости работы ресурса. Лучше при создании своего БП предусмотреть резервный вариант закончить выполнение и выйти из замкнутого круга.
  3. Привязываться к явному указанию ID инфоблока в логике работы. Это относится к варианту работы, в котором кроме одной боевой машины используются тестовые машины "для разработки". Инфоблоки и там и там могут совпадать, но их ID быть разными, и тогда при попытке перенести отработанный на тесте БП на боевую машину (и запустив БП) можно столкнуться либо (в лучшем случае) с внезапной ошибкой при запуске БП, либо (самый худший вариант) испортить данные в совершенно другом инфоблоке.

Cookie-файлы
Настройка cookie-файлов
Детальная информация о целях обработки данных и поставщиках, которые мы используем на наших сайтах
Аналитические Cookie-файлы Отключить все
Технические Cookie-файлы
Другие Cookie-файлы
Мы используем файлы Cookie для улучшения работы, персонализации и повышения удобства пользования нашим сайтом. Продолжая посещать сайт, вы соглашаетесь на использование нами файлов Cookie. Подробнее о нашей политике в отношении Cookie.
Понятно Подробнее
Cookies