===== Настраиваемые команды над объектами =====
Начиная с версии Системы //**3.24**// мы реализовали механизм, позволяющий создавать дополнительные команды над **пользовательскими** объектами без необходимости доработки Системы. \\ Нужные команды вы сможете настроить по своему усмотрению.
==== Как создать команду? ====
Создавать или изменять команды может только Администратор Системы.
- Перейдите на страницу "Администрирование", затем на страницу "Объекты",
- Перейдите в свойства нужного **пользовательского** объекта,
- Портлет "Настраиваемые команды" расположен под портлетом "Ключевые показатели", \\ {{:releases:enable_triggers.png?direct|}}
- Заполните поля "Название команды" и "Описание", \\ {{:product:triggers:screenshot_12.png?nolink|}}
- Команда, которую создали внутри объекта, будет отображаться в виде кнопки в карточке всех объектов такого же типа в меню команд ("три точки"). \\ {{:releases:custom_triggers_for_users.png?direct&900|}}
''Начиная с версии системы 3.29'' появилась возможность также видеть и вызывать команды через [[product:objects:users:task_list:new_list|списки ]] - через иконку «три точки» объекта или через иконку «≡», если список представлен в виде таблицы.
{{ :product:objects:users:task_list:dots02.png?direct |}}
{{ :product:objects:users:task_list:lines.png?direct |}}
**Что нужно знать про настройку команд**:\\
К вашему экземпляру Системы должен быть подключён [[product/triggers/start|модуль триггеров]].\\
==== Параметры настраиваемой команды ====
''(доступно начиная с версии 3.27)''
На странице настраиваемой команды в Административной панели есть возможность задать перечень групп пользователей, для которых будет доступна эта команда в меню объекта:
{{:product:triggers:2023-07-03_15-24-41.png?500|}}
\\
Если команда создана без выбора групп пользователей, то она будет видна и доступна для вызова в меню «…» на карточках объектов данного типа у:
* Пользователей с лицензией «Администратор».
* Автора настраиваемой команды
\\
Если же в настройках команды указаны определенные группы пользователей, то она будет видна и доступна для вызова в меню «…» на карточках объектов данного типа у:
* Пользователей, которые входят в состав указанных групп (без дочерних), за исключением пользователей с лицензией "Наблюдатель". Если необходимо, чтобы пользователи из дочерних групп также имели доступ к этому пункту меню, необходимо их выбрать в настройках команды.
* Пользователей с лицензией «Администратор».
* Автора настраиваемой команды.
\\
Также можно настроить передаваемые при вызове команды параметров:
{{:product:triggers:2023-07-03_15-38-53.png|}}
\\
В список параметров настраиваемой команды могут быть добавлены только реквизиты, имеющие тип:
* Строка (форматы: Текст, URL, E-Mail, Сетевая папка)
* Число (форматы: Число, Денежный, Проценты)
* Дата
* Процесс
* Классификатор (в т.ч. основанный на базовом объекте: Проект, Документ, Дискуссия, Пользователь, Статус объекта)
\\
После выбора реквизитов необходимо настроить их параметры:
{{:product:triggers:2023-07-03_15-46-46.png|}}
\\
* **Обязательный** - активируйте чекбокс, чтобы значение реквизита было обязательным к заполнению в окне ввода значений параметров команды при ее вызове.
* **Название передаваемого параметра** - название параметра, под которым в событие «Вызов настраиваемой команды по объекту» будет передано значение соответствующего реквизита.
* **Значение по умолчанию** - значение реквизита которое будет выбрано по умолчанию в окне ввода значений параметров команды при ее вызове.
* **Действия** - позволяет удалить реквизит
\\ и затем нажать кнопку "Сохранить" в левой верхней части портлета "Параметры команды"
==== Использование настроенной команды ====
Система присваивает созданной команде уникальный идентификатор (guid). \\
Вызов команды из меню карточки объекта сгенерирует событие "**Вызов настраиваемой команды по объекту**" в шину данных с определёнными параметрами, включая guid команды и guid объекта, из которого вызвана команда. \\
На это событие можно подписать [[product/triggers/how_it_works|триггер]], который выполнит написанный в нем скрипт.
\\
''(доступно начиная с версии 3.27)''
Если у настраиваемой команды заданы параметры (добавлен хотя бы один реквизит), то при ее вызове на странице объекта отображается всплывающее окно «Параметры команды»:
{{:product:triggers:2023-07-03_16-19-02.png|}}
\\
В нем необходимо выбрать значения параметров и затем нажать кнопку "Выполнить".\\
При таком сценарии, кроме guid команды и guid объекта, из которого вызвана команда, в событие для обработки триггером будут переданы в качестве параметров и выбранные в форме значения реквизитов.
==== Что можно сделать? ====
С помощью такой «кнопки» вы сможете настроить самые разные команды.\\ Например,
- Выгрузить из объекта все приложенные документы,
- Направить уведомление на почту,
- Сохранить базовый план вашего проекта, не загружая диаграмму Ганта,
- Выполнить регламентную процедуру,
- Сформировать запрос на изменение или согласование данных, которые внесли в объект,
- Отправить запрос на доработку Системы - такую команду мы сделали в ADVANTA для коллег из других отделов.
Функционал таких команд ограничивается реализованными в системе методами API, которые регулярно пополняются. \\ Более подробно про реализованные API-методы вы можете прочитать [[product/api/list|здесь]], а для получения информации об установке такого функционала в вашей системе вы можете обратиться в техническую поддержку или к вашему аккаунт-менеджеру.
Персонализированные команды позволяют реализовывать интеграции с другими системами в рамках API-методов. \\ Почитайте [[https://wiki.a2nta.ru/lib/exe/fetch.php/product/api/example_integration.pdf|примеры интеграционных решений на базе системы ADVANTA]].
==== Кейсы ====
Вот так, например, мы реализовали **отправку поручений из системы на почту** для одного из наших заказчиков.\\
Мы получили запрос: необходимо реализовать отправку объекта "Поручение" на email с указанием сроков и возможностью вложения документов, прикреплённых к объекту. \\
Добавили кнопку «Отправить поручение на почту»… \\ {{:product:triggers:screenshot_1.png?nolink|}} \\
...чтобы поручение приходило как входящее письмо со всеми нужными данными. \\ {{:releases:group_2.png?direct|}} \\ C письмом можно дальше работать в рамках почтового клиента или сохранить нужные документы к себе на устройство.
Логика была реализована функционалом [[product/triggers/about|модуля триггеров]] и [[product/api/list|API Системы]].
[[product/triggers/start|← К оглавлению]]
[[/product/triggers/library|Готовые решения →]]