Об автозапуске бизнес-процессов
Автозапуск бизнес-процессов при создании и изменении элемента — вещь полезная и нужная. Однако, работает не всегда. Например, не работает при создании и изменении элементов в публичных компонентов где бизнес-процессы не предусмотрены. Поэтому, если вы, например, в административной части ставите галочку «Запускать при изменении», и затем сохраняете элемент в публичной части через компонент «Изменение элементов инфоблока», то бизнес-процесс не запустится.
[spoiler]
Следующий код помогает решить эту проблему. Но вставлять его лучше не в init.php, а, например, непосредственно перед вызовом компонента в публичной части.
AddEventHandler("iblock", "OnAfterIBlockElementAdd", Array("My_BizprocAutoStart","AutoStartAdd"));
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("My_BizprocAutoStart","AutoStartUpdate"));
class My_BizprocAutoStart <
function AutoStartAdd(&$arFields) <
if(CModule::IncludeModule("bizproc")) <
$arErrors = Array();
$arParameters = Array();
CBPDocument::AutoStartWorkflows(
Array("iblock", "CIBlockDocument", "iblock_".$arFields["IBLOCK_ID"]),
CBPDocumentEventType::Create,
Array("iblock", "CIBlockDocument", $arFields["ID"]),
$arParameters,
$arErrors
);
>
>
function AutoStartUpdate(&$arFields) <
if(CModule::IncludeModule("bizproc")) <
$arErrors = Array();
$arParameters = Array();
CBPDocument::AutoStartWorkflows(
Array("iblock", "CIBlockDocument", "iblock_".$arFields["IBLOCK_ID"]),
CBPDocumentEventType::Edit,
Array("iblock", "CIBlockDocument", $arFields["ID"]),
$arParameters,
$arErrors
);
>
>
>
Бизнес-процессы в Wiki
Следующий код позволяет включить автозапуск бизнес-процессов в вики. Причем бизнес-процесс, который должен запускаться при создании элемента, будет запускаться при публикации статьи вики. Бизнес-процесс обновления будет запускаться только один раз на странице — это сделано потому что, в компоненте wiki.edit элемент — статья вики — обновляется 2 раза, а в редких случаях необходимо запускать бизнес-процесс более одного раза, если пользователь только один раз нажал на кнопку «Опубликовать». В параметре запуска бизнес-процесса «DetailPageUrl» будет находится адрес статьи вики, который можно использовать, например, при отправке уведомлений.
AddEventHandler("iblock", "OnBeforeIBlockElementUpdate", Array("My_WikiBizprocAutoStart","GetActivity"));
AddEventHandler("iblock", "OnAfterIBlockElementUpdate", Array("My_WikiBizprocAutoStart","AutoStartHandlers"));
class My_WikiBizprocAutoStart <
function GetActivity(&$arFields) <
global $My_WikiBizprocAutoStartActivity;
static $bAlreadyRun;
if($bAlreadyRun!==true) <
$rsElement = CIBlockElement::GetByID($arFields["ID"]);
if($arElement=$rsElement->Fetch()) $My_WikiBizprocAutoStartActivity = $arElement["ACTIVE"];
$bAlreadyRun = true;
>
>
function AutoStartHandlers(&$arFields) <
if(CModule::IncludeModule("bizproc")) <
global $My_WikiBizprocAutoStartActivity;
static $bAlreadyRun;
if($bAlreadyRun!==true) <
$rsElement = CIBlockElement::GetByID($arFields["ID"]);
if($arElement=$rsElement->GetNext()) if($arElement["ACTIVE"]=="Y") <
$arErrors = Array();
$arParameters = Array();
CBPDocument::AutoStartWorkflows(
Array("iblock", "CIBlockDocument", "iblock_".$arFields["IBLOCK_ID"]),
$My_WikiBizprocAutoStartActivity=="N"?(CBPDocumentEventType::Create):(CBPDocumentEventType::Edit),
Array("iblock", "CIBlockDocument", $arFields["ID"]),
Array("DetailPageUrl"=>$arElement["DETAIL_PAGE_URL"]),
$arErrors
);
$bAlreadyRun = true;
>
>
>
>
>
Настройка автозапуска бизнес-процесса из сделки в корпоративном портале Битрикс24
Настройка автозапуска бизнес-процесса из сделки в корпоративном портале Битрикс24. Согласно условиям ТЗ было нужно разработать бизнес-процесс, который бы запускался автоматически из сделки при определенных условиях:
1. Стадия — Сделка заключена
2. Тип сделки — продажа типового решения
В результате работы бизнес-процесса должна создаваться задача для ответственного по данной сделке.
Приступаем
Алгоритм создания бизнес-процесса из сделки: CRM — Настройки — Бизнес-процессы — Сделки — Добавить шаблон Визуально:

Далее нужно ввести название для бизнес-процесса:

В начале задаем условие выполнения бизнес-процесса, т.е. если «Сделка заключена» и тип сделки — «Продажа типового решения», то мы создается задача. Если нет — то бизнес-процесс прекращается.
Заполним настройки в действии «Условие»:

В случае выполнения условий нам нужно отправить уведомление сотруднику и создать для него задачу:
Настройки параметров будут выглядеть следующим образом:


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

Нажимаем «Применить» и «Сохранить». Бизнес-процесс готов. Теперь нужно настроить события, когда будет запускаться бизнес-процесс:
Выбираем при создании и при изменении. Процесс готов.
Материал подготовлен на основе статьи Настройка автозапуска БП . Для разработки этого бизнес-процесса Вам необходимо заказать нашу услугу Моделирование бизнес-процессов . При оформлении заказа Вам будет необходимо отправить запрос через веб-форму «Задать вопрос» с указанием названия бизнес-процесса на разработку.
Если Вам необходимо изменить существующий бизнес-процесс заполните, пожалуйста, Бриф на разработку бизнес-процессов .
Если у Вас возникли вопросы Вы можете связаться с нами:
- позвонив по телефону +7 (499) 350-31-25 или заказав обратный звонок на сайте
- написав на наш электронный адрес order@pinall.ru
- заполнив форму обратной связи » Задать вопрос «
array(6) < ["ID"]=>string(3) «219» [«IS_RED»]=> string(1) «N» [«LINK»]=> string(61) «/wiki/Category:Бизнес-процесс на Сделке/» [«TITLE»]=> string(45) «Бизнес-процесс на Сделке» [«NAME»]=> string(45) «Бизнес-процесс на Сделке» [«IS_SERVICE»]=> string(1) «N» >
Для добавления комментария необходимо авторизоваться на сайте
Сайт использует файлы cookie. Продолжая просмотр сайта, вы соглашаетесь с использованием файлов cookie.
Разрабатываем бизнес-процесс в CRМ Битрикс24: Подключение руководителя к сделке

Эта статья может быть полезна тем, кто хочет научиться создавать бизнес-процессы (БП) на портале Битрикс24. В ней будет подробно и занудно описан каждый шаг при разработке бизнес-процесса в CRM на примере несложной автоматизации сделки.
Этапы разработки бизнес-процесса
- Видео инструкция
- Постановка задачи
- Создание шаблона БП
- Тестирование
- Сдача в эксплуатацию
Краткий видеогайд
Очень рекомендуем дочитать статью до конца, а наше видео поможет разобраться в материале еще быстрее.
Постановка задачи и описание алгоритма
В нашем случае задача выглядит так: «Необходимо назначить руководителя Наблюдателем сделки, если сумма сделки 100 000 руб. или больше».
Теперь, когда у нас сформулирована задача, можно приступить к описанию алгоритма. Этот этап нужен для того, чтобы представить решение задачи в структурированном виде, состоящем из отдельных действий и их взаимосвязей. Вы можете разрабатывать алгоритм с помощью любых удобных вам инструментов, например, нарисовать схему на листе, или описать последовательность шагов, или воспользоваться каким-либо сервисом для визуализации блок-схем.
Для нашей задачи достаточно простого описания алгоритма:
Если сумма сделки равна или больше 100 000 руб., то назначаем руководителя Наблюдателем этой сделки.
Создание шаблона по шагам
Шаблон бизнес-процесса – это инструмент Битрикс24, посредством которого можно реализовать ваш алгоритм.
В Битрикс24 можно разрабатывать бизнес-процессы для разных объектов (лидов, компаний, элементов Списков…) и для каждого из них надо выбирать соответствующий шаблон. Мы будем создавать шаблон БП для сделок, поскольку наша задача касается автоматизации сделки.
Перед началом работ убедитесь, что у вас достаточно прав. Для работы с бизнес-процессами в CRM вы должны быть или администратором портала, или иметь включенную опцию «Разрешить изменять настройки» в настройках роли в правах доступа CRM.
Шаг 1. Добавляем шаблон БП для сделок
Переходим в раздел CRM – Настройки – Настройки CRM.

Если вы не можете найти раздел «Настройки» среди пунктов меню, то поищите его под пунктом «Еще» (крайний правый), может быть он прячется там.
Если и это не помогло, то обратитесь к администратору портала, может быть, у вас недостаточно прав для создания БП.
В Настройках выбираем Роботы и бизнес-процессы – Бизнес-процессы.

Добавляем шаблон для сделок. По умолчанию добавляется шаблон для последовательного бизнес-процесса, что нам и требуется в данном случае (и вообще требуется в 99,99% случаев).

Шаг 2. Настройка шаблона
В появившемся окне изменяем Название и добавляем Описание (это не обязательно, но хороший тон).
Обратите внимание на настройки автоматического запуска – «Автоматически запускать».
По умолчанию там указано «При добавлении». Убираем ее! Не стоит, чтобы при добавлении новых сделок запускался наш недоделанный бизнес-процесс (а недоделанным он будет всегда, пока не проведено тестирование).

В окне настроек шаблона мы видим несколько вкладок:
- Основное (которую мы только что заполнили)
- Параметры
- Переменные
- Константы
Параметры служат для добавления информации при запуске процесса и для передачи данных между разными БП.
Переменные нужны для временного хранения данных в ходе бизнес-процесса, и они очищаются после его завершения.
Практическое применение параметров и переменных будет описано в следующих статьях.
Константы нужны для хранения постоянной информации, которая не меняется в ходе БП.
Именно их мы будем использовать в нашем примере для хранения значения 100 000 руб. (минимальной суммы, достойной внимания руководителя) и самого руководителя.
Давайте добавим их на вкладку «Константы».

Для добавления суммы заполните поля:

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

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

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

Теперь вкладка «Константы» будет выглядеть так:

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

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

Вначале вам будет непонятно, какие действия в каких разделах искать и в каких случаях их применять. Но со временем вы увидите, что действий не так уж и много и в процессе работы вы познакомитесь с ними досконально.
Вспомним наш алгоритм: «Если сумма сделки равна или больше 100 000 руб., то назначаем руководителя Наблюдателем этой сделки.»
Нам потребуется действие «Условие» из раздела «Конструкции».
Раскроем раздел и перетащим «Условие» к серому треугольнику, как показано на скриншоте.

Есть еще один способ добавить действие.
Кликнув на треугольник, вы получите список с разделами и здесь уже из раздела «Конструкции» выберите действие «Условие».

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

Теперь разберемся с ветками условия. По умолчанию их 2, как нам и надо для нашей задачи. Но в принципе можно добавить сколько угодно веток с помощью значка «+» справа от названия.
Настроим левую ветку.
Для «Типа условия» выберем «Поле документа», поскольку мы будем проверять поле сделки («документ» – это общее название элемента, на котором запускается БП).
В появившемся поле документа выберем «Сумма».

В качестве условия выберем «не меньше», поскольку «равна или больше» означает «не меньше».
Для установки Значения нажмите кнопку для вставки значения:

В окне «Вставка значения» раскройте «Константы» и выберите константу «Минимальная сумма».

Настройки левой ветки теперь выглядят так:
Таким образом мы добавили в блок-схему проверку условия:
Если сумма сделки (то есть поле сделки «Сумма») равна или больше (то есть «не меньше») 100 000 руб. (значение нашей константы summa_min).
Теперь перейдем к условию в правой ветке.
Здесь достаточно ввести «НЕТ» в поле «Заголовок» и то, это надо только для наглядности нашего условия.

Сейчас, когда у нас готовы 2 ветки, давайте добавим в них действия для логирования.
Это надо для того, чтобы потом по записям в Журнале бизнес-процесса мы могли проверить, как он работает.
За добавление в лог отвечает действие «Запись в отчет» из раздела «Прочее».

Добавьте текст. В текст можно добавить поля, константы, переменные… В нашем примере в текст вставлены поле сделки «Сумма» и константа для минимальной суммы. Добавьте их с помощью кнопки для вставки значения, подобно тому, как мы это делали при добавлении условия в левой ветке.

Для добавления действия «Запись в отчет» в правую ветку условия скопируйте действие, перетаскивая его как показано на скриншоте при нажатой Ctrl. Если будете перетаскивать без Ctrl, то действие будет перемещено, а не скопировано.

Отредактируйте текст в новом действии, изменив «ДА» на «НЕТ».

Вы можете написать свои тексты в этих действиях, главное, чтобы потом из записей Журнала вам было ясно, что происходит с вашим БП.
Теперь в левую ветку добавим наблюдателя к сделке.
Для этого выберем действие «Изменение наблюдателей» из раздела «CRM».
Здесь оставьте действие «добавить» и нажмите на кнопку «…» для выбора наблюдателя.

Поскольку наблюдатель у нас находится в константе «Руководитель», то ее и выберем.

Теперь действие выглядит так:

Итак, наш шаблон готов. Не забудьте его сохранить!

Запуск и Тестирование
Для тестирования создайте сделку c суммой больше 100 000 руб., например, 200 000 руб.
Перейдите в карточку сделки и запустите БП вручную, выбрав его из списка.

Теперь давайте посмотрим Журнал на вкладке «Бизнес-процессы».
Из журнала видно, что БП пошел по левой ветке, как и ожидалось.

Также мы видим, что в карточке сделки «Тестовый сотрудник» установлен как наблюдатель.

Также надо провести тесты, когда сумма сделки < 100 000 руб. и когда сумма сделки = 100 000 руб.
Для этого можно создать новые тестовые сделки с этими суммами или менять сумму в нашей тестовой сделке, при этом не забывая очищать поле «Наблюдатели».
Если все тесты прошли успешно, то можно переходить к последнему этапу.
Сдача в эксплуатацию
Перед запуском БП в работу нам надо сделать 2 вещи.
Первое, это установить реального руководителя вместо Тестового сотрудника в константе «Руководитель».
Для этого выберите наш шаблон в Списке шаблонов для сделок

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

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

Теперь наш бизнес-процесс в работе!
Автозапуск бизнес-процессов
Бизнес-процессы можно запускать автоматически при создании лида, сделки, контакта и компании. Для этого в параметрах шаблона бизнес процесса включите чекбокс Автоматически запускать: При добавлении.

- вручную;
- через email-трекер;
- автоматически при входящем звонке (если включена соответствующая функция в настройках телефонии);
- через CRM-форму на вашем сайте;
- через REST API или из приложения Маркетплейса.
- если контакт или компания были созданы из карточки сделки (лида).
- с помощью импорта из csv-файла;
- другим бизнес-процессом;
Функция Бизнес-процессы в CRM доступна не на всех тарифах Битрикс24. Узнать подробнее вы можете на странице тарифов.
