В системе можно настраивать запуск макроса из задачи по функции бизнесс-процесса.
Для добавления макроса в функцию следует на вкладке Макросы формы функции добавить требуемый макрос и задать соответствие его параметров реквизитам бизнес-процесса. Для каждого входного параметра макроса настраивают соответствующий реквизит процесса, из которого будет передаваться значение в макрос. И наоборот: для выходного параметра макроса указывают реквизит процесса, в который будет выводиться результат выполнения макроса. Реквизиту макроса можно настроить в соответствие только те реквизиты процесса, которые подходят по типу данных. Если требуется запускать макрос с фиксированными параметрами выполнения, то фиксированные значения должны быть установлены в справочнике макросов. В этом случае для фиксированных параметров не нужно указывать соответствующие параметры процесса.
Описание объекта
Настройка выполнения макроса из функции
• | Код - отображается код настройки запуска макроса. |
• | Макрос - выбирается макрос, который будет запускаться из функции. |
o | Выполняется - настраиваются условия запуска макроса. |
• | При выполнении задачи - указывает, что макрос будет запускаться сразу при выполнении задачи бизнес-процесса. |
• | Вручную - указывает, что макрос будет запускаться после нажатия кнопки Выполнить на вкладке Макросы на форме задачи. |
• | При постановке задачи - указывает, что макрос будет запускаться при создании Задачи. В случае запуска макроса при постановке задачи нельзя использовать клиентские макросы, поскольку постановка задачи происходит на сервере предприятия. |
• | Запустить обязательно - указывает, что Задача не будет проведена, пока макрос не будет выполнен. |
o | Реквизиты - настройка соответствия параметров макроса реквизитам бизнес-процесса. |
• | Реквизиты макроса - отображаются реквизиты макроса. |
• | Реквизит процесса - отображаются реквизиты процесса. |
• | Комментарий - задаётся комментарий, который будет виден пользователям, выполняющим задачи по функции. |
Через бизнес-процесс могут выполняться макросы с табличными частями. Например, можно настроить автоматическую отсылку почты (макрос Электронная почта. Отправка текста) при выполнении определенной задачи процесса.
После выбора такого макроса, в окне настройки соответствия параметров и реквизитов в виде дерева отобразятся реквизиты его шапки и табличных частей.
В качестве параметров табличных частей макроса можно использовать значения как реквизитов шапки, так и реквизитов табличных частей бизнес-процесса. Рассмотрим варианты передачи значений на примере табличной части Адреса макроса Электронная почта. Отправка текста.
1. Каждому реквизиту табличной части макроса настроен в соответствие реквизит шапки процесса.
В этом случае табличная часть макроса заполнится только одной строкой. К примеру, мы настроили соответствие так:
Настройка реквизитов табличной части
Причем реквизиты процесса Адрес получателя и Копия скрытая - это реквизиты шапки процесса. Допустим, при запуске сессии первый реквизит заполнили значением A, а второй - значением B. Тогда в табличной части макроса сформируется такая строка (с которой он и будет выполняться):
Адрес |
Скрытая копия |
А |
В |
2. Каждому реквизиту табличной части макроса настроен в соответствие реквизит табличной части процесса.
Тогда количество строк в табличной части макроса будет зависеть от того, сколько строк в ТЧ процесса. Для примера возьмем то же самое соответствие:
Настройка реквизитов табличной части
Однако в этот раз реквизиты процесса Адрес получателя и Копия скрытая зададим как реквизиты табличной части. Допустим при запуске сессии первый реквизит мы заполнили значениями A1, A2, A3, A4, а второй - значениями правда, ложь, ложь, правда. Тогда макрос запуститься на выполнение с такими значениями параметров:
Адрес |
Скрытая копия |
А1 |
правда |
A2 |
ложь |
A3 |
ложь |
A4 |
правда |
3. Одним реквизитам табличной части макроса настроены в соответствие реквизиты табличной части процесса, а другим - шапки процесса.
Тогда количество строк будет равно количеству значений реквизитов табличной части процесса (причем реквизиты макроса, для которых настроены реквизиты ТЧ процесса, будут заполняться соответствующими разными значениями, а реквизиты макроса, для которых заданы реквизиты шапки - одними и теми же значениями).
Например, Адрес получателя мы настроили как реквизит табличной части процесса, а Копия скрытая - как реквизит шапки процесса. Далее задали следующее соответствие при настройке макроса:
Настройка реквизитов табличной части
Допустим, при запуске процесса мы заполнили реквизит Адрес получателя значениями A1, A2, A3, а Копия скрытая - значением ложь. Тогда табличная часть сформируется следующим образом:
Адрес |
Скрытая копия |
А1 |
ложь |
A2 |
ложь |
A3 |
ложь |
Если какие-либо реквизиты процесса, настроенные для реквизитов макроса, не заполнены, то в макрос будут передаваться пустые значения (в соответствии с тремя описанными правилами). Однако в этом случае макрос может выполниться некорректно либо вообще не выполниться.
См. также: