Show/Hide Toolbars

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

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

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

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

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

Smart-10

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

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

Smart-11

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

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

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

smart_package01

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

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

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

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

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

Чтобы создать новое смарт-действие в пакете, нажмите кнопку +Действие. Откроется окно создания смарт-действия.

smart_package02

Создание действия в пакете

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

smart_package03

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

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

smart_package04

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

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

smart_package05

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

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

Значение

Описание

Значение

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

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

Smart/TSQL

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

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

Lua-скрипт

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

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

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

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

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

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

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

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

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

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

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

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

smart_package06

Показ превью

smart_package07

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

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

smart_package08

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

Описание пакета действий отображается при наведении мыши на кнопку информации.

smart_package09

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

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

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

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

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

smart_package11

Кнопка перехода к настройкам повторений

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

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

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

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

smart_package10

Настройка повторений

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

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

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

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

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

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

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

Пример