
В 1С:Документооборот бизнес-события представляют собой мощный механизм автоматизации, позволяющий реагировать на различные изменения в информационной системе в режиме реального времени. Они открывают широкие возможности для интеграции, уведомлений и выполнения пользовательских действий без необходимости написания сложного кода. В этой статье мы подробно рассмотрим, что такое бизнес-события, обработки и детекторы, а также приведем примеры их использования.
Что такое бизнес-события?
Бизнес-событие – это значимое событие, произошедшее в информационной системе, которое может представлять интерес для других объектов системы или внешних приложений. Это может быть, например, создание нового документа, изменение его статуса, утверждение, отмена утверждения, изменение ответственного и т.д. Важно понимать, что бизнес-событие – это не сам факт изменения, а уведомление» об этом изменении.
В 1С:Документооборот бизнес-события реализованы как объекты метаданных, которые содержат следующую информацию:
Имя: Уникальное имя события.
Обработчики: Список обработчиков, которые будут выполняться при возникновении события.
Параметры: Набор параметров, передаваемых вместе с событием. Эти параметры содержат информацию об объекте, в котором произошло событие, и деталях изменения.
В 1С:Документооборот есть различные типовые виды бизнес событий, которые находятся в справочнике «Виды бизнес-событий»
Помимо типовых бизнес-событий пользователь может добавить в систему свои события.
Для этого нужно:
- Создать вид бизнес-события
- Создать детектор
- Создать обработчик бизнес-события
Что такое детекторы?
Детекторы – это объекты метаданных, которые отслеживают изменения в объектах системы и генерируют бизнес-события при наступлении определенных условий. Детектор привязывается к конкретному объекту (например, к документу, задаче) и определяет, когда и какое бизнес-событие должно быть сгенерировано.
Детекторы позволяют:
Определять условия возникновения события: Например, генерировать событие только при изменении статуса документа на "Утверждено".
Настраивать параметры события: Выбирать, какие параметры будут передаваться вместе с событием.
Фильтровать события: Генерировать событие только для определенных объектов или пользователей.
Что такое Обработчик бизнес-событий?
Обработчик бизнес-событий – это программный код, который выполняется при возникновении события, отслеженного детектором.
Обработчик может выполнять различные действия, например:
- Отправлять уведомления пользователям.
- Создавать новые документы или записи.
- Изменять существующие данные.
- Вызывать внешние обработчики.
- Запускать другие процессы в 1С:ДО.
Принцип работы:
1.Настройка детектора: определяются, какие события необходимы и настраиваются правила отслеживания.
2.Отслеживание событий: Детектор постоянно мониторит изменения в данных.
3.Срабатывание детектора: Когда происходит событие, соответствующее настроенным правилам, детектор «срабатывает».
4.Выполнение обработчика: Детектор вызывает обработчик бизнес-события, связанный с этим событием.
5.Обработка события: Обработчик выполняет заданные действия.
Примеры использования бизнес-событий в 1С:Документооборот
Рассмотрим несколько примеров, демонстрирующих практическое применение бизнес-событий:
1. Автоматическое уведомление об изменении статуса документа:
Событие: «СтатусДокументаИзменен»
Детектор: Отслеживает изменение поля «Статус» в документе.
Обработчик: Отправляет уведомление ответственному пользователю об изменении статуса документа.
Параметры: Идентификатор документа, новый статус, пользователь, изменивший статус.
В этом примере, при изменении статуса документа, например, с «На рассмотрении» на «Утверждено», автоматически отправляется уведомление ответственному сотруднику.
2. Создание задачи при поступлении нового входящего документа:
Событие: «НовыйВходящийДокумент»
Детектор: Отслеживает создание нового документа с типом «Входящий документ».
Обработчик: Создает новую задачу для ответственного пользователя с назначением обработать документ.
Параметры: Идентификатор документа, тема документа, автор документа.
В этом примере, при поступлении нового входящего документа, автоматически создается задача для сотрудника, ответственного за его обработку.
3. Автоматическое изменение приоритета задачи при изменении сроков документа:
Событие: «СрокДокументаИзменен»
Детектор: Отслеживает изменение поля «Срок» в документе.
Обработчик: Изменяет приоритет связанной задачи в зависимости от нового срока документа. Если срок документа приближается, приоритет задачи повышается.
Параметры: Идентификатор документа, новый срок, идентификатор связанной задачи.
Перейдем к практической части и создадим дополнительный обработчик для типового бизнес-события.
Задача: При создании нового документа, если сумма более 1 мил.руб., необходимо присвоить документу Гриф доступа «Коммерческая тайна»
Для этого перейдем в Настройки – бизнес-события – Дополнительные обработчики.
Создаем дополнительный обработчик бизнес-события
Вводим наименование, код обработки событий и указываем, что обработчик включен.
Для того, чтобы обработчик работал, его необходимо связать с тем бизнес-событием, при наступлении которого, необходимо выполнять этот код.
Для этого, перейдем по ссылке «Подписки» – «Создать»
Выбираем нужный вид бизнес-события «Документы: создание нового документа»
Теперь протестируем, как работает наш обработчик. Для этого создадим новый документ и укажем сумму > 1мл.руб. По умолчанию, Гриф доступа в нашей базе, проставляется «Общий»
После записи документа, чтобы обработчик запустился, необходимо дождаться, когда сработает регламентное задание «Обработка произошедших бизнес-событий». Обычно, расписание этого задания настроено на выполнение каждые 30 секунд.
После того, как обработчик сработал, наш документ в списке выделился жирным шрифтом, что означает, что в нем произошли изменения.
Автоматически исправился реквизит «Гриф»
Подведем итоги о том, как этот механизм работает.
Когда создали новый документ, программа 1С:Документооборот зафиксировала запись в регистре сведений «Произошедшие бизнес-события», которая означает факт наступления бизнес-события.
Программа фиксирует все события, нас интересует «Документы: создание нового документа», т.к. именно на него мы подписали наш обработчик.
Обратите внимание на галочку в колонке «Обработано». При создании документа, этой галочки не было. Когда зафиксировалось наше событие, сработало регламентное задание «Обработка произошедших бизнес-событий», далее по связи «Подписки» к событию, запустился обработчик бизнес-событий.
Когда код обработчика выполняется успешно, в колонке «Обработано» появляется галочка.
Если код не отрабатывает по каким-либо причинам, тогда галочка появляется в колонке «Не удалось обработать»
Преимущества использования бизнес-событий:
Гибкость и расширяемость: Бизнес-события позволяют легко добавлять новую функциональность без изменения существующего кода.
Уменьшение нагрузки на сервер: Обработка событий выполняется асинхронно, что снижает нагрузку на сервер.
Заключение
Бизнес-события в 1С:Документооборот – это мощный инструмент автоматизации, который позволяет расширить типовой функционал 1С:ДО, а также значительно повысить эффективность работы с документами или процессами.
Использование бизнес-событий требует понимания принципов их работы и грамотного проектирования логики обработки событий.
Специалисты компании «1С:БИЗНЕС РЕШЕНИЯ» помогут Вам освоить все возможности 1С:Документооборот, помогут установить и настроить программу, проведут бесплатную демонстрацию и ответят на вопросы!
Узнайте подробнее о возможностях программы и получите бесплатную консультацию!
