Show/Hide Toolbars

Руководство администратора

Пакеты действий (Прежний интерфейс)

Ссылки Назад Вверх Вперед

Пакеты действий создаются и редактируются из категории (вкладка Smart) или раздела Общие SMART.

warning_icon  Некоторые действия могут выполняться корректно только в контексте конкретной категории. Такие действия недоступны при создании пакетов действий из раздела "Общие SMART". Например, это относится к действию "Принудительно изменить статус" и т.п.

Вы можете создать пакет, сразу привязав его к событию, или без привязки к событию.

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

proc_event_new_1

Создание смарт-пакета, привязанного к событию

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

proc_event_new_2

Создание смарт-пакета без привязки к событию

Откроется окно редактирования смарт-пакета. В окне указывается название пакета и настраиваются действия, которые будут последовательно выполнятся при запуске пакета. Изменить порядок действий в пакете можно, перетаскивая строки мышкой.

В поле "Описание пакета" вводится произвольный текст, описывающий логику пакета.

proc

Окно редактирования смарт-пакета

warning_icon  Если присвоить пакету имя, которое будет содержать в себе апострофы ('), работать с таким пакетом действий будет невозможно, пока апострофы не будут убраны из названия. Кавычки (") использовать можно.

warning_icon  При выборке пакета действий: если пакет использует смарт-скрипты, привязанные к событию А, то его нельзя выбрать в контексте события B.

Смарт-действия существуют только в составе пакета действий.

Создание и редактирование смарт-действия

Чтобы создать новое смарт-действие в пакете, в окне редактирования пакета нажмите кнопку Создать. Чтобы отредактировать настроенное ранее действие, кликните по кнопке !pencil в начале строки.

smart_action_new

Создание/редактирование смарт-действия в пакете

Откроется окно создания и редактирования смарт-действия. Все реализованные в системе смарт-действия перечислены в выпадающем списке и распределены по смысловым блокам.

smart_action_list

Список доступных смарт-действий

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

smart_action_find

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

После выбора смарт-действия в окне редактирования отобразится список его параметров.

proc_edit

Окно создания и редактирования смарт-действия

Практически в каждом из возможных параметров система предлагает выбрать один из вариантов:

Значение

Описание

Значение

Справа от параметра появляется поле для ввода фиксированного значения параметра нужного типа.

Если значение имеет тип "Булево" (то есть может принимать значение "истина" или "ложь"), рядом с таким полем отображается флажок, который может быть включен или выключен

Smart/TSQL

Появляется возможность выбрать одно из сохраненных ранее смарт-выражений (из выпадающего списка), при необходимости изменить его (кнопка !edit) или создать новое (кнопка +). Смарт-выражение может быть сохранено как в формате Smart, так и в формате TSQL.

warning_icon  Smart-выражение должно возвращать тип данных, соответствующий параметру (например, для флажка это True\False, для даты\времени — DateTime, для задачи — ID задачи и т.п.). Если возвращаемое значение список, который формируется непосредственно в смарт-выражении, то он должен иметь формат {ААА, ВВВ, ССС}

Lua-скрипт

Появляется возможность выбрать один из сохраненных ранее Lua-скриптов (из выпадающего списка), при необходимости изменить его (кнопка !edit) или создать новый (кнопка +).

warning_icon  Lua-скрипт должен возвращать тип данных, соответствующий параметру (например, для флажка это True\False, для даты\времени — DateTime, для задачи — ID задачи и т.п.). Если возвращаемое значение список, который формируется непосредственно в Lua-скрипте, то он должен иметь формат {ААА, ВВВ, ССС}

Оставить пустым

Если параметр необязательный, то значение ему не будет присвоено

Текущая задача

Доступно для параметров типа Задача. В этом случае действие будет выполнено в той же задаче, в которой происходит событие

По умолчанию действия выполняются в той же задаче, из которой вызываются. Если же действие должно быть выполнено в другой задаче (например, из родительской задачи нужно изменить значение ДП в подчиненной задаче), то в поле "Задача" необходимо указать ID целевой задачи. Если смарт-выражение в поле "Задача" возвращает несколько задач, то смарт-действие будет выполнено в каждой из них.

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

При выполнении некоторых смарт-действий можно писать "тихий" комментарий. Такой комментарий не имеет адресатов и не увеличивает счетчик индикатора непрочитанных комментариев у подписчиков задачи.

В параметрах, отмеченных знаком *, значение должно быть указано обязательно!

Автогенерация описания логики смарт-пакета

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

Кликните мышью для просмотра изображения в полном размере

Автоматически сгенерированное описание смарт-действия в пакете

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

Кликните мышью для просмотра изображения в полном размере

Произвольное описание смарт-пакета

Описание смарт-действий, входящих в пакет, отображается также во всплывающем окне при наведении указателя мыши на название смарт-пакета в области привязки пакета в событию.

Кликните мышью для просмотра изображения в полном размере

Описание смарт-пакета во всплывающем окне

Передача параметров между смарт-действиями

Некоторые смарт-действия возвращают результаты, эти результаты записываются в переменные. В описании таких смарт-действий присутствует фраза "(возвращает ХХХ)", где ХХХ — тип результата.  Если в пакете есть такие смарт-действия, то в следующих смарт-действиях при редактировании смарт-выражений в дереве сущностей присутствует пункт "Переменные", в котором можно обратиться к результатам предыдущих смарт-действий

Кликните мышью для просмотра изображения в полном размере

 Обращение к результату предыдущего смарт-действия

Циклические смарт-пакеты

Если действия в пакете должны выполняться несколько раз для разных объектов, для пакета нужно включить признак циклического выполнения.

Кликните мышью для просмотра изображения в полном размере

 Циклический смарт-пакет

Для циклического пакета отображаются две дополнительные настройки:

Список итерируемых объектов — список объектов, над которыми должен выполняться пакет. Список задается смарт-выражением, которое возвращает строку с ID объектов, перечисленными через запятую.  

Условие прерывания цикла — смарт-выражение с условием. Когда условие выполняется, цикл прерывается.

Каждому циклу неявным образом присваивается индекс итерации (счетчик повторов), который доступен в рамках смарт-пакета, вместе с текущим значением итератора (элемента списка итерируемых объектов).

smart_cycle_vars

Переменные циклического смарт-пакета

warning_icon  Переменные цикла доступны в окне редактирования смарт-выражения только в том случае, если в пакете заданы выражения "Список итерируемых объектов" и "Условие прерывания цикла".

warning_icon  Индекс итерации начинается со значения 0.

Выполнение циклического пакета

Логика работы:

Вычисляется список итерируемых объектов и запускается цикл, перебирающий эти объекты;

Значение текущего объекта из списка и индекс итерации передаются во все смарт-выражения в действиях пакета;

Выполнение прекращается, когда пакет выполнен для всех объектов списка или когда выполнено условие прерывания цикла.

Пример