1. ID И ID ЭЛЕМЕНТА CRM
В окне "Вставка значения" при настройке бизнес-процесса существуют два варианта вставки ID: просто "ID" и "ID элемента CRM". Чем они отличаются? Разница в том, как значения выглядят на выходе. Например если ID сделки 1337, то результаты будут следующими:
"ID" выведет 1337
"ID элемента CRM" же покажет D_1337 (где D означает тип сущности "Сделка")
Это формат необходим полям типа "Привязка к элементам CRM" у которых допустимы несколько типов сущностей или в случае, когда при создании задачи нужно указать элементы CRM.
2. ДОПОЛНЕНИЕ ПЕРЕМЕННОЙ В ИТЕРАТОРЕ
При изменении переменной сперва добавьте ссылку на значение это переменной, а после неё впишите новую информацию. Таким образом при каждой итерации в этой переменной будет накапливаться информация без перезаписи.
3. ДОПОЛНЕНИЕ МНОЖЕСТВЕННЫХ ПОЛЕЙ И ПЕРЕМЕННЫХ, ВМЕСТО ПЕРЕЗАПИСИ
При изменении значения в множественном поле или переменной можно установить параметр "Дополнить множественные поля вместо перезаписи". В случае, если эта опция включена, при изменении этого поля или переменной будут сохраняться старые значения, а новые дописываться в конце массива.
4. ПОЛУЧИТЬ ИНФОРМАЦИЮ ОБ ЭЛЕМЕНТЕ CRM: СМАРТ-ПРОЦЕСС
Чтобы действие "Получить информацию об элементе CRM" возвращало значение, необходимо включить в настройках смарт-процессах следующие настройки:
- Использовать в смарт-процессе роботы и триггеры;
- Использовать в смарт-процессе дизайнер бизнес-процессов.
5. СИСТЕМНЫЕ ДАННЫЕ И ФУНКЦИИ
При настройки параметров действия, в случае, если ввести символ =, то отобразится всплывающее окно в котором можно будет быстро вставить системные данные или функции
Системные:
- {=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 перемещает первое значение пользовательского поля в конец
6. ССЫЛКИ В УВЕДОМЛЕНИЯХ И ЗАДАНИЯХ
Для того, чтобы ссылка стала кликабельной, нужно обрамить ёё в соответствующий тег: [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}}/
Сделать ссылку можно для любой сущности. К примеру, если вам необходимо сделать ссылку на сделку, то просто перейдите в любую из них и скопируйте url из адресной строке, после чего вместо ID сделки подставьте нужную переменную.
Текст выделенный синим заменяется на нужный вам. Адрес портала из ссылок можно удалить
7. ФОРМАТИРОВАНИЕ ТЕКСТА
В бизнес-процессах есть возможность отформатировать текст, используя теги. Форматирование доступно в комментариях к сущностям, в задачах, в заданиях и в уведомлениях.
Теги:
<b>Жирный</b>
<i>Курсив</i>
<u>Подчеркивание</u>
[color=blue]Цвет[/color] (цвет можно указывать либо названием, либо кодом, например, #ff0000)
8. ПРИВЯЗКА К СПИСКАМ ДОКУМЕНТА В ЗАПРОСЕ ДОПОЛНИТЕЛЬНОЙ ИНФОРМАЦИИ
Во время создания полей для задания "Запрос дополнительной информации" можно использовать тип поля "Привязка к спискам документа". Так их можно будет присваивать полям документа без сопоставления.
Также используя действие "Изменение переменных" можно редактировать эту переменную. К примеру при повторных согласованиях можно вставлять предыдущие значения.
9. УВЕДОМЛЕНИЕ НА ЗАДАЧУ, ЗАВЕРШЕНИЯ КОТОРОЙ ЖДЕТ БИЗНЕС-ПРОЦЕСС
Если в настройках действия "Задача" установить "ожидание до завершения задачи", то для того, чтобы, к примеру, отправить уведомление, нам пригодится действие "Параллельное выполнение". Для того, чтобы сперва создавалась задача необходимо поместить это действие в левую ветвь, а действие с уведомление установить справа. В таком случае нам будет доступен ID созданной задачи и его можно будет вставить в ссылку в уведомлении.
Например:
Вам поставлена [url=/company/personal/user/{=User: ID}/tasks/task/view/ {=A24388_98030_17242_51455: TaskId}/] новая задача[/url].
Где {=A24388_98030_17242_51455:TaskId} — ID задачи из вставки значения дополнительных результатов.
10. СВЯЗКА ЗАДАНИЙ И ЗАДАЧ
Зачастую пользователям сложнее привыкнуть к заданиям Бизнес-процессов, но иногда они просто необходимы из-за того, что в них доступен более широкий функционал. И для того, чтобы облегчить жизнь пользователям их можно объединить:
Всего необходимо сделать два шага:
- В описание задачи добавить ссылку на задание и примечание о том, что задача завершится автоматически после завершения задания.
- В После задания необходимо установить либо 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] – красный цвет шрифта.
11. ВСТАВКА ЗНАЧЕНИЯ. МОДИФИКАЦИЯ ТИПОВ ДАННЫХ
Порой данные полученные с помощью "Вставки значения" в задачах и уведомлениях отображаются неожиданным образом. К примеру, пользователь добавляет ID, а не только имя. Чтобы это исправить пригодится модификатор friendly..
Пример: {=A68803_4825_89283_91750:InfoUser > friendly}.
Или, в случае, если сумма или списочное значение выводится не в том формате , то на помощь придет модификатор printable.
Больше модификаторов в справке Битрикса.
12. ДОБАВЛЕНИЕ ЭЛЕМЕНТОВ CRM В ЗАДАЧУ ИЗ БИЗНЕС-ПРОЦЕССА
В настройках действия "Задача" в дизайнере бизнес-процессов недостаточно указать в поле "Элементы CRM" поле с нужным вам элементом, так оно не привяжется к задаче.
Вся проблема в том, что эти поля содержат лишь ID сущности, но не содержат её тип. Чтобы это исправить необходимо указать нужный тип самостоятельно:
- Лид ‘L_’&{{ID}}
- Контакт ‘C_’&{{ID}}
- Сделка ‘D_’&{{ID}}
- Компания ‘CO_’&{{ID}}
- Счет (на смартах) ‘SI_’&{{ID}}
Пример добавления Компании и Сделки к Задаче:
= ‘CO_’&{{Компания}}, ‘D_’&{=A89102_36331_72702_3654:DealId}
Для смарт-процессов такого варианта еще нет, но существует решение:
Нужен ID смарт-процесса, в нашем случае 185
Конвертируем с помощью любого сервиса данное число в шестнадцатеричную систему. В случае с ID=185 получаем значение B9.
К началу полученного значения добавляем “T” и получаем – TB9.
Данный код используем в привязке. В нашем примере:
=’TB9_’&{{ID}}
Помимо этого код можно получить с помощью Входящего вебхука и метода crm.enum.ownertype
Сохраните вебхук, нажмите Выполнить. В результатах найдите нужный смарт-процесс. Нам нужен [SYMBOL_CODE_SHORT]