===== Настраиваемые команды над объектами ===== Начиная с версии Системы //**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|Готовые решения →]]