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

14.11.19

Функциональные - Документооборот и делопроизводство (СЭД)

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

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

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

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

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

 
Текст обработчика:
//УведомлениеПараллельныхИсполнителей
//Подписка: Задача выполнена

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

	//Создаем вопросы(уведомления)
	Для каждого ТекИсполн из ИсполнителиДляУведомления Цикл
		//Соберём список оставшихся исполнителей
		трИсполнителиСтрокой = "";
		Для каждого врТекИсполн из ИсполнителиДляУведомления Цикл
			Если НЕ врТекИсполн.Исполнитель = ТекИсполн.Исполнитель Тогда
				трИсполнителиСтрокой = трИсполнителиСтрокой+Символы.ПС+врТекИсполн.Исполнитель;
			КонецЕсли;
		КонецЦикла;
		НовыйВопрос = БизнесПроцессы.РешениеВопросовВыполненияЗадач.СоздатьБизнесПроцесс();
		НовыйВопрос.ВидВопроса		= Перечисления.ВидыВопросовВыполненияЗадач.Иное;
		НовыйВопрос.Описание		= "Выполнена смежная задача: "+СокрЛП(Задача)+
				?(СтрДлина(трИсполнителиСтрокой)>0, Символы.ПС+"Исполнители кроме Вас: "+трИсполнителиСтрокой, "");
		НовыйВопрос.ПредметРассмотрения	= ТекИсполн.ЗадачаИсполнителя;
		НовыйВопрос.ГлавнаяЗадача	= ТекИсполн.ЗадачаИсполнителя;
		НовыйВопрос.Дата			= ТекущаяДатаСеанса();
		НовыйВопрос.СрокИсполнения	= ТекущаяДатаСеанса();
		НовыйВопрос.Автор			= БПроцесс.Автор;		//От кого
		НовыйВопрос.ИнициаторПроцесса= ТекИсполн.Исполнитель;//Кому
		НовыйВопрос.Записать();
		НовыйВопрос.Старт();
		//Создать связь с основным процессом
		ЗаписьДБПроцессы = РегистрыСведений.ДочерниеБизнесПроцессы.СоздатьМенеджерЗаписи();
		ЗаписьДБПроцессы.РодительскийПроцесс= БПроцесс;
		ЗаписьДБПроцессы.СвязующаяЗадача	= ТекИсполн.ЗадачаИсполнителя;
		ЗаписьДБПроцессы.ДочернийПроцесс	= НовыйВопрос.Ссылка;
		ЗаписьДБПроцессы.Записать();
		врИсполнителиСтрокой = врИсполнителиСтрокой +Символы.ПС+ ТекИсполн.Исполнитель;
	КонецЦикла;
КонецЕсли;

//Записываем результат в ЖР
Если СтрДлина(врИсполнителиСтрокой)>0 Тогда		
	ЗаписьЖурналаРегистрации("ТМ.Уведомление параллельных исполнителей",
		УровеньЖурналаРегистрации.Информация,Задача.Метаданные(),Задача.Ссылка,
		"Автор процесса: "			+СокрЛП(БПроцесс.Автор)+Символы.ПС+
		"Выполнил(а) задачу: "		+СокрЛП(Задача.Исполнитель)+Символы.ПС+
		"Задача: "					+СокрЛП(Задача)+Символы.ПС+
		"Отправлен(ы) вопрос(ы): "	+врИсполнителиСтрокой);
КонецЕсли;

 

 

 
И ещё один обработчик, для автоматического закрытия ознакомлений:
//АвтоЗакрытиеОзнакомленияСОтветомНаВопросВыполненаСмежнаяЗадача
//Подписка: Создание задачи

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

 

 

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

//infostart.ru/public/618153/

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

Вступайте в нашу телеграмм-группу Инфостарт

Документооборот Бизнес-события бизнес-процесс ВместеСПредыдущим Уведомление Исполнение

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Бухгалтер Пользователь Руководитель проекта 1С:Предприятие 8 Управленческий учет Платные (руб)

Организуйте правильный оборот документов на вашем предприятии в 1С. Ведение учета и хранения документов. Управление потоками документации между подразделениями. Работа с договорами в компании. Автоматизация процессов подготовки, согласования и подписания документов. Сократите время и объем ошибок с 1С:Документооборот! Покупайте в Инфостарт и получайте 15% бонусов на наши услуги, сервисы и мероприятия!

63100 руб.

19.02.2016    114922    157    5    

122

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Документооборот 1С:Комплексная автоматизация 2.х 1С:КА 1С:ДО Платные (руб)

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

135530 руб.

11.06.2015    62841    38    20    

49

Мессенджеры и боты Учет документов 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия государственного учреждения 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Расширение для согласования справочников и документов в основных типовых конфигурациях. Ролевая адресация, условная маршрутизация, чат-бот telegram/max, интеграция с n8n, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    42432    58    60    

87

Разработка Адаптация типовых решений Учетные задачи Производство готовой продукции (работ, услуг) Розничная торговля 1С:Управление торговлей 10 Россия Платные (руб)

Доработка для 1С:Управление торговлей 10.3 (релиз 10.3.88.3) добавляет поддержку маркировки новых категорий товаров согласно постановлениям Правительства РФ 2025–2026 гг. Конфигурация УТ 10.3 снята с поддержки — новые маркируемые категории в типовую поставку больше не попадают. Доработка закрывает этот пробел: новые виды номенклатуры, обмен с ГИС МТ «Честный Знак». Поставляется в виде файла .cf

14640 руб.

23.04.2026    932    6    9    

10

ЭДО и ОФД Учет документов 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время – организует полностью соответствующий закону архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. Выявляет все возможные ошибки в ЭДО и помогает в несколько кликов их исправить. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 5-ти летний опыт 60+ клиентов.

29890 руб.

17.12.2018    50914    82    65    

86

Адаптация типовых решений 1С:Предприятие 8 1С:Документооборот Россия Платные (руб)

Расширение конфигурации для «1С:Документооборот КОРП», редакция 3.0. позволяет: 1.использовать произвольные табличные части в качестве дополнительных реквизитов к документу; 2 использовать произвольные табличные части в шаблонах в формате docx для автоматического заполнения таблиц.

32330 руб.

29.06.2023    12379    35    15    

42

Печатные формы Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для печати договоров с приложением из шаблонов. Быстрая подготовка заполненных договоров без ручного заполнения. Возможность использования дополнительных реквизитов контрагентов и номенклатуры Быстрое сохранение файлов договоров и отправка по электронной почте. Решение в Реестре отечественного ПО.

15000 руб.

20.04.2016    68793    196    107    

108
Для отправки сообщения требуется регистрация/авторизация