Триггеры. Автоматизация работы пользователей
Механизм триггеров позволяет автоматизировать выполнение различных действий пользователей. Использование механизма позволяет сократить время работы пользователей с программой, уменьшить количество ошибок при вводе данных, обеспечить соблюдение регламентов по работе с программой.
Механизм триггеров является универсальным и расширяемым. Можно настроить триггеры для решения ряда задач без привлечения программистов. Например, можно создать триггер, который уведомит клиента о поступление от него денег или оповестит коммерческого директора о выставление клиенту коммерческого предложения на 1 миллион.
При необходимости механизм триггеров может быть расширен для решения различных задач. Расширение механизма триггеров выполняется 1С программистом без внесения изменений в код программы и не влияет на обновление программы в будущем.
Как устроены триггеры?
Триггеры — это настройки программы описывающие события системы, условия и действия которые нужно выполнить. Каждый триггер обязательно содержит:
- Условие срабатывания триггера — событие, которое вызовет срабатывание триггера и условие, при соблюдении которого будет выполнено действие триггера.
- Действие триггера — действие, которое необходимо выполнить при срабатывании триггера и выполнении заданного условия.
Условия срабатывания и действия триггеров являются независимыми от триггера и могут быть использованы одновременно в нескольких триггерах. Например, действие «Отправить сообщение SMS» может быть использовано в триггерах, срабатывающих по условиям «Получена оплата от покупателя» и «Зафиксирован интерес клиента на сумму более…». Условия срабатывания триггеров и действия триггера настраиваются для каждого триггера отдельно. Например, действие триггера «Отправить сообщение SMS» используется в триггерах «Получена оплата от покупателя» и «Зафиксирован интерес клиента на сумму более…». Очевидно, что тексты сообщений SMS будет различаться, и их нужно будет настраивать для каждого триггера отдельно.
Программа уже содержит условия срабатывания триггеров и действия триггеров, которые можно использовать в произвольном сочетании при создании новых триггеров. Например, программа содержит условие срабатывания триггера «При записи входящего электронного письма (проверка связи с Интересом клиента)». Данное условие будет выполнено при получении ответа на электронное письмо, отправленное клиенту из документа Интерес клиента. Подробное описание примеров использования поставляемых условий срабатывания триггеров и действий триггеров приведено в статье «Примеры настройки механизма триггеров».
При необходимости можно создавать новые условия срабатывания триггеров. Например, добавить условие срабатывания триггера при создании Коммерческого предложения клиенту (дополнительно можно настроить ограничение по сумме предложения). Более сложные условия создаются программистом 1С.
Новые действия триггеров могут быть добавлены в систему только программистом 1С.
Информация!
Обычно триггеры срабатывают при изменении данных пользователем программы. Но можно настроить триггер, который будет срабатывать по заданному расписанию. Настройка триггеров описана в разделе Настройка срабатывания триггера по расписанию.
Добавление и настройка триггера
Добавлять и настраивать новые триггеры может только администратор системы. Для добавления нового триггера:
- Откройте список триггеров Настройки — НСИ — Триггеры и нажмите кнопку Создать.
- Заполните наименование триггера.
- Выберите условие срабатывания триггера.
- Нажмите на пиктограмму «шестеренка» напротив условия срабатывания триггера и выполните настройку.
- Выберите действие триггера.
- Нажмите на пиктограмму «шестеренка» напротив действия триггера и выполните настройку.
- Включите триггер. Установите флаг Включен.
Добавление нового триггера
Создание нового условия срабатывания триггера
Если в списке условий срабатывания триггера нет подходящего условия, тогда создайте новое условие. Например вы можете настроить условие срабатывания триггера при записи документа Коммерческое предложение. Для этого:
- Откройте список условий срабатывания триггеров Настройки — НСИ — Условия срабатывания триггеров и нажмите кнопку Создать.
- В поле Тип объекта выберите значение Документ.
- В поле Объект обработки выберите объект связанный с триггером, в нашем примере это Коммерческое предложение клиенту.
- В поле Событие выберите При записи.
Создание нового условия срабатывания триггера
Важно!
Не следует выбирать в поле Событие значение, отличное от При записи. Изменение данного значения допускается только программистом 1С.
Описанным способом создаются простые условия срабатывания триггеров. Новые сложные условия добавляются программистом 1С.
Настройка условий срабатывания и действий триггера
Для работы триггера необходимо отдельно выполнить настройки условий и действий триггера. Для этого:
- Найдите и откройте настраиваемый триггер.
- Нажмите на пиктограмму «шестеренка» напротив условия срабатывания триггера и выполните настройку.
- Нажмите на пиктограмму «шестеренка» напротив поля действие триггера и выполните настройку.
Настройка условий срабатывания и действий триггеров
Настройка сложных условий индивидуальна и здесь не описана. Настройка простых условий выполняется в стандартном окне. Например на скриншоте ниже описана настройка условия срабатывания «При записи коммерческого предложения». Установлен отбор по полю «Сумма документа». Условие отработает в случае если сумма предложения больше 1 000 000.
Настройка простых условий
Повторное срабатывание триггера в случае ошибки выполнения
При необходимости можно включить срабатывание триггера в случае невозможности его выполнения. Необходимость повторного срабатывания триггера включается в его настройках.
Настройка отложенного выполнения триггера
Настройку рекомендуется использовать в триггерах, изменяющих данные, например в триггере, который изменяет состояние Интереса. С включенной настройкой триггер изменит состояние Интереса, даже если в момент его срабатывания Интерес был заблокирован для изменения. Дополнительно в настройках можно указать что триггер должен сработать в случае, если в Интересе было изменено состояние (например состояние было изменено пользователем на форме Интереса).
Отложенное выполнение триггеров
При необходимости можно в настройках триггера можно указать, через какой период после срабатывания триггера будет выполнено его действие. Настройка расширяет возможности автоматизации различных операций.
Настройка отложенного выполнения триггера
Настройка срабатывания триггера по расписанию
Обычно триггеры срабатывают при изменении данных пользователем программы. Но можно настроить триггер, который будет срабатывать по заданному расписанию. Для настройки запуска триггера по расписанию нужно:
- Открыть триггер и выбрать условие срабатывания триггера По расписанию.
- Нажать на пиктограмму и выполнить настройку расписания.
Настройка расписания срабатывания триггера
Пример настройки расписания
Для ежедневной работы триггера необходимо в поле Повторять каждые установить 1. На закладке Дневное можно уточнить периодичность срабатывания триггера в течение дня.
Информация
Для принудительного запуска срабатывания триггера нужно:
- Открыть список регламентных заданий Настройки — Поддержка и обслуживание — Регламентные и фоновые задания.
- Найти в списке по имени триггера регламентное задание, выделить его и нажать на кнопку Выполнить сейчас.
Важно!
Если база работает на сервере «1С», тогда триггер сработает сразу после настройки и включения. К срабатыванию ранее включенного триггера приводит также изменение его расписания или названия.
Настройка действий триггеров
Настройка действий триггеров индивидуальна. Настройка поставляемых с решением действий описана в разделе Примеры настройки механизма триггеров.
Рассмотрим настройку включенного в программу действия триггера Отправить E-mail. В первую очередь необходимо определить получателя оповещения. Доступно несколько способов определения получателя:
Из объекта — получатель берется из выбранного реквизита объекта вызвавшего срабатывание триггера. На скриншоте ниже выбран реквизит Контакт документа Коммерческое предложение указанного в условие срабатывания триггера.
Указанный — выбирается конкретный получатель оповещения.
Из связанного интереса или другие варианты описаны в разделе документации Примеры настройки механизма триггеров.
Также необходимо заполнить следующие поля:
- Вид контактной информации — в поле уточняется вид e-mail на который будет отправлено сообщение. В поле можно выбрать только вид контактной информации предназначенный для оповещений.
- Использовать шаблон — флаг устанавливается если оповещение создается по шаблону.
Настройка действия Отправить E-mail
Повторное срабатывание триггера
Триггер срабатывает для каждого объекта только один раз. Например настроен триггер который при записи коммерческого предложения на 1 000 000 рублей отправляет SMS сообщение директору. Данный триггер сработает только один раз при записи коммерческого предложения с суммой более 1 000 000. В случае внесения изменений в данное предложение директор повторно не будет оповещен.
Информация!
Триггеры, в которых используется условие срабатывания По расписанию, не имеют ограничения по числу срабатываний.
Журнал работы триггера
Журнал работы триггера предназначен для мониторинга корректности работы триггеров. Поэтому ошибки работы триггеров всегда записываются в журнал работы триггеров. Рекомендуем регулярно формировать отчет Настройки — Отчеты — Журнал работы триггера с установленным отбором Только ошибки. Ошибки в журнале регистрации означают, что триггер не сработал. Для анализа причины появления ошибки необходимо привлечение 1С программиста.
При необходимости мониторинга срабатывания триггеров можно включить регистрацию работы триггера в журнале регистрации. Для этого:
- Выберите триггер в списке Настройки — НСИ — Триггеры.
- Установите флаг Регистрировать в журнале все срабатывания.
Рекомендуем включать данную настройку временно на период отладки работы триггера.
Расширение возможностей механизма триггеров
При необходимости возможности триггеров можно расширить для решения различных бизнес- задач. Данная работа выполняется программистом 1С без внесения изменений в код программы. То есть расширение возможностей триггеров не требует снятия конфигурации с поддержки и как следствие — отказа от автоматического обновления программы.
Создание и настройка триггеров выполняется путем создания новых условий срабатывания триггеров и новых действий триггеров. При этом параметры и логика работы задаются во внешних обработках «1С».
Внешняя обработка состоит из:
- объекта срабатывания триггера;
- параметров работы условия или действия, настраиваемых индивидуально для каждого триггера;
- формы ввода параметров пользователем;
- набора обязательных функций модуля обработки.
Параметры работы условия или действия сохраняются в реквизитах и табличных частях внешней обработки. Формой ввода параметров является форма внешней обработки с именем Форма.
Добавление новых сложных условий срабатывания
Условие срабатывания может быть простым (условие срабатывания триггера проверяется с использованием системы компоновки данных) или сложным (логика проверки описана во внешней обработке «1С»). Для сложного условия срабатывания триггера необходимо:
- Создать внешнюю обработку «1С».
- Открыть форму нового условия срабатывания триггера и загрузить внешнюю обработку «1С».
Загрузка внешней обработки проверки условия срабатывания триггера
Для корректной работы внешняя обработка должна содержать экспортную функцию Выполнить Проверку() и реквизит Объект Проверки. Функция проверяет условие срабатывания триггера для объекта проверки и возвращает результат проверки (Истина или Ложь).
Добавление новых действий триггеров
Для создания нового действия триггера нужно:
- Создать внешнюю обработку «1С».
- Открыть форму нового действия триггера и загрузить внешнюю обработку «1С».
Для корректной работы внешняя обработка должна содержать экспортную функцию Выполнить Действие() и реквизит Объект Действия. Функция выполняет действие для объекта срабатывания триггера и возвращает результат выполнения (Истина или Ложь). В случае, если функция возвращает Ложь будет создана новая запись об ошибки в журнале работы триггера.
Отладка внешних обработок
Внешние обработки для условий и действий триггеров можно отлаживать в конфигураторе. Для этого:
- Включите режим отладки на форме условия или действия триггера и выберите путь ко внешней обработке.
- Откройте внешнюю обработку в конфигураторе «1С» и поставьте точку останова.
- Запустите 1С:Предприятие в режиме отладки.
- Выполнение условия старта проверки условий срабатывания триггера.