0 0,00 

Есть вопрос? Звоните!

+7 923 192-46-05

Фишки бизнес-процессов Битрикс24

12.11.2021
2
4166
Фишки БП

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

Содержание

Добавление элементов CRM в задачу из бизнес-процесса

В действии Задача в процессах нельзя просто указать поле Лида, КонтактаСделки или Компании, оно не привяжется к задаче.

Дело в том, что эти поля содержат ID сущности, но не указывают что же это за сущность, поэтому ее нужно указать.

  • Лид ‘L_’&{{ID}}
  • Контакт  ‘C_’&{{ID}}
  • Сделка ‘D_’&{{ID}}
  • Компания ‘CO_’&{{ID}}

Пример добавления Компании и  Сделки к Задаче:

= ‘CO_’&{{Компания}}, ‘D_’&{=A89102_36331_72702_3654:DealId}

Добавление элементов CRM в задачу из БП

Для смарт-процессов такого префикса еще нет, но есть временное решение:

  1. Берем ID смарт-процесса, на моем примере 185
ID смарт-процесса
  1. Конвертируем с помощью любого сервиса данное число в шестнадцатеричную систему. В случае с ID=185 получаем значение B9.
Перевод
  1. К полученному значению дописываем “T” в начале. То есть получаем – TB9.

Данный код используем в привязке. Для моего примера получается:

=’TB9_’&{{ID}}

Также этот код можно получить с помощью Входящего вебхука и метода crm.enum.ownertype

Входящий вебхук

Сохраните вебхук, нажмите Выполнить. В результатах найдите нужный смарт-процесс. Нам нужен [SYMBOL_CODE_SHORT]

Выполнение вебхука

Вставка значения. Модификация типов данных

Иногда данные из вставки значения в задачах и уведомлениях выглядят не так как мы привыкли. Например, пользователь выводится с ID, а не просто имя и фамилия. В этом случае нам поможет модификатор friendly.

Пример: {=A68803_4825_89283_91750:InfoUser > friendly}.

 

Если сумма выводится не так или списочное значение, то поможет модификатор printable.

 

Больше модификаторов в справке Битрикса.

Модификаторы

Значение списка присвоить значению списка в другой сущности

Здесь тоже все не так тривиально. Нельзя просто приравнять списки, придется использовать переменную с ключами значений. 

Для получения значения ключа списка используется параметр select.

Например: {=Variable:Select > select}.

Подробнее в статье Сопоставление полей типа список.

Сопоставление списочных полей в коробке

В коробке можно схитрить и не пользоваться переменной с ключами, как изложено в абзаце выше.

Мы можем просто сделать одинаковые идентификаторы аналогичных списочных полей. Для этого перейдите Администрирование —> Настройки —> Настройки продукта —> Пользовательские поля.

Найдите оба поля и в одном подмените XML_ID на точно такие же как в другом.

XML_ID

Привязка к спискам документа в запросе дополнительной информации

В задании Запрос дополнительной информации при создании полей можно использовать Тип Привязка к спискам документа. В таком случае их можно без всяких сопоставлений присваивать полям документа.

Привязка к спискам документа

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

Системные данные и функции

Если в действии процесса, где вы хотите внести какие-то данные, ввести равно, то для вас откроется мир системных данных и функций 🙂

Системные данные и функции

Системные:

  • {=Workflow:ID} Идентификатор процесса
  • {=Template:TargetUser} Пользователь, запустивший процесс
  • {=User:ID} Текущий пользователь
  • {=System:Now} Текущая дата и время сервера
  • {=System:NowLocal} Текущая дата и время локальное
  • {=System:Date} Текущая дата
  • {=System:Eol} Символ конца строки

Функции:

  • abs вычисление модуля числа
  • dateadd добавление указанного значения к дате
  • datediff вычисление разницы между датами
  • date форматирует вывод даты/времени
  • workdateadd добавляет дни, часы, минуты к указанной дате
  • addworkdays добавляет N рабочих дней к указанной дате
  • isworkday проверяет является ли дата рабочим днем
  • isworktime проверяет является ли дата/время рабочим временем
  • touserdate приводит серверное время к времени пользователя
  • getuserdateoffset возвращает смещение времени пользователя относительно сервера, в секундах
  • if условный оператор
  • intval возвращает целое число
  • floatval возвращает число
  • numberformat форматирует число с разделение групп
  • min возвращает наименьшее число
  • max возвращает наибольшее число
  • rand возвращает случайное число
  • round округляет число
  • ceil округляет дробь в большую сторону
  • floor округляет дробь в меньшую сторону
  • substr возвращает подстроку
  • strpos возвращает позицию первого вхождения подстроки
  • strlen возвращает длину строки
  • implode объединяет множественные значения в строку
  • explode разбивает строку с помощью разделителя
  • randstring возвращает случайную строку
  • merge объединение множественных значений
  • urlencode url-кодирование строки
  • strtolower преобразует строку в нижний регистр
  • strtoupper преобразует строку в верхний регистр
  • ucwords преобразует в верхний регистр первый символ каждого слова в строке
  • ucfirst преобразует первый символ строки в верхний регистр
  • strtotime преобразует текстовое написание даты на английском языке во внутренний формат даты
  • locdate меняет язык вывода даты/ времени на текущий язык портала
  • shuffle перемешивает значения множественного поля
  • firstvalue возвращает первое значение множественного поля
  • swirl перемещает первое значение пользовательского поля в конец
 

Ссылки в уведомлениях и заданиях

Чтобы сделать кликабельную ссылку в задании она должна иметь следующий вид:[url=ссылка]название ссылки[/url]

Примеры ссылок:
Ссылка на просмотр существующего документа crm в слайдере:  /bitrix/components/bitrix/ crm.document.view/slider.php?documentId=[ID]&IFRAME=Y&IFRAME_TYPE= SIDE_SLIDER

Ссылка на папку: /bitrix/tools/disk/focus.php?folderId={=A52715_49501_92679_43337: ObjectId}& action=openFolderList&ncc=1

Ссылка на страницу с заданием текущего бизнес-процесса: /company/personal/bizproc/ {=Workflow:ID}/

Ссылка на пользователя: /company/personal/user/{{=substr({{Ответственный}}, 5)}}/

Ссылка на задачу: /company/personal/user/{{=substr({{Ответственный}}, 5)}}/tasks/task/view/{=A57030_97500_98792_73159:TaskId}

Ссылка на сделку: /crm/deal/details/{{ID}}/

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

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

Уведомление на задачу, завершения которой ждет бизнес-процесс

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

 

Зато мы можем сделать Задачу и Уведомление параллельно. Важно, чтобы сначала создавалась Задача, а потом уже Уведомление, поэтому Задачу размещаем слева.

Уведомление к задаче

В тексте уведомления в таком случае можно уже вставить ссылку непосредственно на Задачу: Вам поставлена [url=/company/personal/user/{=User: ID}/tasks/task/view/ {=A24388_98030_17242_51455: TaskId}/] новая задача[/url].

 

Где {=A24388_98030_17242_51455:TaskId} — ID задачи из вставки значения дополнительных результатов.

Уведомление

Задание и задача в одном флаконе

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

Поэтому иногда приходится совмещать эти действия.

Задание и задача

Здесь есть два момента:

 

  1. В Задаче укажите ссылку на задание и напишите примечание, что задача завершится автоматически после выполнения задания.
  2. После задания необходимо установить либо rest-действие (в маркете есть) с завершением задачи, либо WebHook с завершением задачи.
Задача

Описание задачи:

Ознакомиться с документами по сделке [url=/crm/deal/details/{{ID}}/]{{Название}}[/url].

[b]Перейдите в [url=/company/personal/bizproc/ {=A94232_72478_73372_10926:TaskId}/]  задание[/url][/b]

[b][color=red]После выполнения задания задача завершится автоматически.[/color][/b]

В этом примере приведена ссылка на сделку и ссылка на задание. В примечании тег [b][/b] – жирный шрифт, [color=red][/color] – красный цвет шрифта.

Форматирование текста

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

Форматирование текста в заданиях
Форматирование текста в уведомлениях
Форматирование текста в комментариях

Теги:

  • <b>Жирный</b>
  • <i>Курсив</i>
  • <u>Подчеркивание</u
  • [color=red]Цвет[/color] (цвет можно указывать как названием, так и кодом, например, #ff0000)

Блок и Мои действия

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

 

Также это будет полезно, если вы захотите объединить два разных процесса.

Блок действий

Перемещение и копирование действий

Действия можно перемещать в пределах бизнес-процесса — зажмите действие левой клавишей мыши и переместите в нужное место. Если при этом зажать клавишу Ctrl на клавиатуре, то действие скопируется.

Сворачивание конструкций

Чтобы процесс было проще “читать”, порой удобно свернуть громоздкие конструкции. Тогда процесс будет выглядеть более лаконично. Если же нужно посмотреть более подробно, то конструкцию всегда можно развернуть и углубиться в действия. 

Развернутая конструкция

Импорт и экспорт бизнес-процесса

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

Для импорта в дизайнере бизнес-процесса нажимаем кнопку Импорт в верхнем меню.

Импорт
Импорт файла

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

Итератор

Если Вам нужно произвести ряд действий над несколькими элементами одного типа, например над Контактами или Компаниями, то здесь пригодится Итератор. Пример использования итератора в процессе по отправке сообщения контакту определенного типа в WhatsApp.

Логирование

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

 

На скрине действие Запись в отчет названо Разветвление, там написано по какому пути пошел процесс.

Файл приложен

Наименование процессов

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

Создание БП
5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
2 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Артур

Тема: Ссылки в уведомлениях и заданиях
“Можно сделать ссылку на любую сущность”

Насколько понял, НЕ НА ВСЕ. На дела (кроме задач) – нельзя или не так понял?

2
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
0
    0
    Корзина
    Корзина пустаВернуться в магазин