Дополнительные обработчики бизнес событий 1с документооборот пример

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

Писалось на конфе: Документооборот 8 КОРП, редакция 2.1 (2.1.14.4), платформа 8.3.13.1690

При закрытии основной задачи все порождённые вопросы закрываются автоматически.

Автору процесса вопросы не приходят.

//УведомлениеПараллельныхИсполнителей //Подписка: Задача выполнена Задача = Событие.Источник; БПроцесс = Задача.БизнесПроцесс; ТекШаг = 0; врИсполнителиСтрокой= «»; Если ЗначениеЗаполнено(Задача) И ТипЗнч(БПроцесс) = Тип(«БизнесПроцессСсылка.Исполнение») Тогда //При выполнении задачи закрыть все вопросы Запрос = Новый Запрос( «ВЫБРАТЬ | ЗадачаИсполнителя.Ссылка КАК Ссылка |ИЗ | БизнесПроцесс.РешениеВопросовВыполненияЗадач КАК РешениеВопросовВыполненияЗадач | ЛЕВОЕ СОЕДИНЕНИЕ Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя | ПО (ЗадачаИсполнителя.БизнесПроцесс = РешениеВопросовВыполненияЗадач.Ссылка) |ГДЕ | РешениеВопросовВыполненияЗадач.ПредметРассмотрения = «Рассмотрение вопроса: Выполнена смежная задача:%»» | И ЗадачаИсполнителя.Выполнена = ЛОЖЬ»); Запрос.УстановитьПараметр(«ПредметРассмотрения», Задача); НайтиВопросы = Запрос.Выполнить().Выбрать(); Пока НайтиВопросы.Следующий() Цикл ТекЗадача = НайтиВопросы.Ссылка.ПолучитьОбъект(); ТекЗадача.РезультатВыполнения = «#АВТО: Выполнение задачи: «+СокрЛП(Задача); ТекЗадача.ВыполнитьЗадачу(); КонецЦикла; // Расчитать шаги выполнения ИсполнителиДляУведомления = БПроцесс.Исполнители.Выгрузить(); ИсполнителиДляУведомления.Колонки.Добавить(«Шаг»); РаботаСБизнесПроцессамиКлиентСервер.ЗаполнитьШаг(ИсполнителиДляУведомления); // Определить текущий шаг по задаче НайтиТекШаг = ИсполнителиДляУведомления.Найти(Задача,»ЗадачаИсполнителя»); Если НайтиТекШаг <> Неопределено Тогда ТекШаг = НайтиТекШаг.Шаг; КонецЕсли; //Удалить строки лишних шагов, у кого задача выполнена и текущего исполнителя //Если в шаге больше одной строки то это параллельное исполнение Сч = 0; Пока Сч < ИсполнителиДляУведомления.Количество() Цикл Если ИсполнителиДляУведомления[Сч].Шаг <>ТекШаг Тогда ИсполнителиДляУведомления.Удалить(Сч); ИначеЕсли ИсполнителиДляУведомления[Сч].Исполнитель = Задача.Исполнитель ИЛИ ИсполнителиДляУведомления[Сч].Исполнитель = БПроцесс.Автор Тогда ИсполнителиДляУведомления.Удалить(Сч); ИначеЕсли НЕ ЗначениеЗаполнено(ИсполнителиДляУведомления[Сч].ЗадачаИсполнителя) Тогда ИсполнителиДляУведомления.Удалить(Сч); ИначеЕсли ИсполнителиДляУведомления[Сч].ЗадачаИсполнителя.Выполнена Тогда ИсполнителиДляУведомления.Удалить(Сч); Иначе Сч = Сч + 1; КонецЕсли; КонецЦикла; //Создаем вопросы(уведомления) Для каждого ТекИсполн из ИсполнителиДляУведомления Цикл //Соберём список оставшихся исполнителей трИсполнителиСтрокой = «»; Для каждого врТекИсполн из ИсполнителиДляУведомления Цикл Если НЕ врТекИсполн.Исполнитель = ТекИсполн.Исполнитель Тогда трИсполнителиСтрокой = трИсполнителиСтрокой+Символы.ПС+врТекИсполн.Исполнитель; КонецЕсли; КонецЦикла; НовыйВопрос = БизнесПроцессы.РешениеВопросовВыполненияЗадач.СоздатьБизнесПроцесс(); НовыйВопрос.ВидВопроса = Перечисления.ВидыВопросовВыполненияЗадач.Иное; НовыйВопрос.Описание = «Выполнена смежная задача: «+СокрЛП(Задача)+ ?(СтрДлина(трИсполнителиСтрокой)>0, Символы.ПС+»Исполнители кроме Вас: «+трИсполнителиСтрокой, «»); НовыйВопрос.ПредметРассмотрения = ТекИсполн.ЗадачаИсполнителя; НовыйВопрос.ГлавнаяЗадача = ТекИсполн.ЗадачаИсполнителя; НовыйВопрос.Дата = ТекущаяДатаСеанса(); НовыйВопрос.СрокИсполнения = ТекущаяДатаСеанса(); НовыйВопрос.Автор = БПроцесс.Автор; //От кого НовыйВопрос.ИнициаторПроцесса= ТекИсполн.Исполнитель;//Кому НовыйВопрос.Записать(); НовыйВопрос.Старт(); //Создать связь с основным процессом ЗаписьДБПроцессы = РегистрыСведений.ДочерниеБизнесПроцессы.СоздатьМенеджерЗаписи(); ЗаписьДБПроцессы.РодительскийПроцесс= БПроцесс; ЗаписьДБПроцессы.СвязующаяЗадача = ТекИсполн.ЗадачаИсполнителя; ЗаписьДБПроцессы.ДочернийПроцесс = НовыйВопрос.Ссылка; ЗаписьДБПроцессы.Записать(); врИсполнителиСтрокой = врИсполнителиСтрокой +Символы.ПС+ ТекИсполн.Исполнитель; КонецЦикла; КонецЕсли; //Записываем результат в ЖР Если СтрДлина(врИсполнителиСтрокой)>0 Тогда ЗаписьЖурналаРегистрации(«ТМ.Уведомление параллельных исполнителей», УровеньЖурналаРегистрации.Информация,Задача.Метаданные(),Задача.Ссылка, «Автор процесса: » +СокрЛП(БПроцесс.Автор)+Символы.ПС+ «Выполнил(а) задачу: » +СокрЛП(Задача.Исполнитель)+Символы.ПС+ «Задача: » +СокрЛП(Задача)+Символы.ПС+ «Отправлен(ы) вопрос(ы): » +врИсполнителиСтрокой); КонецЕсли;

И ещё один обработчик, для автоматического закрытия ознакомлений:

Читайте также:  Что такое ритейл в бизнес центре

13 Бизнес события — отрывок из самоучителя 1С:Документооборот

Бизнес-события — Настройка и администрирование «1С:Документооборот» — 1С:Учебный центр №1


//АвтоЗакрытиеОзнакомленияСОтветомНаВопросВыполненаСмежнаяЗадача //Подписка: Создание задачи Задача = Событие.Источник; Если ВРег(Лев(Задача.Наименование, 59)) = «ОЗНАКОМИТЬСЯ С ОТВЕТОМ НА ВОПРОС: ВЫПОЛНЕНА СМЕЖНАЯ ЗАДАЧА:» Тогда ТекущаяЗадача = Задача.ПолучитьОбъект(); ТекущаяЗадача.ВыполнитьЗадачу(); КонецЕсли;

Статья про настройку обработчиков Бизнес-событий:

UPD 2023/11/14 Добавил связь с основным процессом

Источник: open-budget.ru

Автоматическое создание входящего документа из исходящего в 1С Документооборот

Автоматическое создание входящего документа из исходящего в 1С Документооборот

Статья описывает подход к автоматизации создания и регистрации входящих документов при регистрации исходящих при взаимодействии в системе 1С Документооборот двух организаций. Статья даёт ответы на следующие вопросы:

  • Как запрограммировать и настроить дополнительные обработчики бизнес-событий?
  • Как автоматизировать взаимодействие двух организаций в 1С Документооборот при обмене корреспонденцией?
  • Как программно создавать входящие документы?
  • Как копировать файлы из одного документа в другой?
  • Как программно регистрировать документы?

Цель – исключить ручное заведение входящих документов при отправке исходящего документа между организациями, работающими в системе.

Для создания нового обработчика необходимо войти в меню Настройка и администрирование – Дополнительные обработчики, создать новый дополнительный обработчик бизнес-события и назвать его «автосоздание_входящих». Далее необходимо заполнить код обработчика и выбрать ответственного.

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

После создания обработчика на вкладке «Подписки» формы обработчика добавляем подписку на событие «Регистрация исходящего документа». Подписка предназначена для связи вида бизнес-события и обработчика. В данном случае выбран предопределенный вид события.

форма привязки подписки к обработчику

После настройки остаётся установить флаг «Обработчик влючен» на форме обработчика.

Первичный анализ событий и результатов работы обработчика можно производить с использованием регистра сведений «Произошедшие бизнес-события» (меню Все функции — регистры сведений). Для каждого зарегистрированного события после его обработки дополнительным обработчиком бизнес-событий устанавливается либо флаг «Обработано», либо флаг «Не удалось обработать».

регистр сведений Произошедшие бизнес-события

Дополнительный анализ при неудачной обработке можно производить с использованием журнала регистрации изменений.

Источник: adsc.ru

Бизнес-события в 1С:Документооборот

Анна Викулина

Лицензия на сервер + 100 рабочих мест. Электронная поставка.

10 000 руб.

Консультации по 1С:Документооборот

Консультации по 1С:Документооборот

Оперативные консультации по 1С. Не тратьте время — мы поможем решить проблему любой сложности.

от 700 руб.

Читайте также:  Топ лучших университетов для бизнеса

Настройка 1С:Документооборот

Настройка 1С:Документооборот

Настройка и доработка 1С:Документооборот для борьбы с ошибками. Гарантия на все результаты работ.

от 2 600 руб.

1С:Документооборот версии КОРП

1С:Документооборот версии КОРП

Идеально подходит для средних, крупных компаний и холдингов со сложным документооборотом

Внедрение 1С ЭДО

Внедрение 1С ЭДО

Типовой функционал, встроенный в прикладные решения 1С

1С:Документооборот помимо настроек различных параметров имеет очень полезный механизм бизнес-событий. Его можно использовать, если стандартных возможностей системы уже не хватает, но уходить с поддержки не хочется. Например, нужно автоматически регистрировать служебные записки после их утверждения, чтобы не усложнять работу пользователей лишней ненужной работой.

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

В типовой версии уже предустановлены готовые бизнес-события, они формируются автоматом и применяются для разнообразных механизмов (ук примеру, по видам событий «Создание задачи» и «Выполнение задачи» могут быть заданы автоматические уведомления).

Планшет

Приглашаем на
бесплатный вебинар!
06 июня в 11:00 мск

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

Бизнес-события состоят из нескольких частей:

  • детекторы событий (типовые и пользовательские);
  • реестр произошедших событий;
  • обработчики событий (типовые и пользовательские).

Рис.1 Бизнес события

Для использования механизма бизнес-событий в настройках программы должна быть установлена соответствующая галочка. Зайдем в «Настройки программы», в раздел «Настройка и администрирование».

Рис.2 Настройки программы

Перейдем по гиперссылке «Общие настройки».

Рис.3 Общие настройки

В настройках должна быть установлена галочка «Бизнес-события».

Рис.4 Бизнес-события в общих настройках

Программой «1С:Документооборот» в разделе «Настройка и администрирование-Бизнес-события» предусмотрен справочник «Виды бизнес-событий».

Рис.5 Виды бизнес-событий

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

Рис.6 Предопределенные бизнес-события

Перечень типовых бизнес-событий в системе:

  1. Возобновление процесса
  2. Добавление в категорию
  3. Завершение процесса
  4. Задача выполнена
  5. Захват файла для редактирования
  6. Изменение брони
  7. Изменение внутреннего документа
  8. Изменение входящего документа
  9. Изменение значения показателя процесса
  10. Изменение исходящего документа
  11. Изменение мероприятия
  12. Изменение отсутствия
  13. Изменение проекта
  14. Изменение проектной задачи
  15. Изменение состава комплекта
  16. Изменение файла
  17. Назначение ответственным за документ
  18. Освобождение файла
  19. Остановка процесса
  20. Отмена выполнения задачи
  21. Перенаправление задачи
  22. Перерегистрация внутреннего документа
  23. Перерегистрация входящего документа
  24. Перерегистрация исходящего документа
  25. Подошел срок задачи
  26. Получение входящего письма
  27. Прерывание процесса
  28. Просрочена задача
  29. Регистрация внутреннего документа
  30. Регистрация входящего документа
  31. Регистрация исходящего документа
  32. Создание брони
  33. Создание внутреннего документа
  34. Создание входящего документа
  35. Создание задачи
  36. Создание исходящего документа
  37. Создание контрагента
  38. Создание мероприятия
  39. Создание отсутствия
  40. Создание проекта
  41. Создание проектной задачи
  42. Создание сообщения
  43. Создание файла
  44. Старт процесса
Читайте также:  Банки относятся к среднему бизнесу

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

Рис.7 Произошедшие бизнес-события

В этом регистре отображается вид события, источник записи, автор и отметка об обработке записи.

Рис.8 Параметры бизнес-событий

Так, например, при создании нового внутреннего документа «Договор аренды» в регистре появляется запись «Создание внутреннего документа», при формировании файла договора в регистре появляется запись «Создание файла» и т.д.

Пользователь может создавать свои бизнес-события и привязать к ним обработчики событий – типовые или пользовательские. Справочник «Дополнительные обработчики» доступен в разделе «Настройка и администрирование-Бизнес-события».

Рис.9 Дополнительные обработчики

С помощью кнопки «Создать» пользователь может задать дополнительный обработчик бизнес-событий.

Рис.10 Создание дополнительного обработчика бизнес-событий

В карточке указывается наименование обработчика, код обработки события и устанавливается галочка «Обработчик включен».

Рис.11 Обработчик включен

Рис.12 Код отмены обработки событий

В меню «Подписки» пользователь указывает подписку для данного обработчика (кнопка «Создать»).

Рис.13 Меню Подписки

Рис.14 Создание Подписки

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

Рис.15 Виды бизнес событий

Бизнес-событие может запускаться при создании документа (внутреннего, входящего, исходящего, его регистрации, получении входящего и т.п.).

Рис.16 Связь вида бизнес-события с обработчиком

Связь вида бизнес-события с обработчиком указывается в данной форме.

Кроме типовых бизнес-событий в системе можно добавлять свои события. Для этого необходимо сделать следующее:

  1. В справочнике «Виды бизнес-событий» добавить новое бизнес-событие;
  2. Перейти к созданию детектора бизнес-событий*. У детектора установить флаг «Детектор включен».
  3. Создать дополнительный обработчик. Установить у обработчика флаг «Обработчик включен». Настроить у обработчика подписку на событие.

*Детектор бизнес события – это механизм, который отслеживает выполнение заданного условия и создает определенное событие в информационной базе.

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

Рейтинг
( Пока оценок нет )
Загрузка ...
Бизнес для женщин