г. Оренбург, ул. Комсомольская, д. 26

пн-пт 09:00 - 18:00

Отдел качества: +7 (922) 886 95 17

Расширение типового функционала 1С:Документооборот 3.0 за счет механизма обработки бизнес-событий

В 1С:Документооборот бизнес-события представляют собой мощный механизм автоматизации, позволяющий реагировать на различные изменения в информационной системе в режиме реального времени. Они открывают широкие возможности для интеграции, уведомлений и выполнения пользовательских действий без необходимости написания сложного кода. В этой статье мы подробно рассмотрим, что такое бизнес-события, обработки и детекторы, а также приведем примеры их использования.

 

Что такое бизнес-события?

 

Бизнес-событие – это значимое событие, произошедшее в информационной системе, которое может представлять интерес для других объектов системы или внешних приложений. Это может быть, например, создание нового документа, изменение его статуса, утверждение, отмена утверждения, изменение ответственного и т.д.  Важно понимать, что бизнес-событие – это не сам факт изменения, а уведомление» об этом изменении.

 

В 1С:Документооборот бизнес-события реализованы как объекты метаданных, которые содержат следующую информацию:

 

Имя: Уникальное имя события.

Обработчики: Список обработчиков, которые будут выполняться при возникновении события.

Параметры: Набор параметров, передаваемых вместе с событием. Эти параметры содержат информацию об объекте, в котором произошло событие, и деталях изменения.

 

В 1С:Документооборот есть различные типовые виды бизнес событий, которые находятся в справочнике «Виды бизнес-событий»

Помимо типовых бизнес-событий пользователь может добавить в систему свои события.

Для этого нужно:

  1. Создать вид бизнес-события
  2. Создать детектор
  3. Создать обработчик бизнес-события

 

Что такое детекторы?

 

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

 

Детекторы позволяют:

 

Определять условия возникновения события:  Например, генерировать событие только при изменении статуса документа на "Утверждено".

Настраивать параметры события:  Выбирать, какие параметры будут передаваться вместе с событием.

Фильтровать события:  Генерировать событие только для определенных объектов или пользователей.

 

Что такое Обработчик бизнес-событий?

 

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

 

Обработчик может выполнять различные действия, например:

  • Отправлять уведомления пользователям.
  • Создавать новые документы или записи.
  • Изменять существующие данные.
  • Вызывать внешние обработчики.
  • Запускать другие процессы в 1С:ДО.

 

Принцип работы:

 

1.Настройка детектора: определяются, какие события необходимы и настраиваются правила отслеживания.

2.Отслеживание событий: Детектор постоянно мониторит изменения в данных.

3.Срабатывание детектора: Когда происходит событие, соответствующее настроенным правилам, детектор «срабатывает».

4.Выполнение обработчика:  Детектор вызывает обработчик бизнес-события, связанный с этим событием.

5.Обработка события: Обработчик выполняет заданные действия.

 

Примеры использования бизнес-событий в 1С:Документооборот

 

Рассмотрим несколько примеров, демонстрирующих практическое применение бизнес-событий:

 

1. Автоматическое уведомление об изменении статуса документа:

Событие: «СтатусДокументаИзменен»

Детектор: Отслеживает изменение поля «Статус» в документе.

Обработчик: Отправляет уведомление ответственному пользователю об изменении статуса документа.

Параметры: Идентификатор документа, новый статус, пользователь, изменивший статус.

 

В этом примере, при изменении статуса документа, например, с «На рассмотрении» на «Утверждено», автоматически отправляется уведомление ответственному сотруднику.

 

2. Создание задачи при поступлении нового входящего документа:

Событие: «НовыйВходящийДокумент»

Детектор: Отслеживает создание нового документа с типом «Входящий документ».

Обработчик: Создает новую задачу для ответственного пользователя с назначением обработать документ.

Параметры: Идентификатор документа, тема документа, автор документа.

 

В этом примере, при поступлении нового входящего документа, автоматически создается задача для сотрудника, ответственного за его обработку.

 

3. Автоматическое изменение приоритета задачи при изменении сроков документа:

Событие: «СрокДокументаИзменен»

Детектор: Отслеживает изменение поля «Срок» в документе.

Обработчик: Изменяет приоритет связанной задачи в зависимости от нового срока документа. Если срок документа приближается, приоритет задачи повышается.

Параметры: Идентификатор документа, новый срок, идентификатор связанной задачи.

 

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

 

Задача: При создании нового документа, если сумма более 1 мил.руб., необходимо присвоить документу Гриф доступа «Коммерческая тайна»

Для этого перейдем в Настройки – бизнес-события – Дополнительные обработчики.

Создаем дополнительный обработчик бизнес-события

Вводим наименование, код обработки событий и указываем, что обработчик включен.

 

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

Для этого, перейдем по ссылке «Подписки» – «Создать»

Выбираем нужный вид бизнес-события «Документы: создание нового документа»

 

 

 

Теперь протестируем, как работает наш обработчик. Для этого создадим новый документ и укажем сумму > 1мл.руб. По умолчанию, Гриф доступа в нашей базе, проставляется «Общий»

После записи документа, чтобы обработчик запустился, необходимо дождаться, когда сработает регламентное задание «Обработка произошедших бизнес-событий». Обычно, расписание этого задания настроено на выполнение каждые 30 секунд.

После того, как обработчик сработал, наш документ в списке выделился жирным шрифтом, что означает, что в нем произошли изменения.

Автоматически исправился реквизит «Гриф»

Подведем итоги о том, как этот механизм работает.

 

Когда создали новый документ, программа 1С:Документооборот зафиксировала запись в регистре сведений «Произошедшие бизнес-события», которая означает факт наступления бизнес-события.

Программа фиксирует все события, нас интересует «Документы: создание нового документа», т.к. именно на него мы подписали наш обработчик.

 

Обратите внимание на галочку в колонке «Обработано». При создании документа, этой галочки не было. Когда зафиксировалось наше событие, сработало регламентное задание «Обработка произошедших бизнес-событий», далее по связи «Подписки» к событию, запустился обработчик бизнес-событий.

Когда код обработчика выполняется успешно, в колонке «Обработано» появляется галочка.

Если код не отрабатывает по каким-либо причинам, тогда галочка появляется в колонке «Не удалось обработать»

Преимущества использования бизнес-событий:

 

Гибкость и расширяемость: Бизнес-события позволяют легко добавлять новую функциональность без изменения существующего кода.

Уменьшение нагрузки на сервер: Обработка событий выполняется асинхронно, что снижает нагрузку на сервер.

 

Заключение

 

Бизнес-события в 1С:Документооборот – это мощный инструмент автоматизации, который позволяет расширить типовой функционал 1С:ДО, а также значительно повысить эффективность работы с документами или процессами.

Использование бизнес-событий требует понимания принципов их работы и грамотного проектирования логики обработки событий.

Специалисты компании «1С:БИЗНЕС РЕШЕНИЯ» помогут Вам освоить все возможности 1С:Документооборот, помогут установить и настроить программу, проведут бесплатную демонстрацию и ответят на вопросы! 

Узнайте подробнее о возможностях программы и получите бесплатную консультацию!