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 Добавил связь с основным процессом

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

См. также

1С:Документооборот - цена на лицензии КОРП, ПРОФ и ДГУ

Документооборот и делопроизводство (СЭД) Типовые Платформа 1С v8.3 Управленческий учет Платные (руб)

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

48500 руб.

19.02.2016    107237    104    5    

86

1С:Архив

Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Платные (руб)

"1С:Архив" – это универсальная система, обеспечивающая надежное долговременное хранение документов с гарантией юридической значимости на неограниченный срок. "1С:Архив" разработан на основе нормативно-правовых актов по архивному делу, поддерживает операции хранения документов – от попадания в архив до уничтожения – и не имеет ограничений на объем хранимых данных. "1С:Архив" сопровождается методологической поддержкой в виде организационных документов по хранению, входящих в состав "Комплекта нормативных документов" к "Методике управления документами и совместной работой", разработанной специалистами фирмы "1С". Использование "1С:Архива" позволяет организовать единое хранилище всех бумажных и электронных документов из разных информационных систем, вести архивный учет в соответствии с требованиями Росархива и снизить нагрузку на учетные системы. Продукт подходит для малых, средних, крупных предприятий и учреждений любых отраслей.

90000 руб.

24.10.2022    4942    5    1    

4

Таймлист (1С:Совещание, Таймлист Лайт)

Документооборот и делопроизводство (СЭД) Конфигурации 1cv8

«Таймлист» – экосистема сервисов («Таймлист Лайт», «1C:Совещание», «Таймлист Recorder»), основанная на искусственном интеллекте Таймлист, который позволяет эффективно работать с легкими поручениями за счет фиксации всех важных идей при расшифровке и последующем формировании автопротокола встречи. Сервисы, в которые интегрирован ИИ, позволяют работать с задачами (поручениями), полученными из автопротокола.

10000 руб.

06.12.2023    1470    0    0    

7

SALE! 30%

Распознавание и загрузка сканов в 1С "одним нажатием": УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.

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

Универсальная программа для распознавания ЛЮБЫХ СКАНОВ ИЛИ ФОТО ТОВАРНЫХ ДОКУМЕНТОВ в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML и т.д.) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    101835    300    173    

314

Табличная часть в доп. реквизитах и формирование таблиц в шаблоне docx для 1С:ДО 3.0

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

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

29400 руб.

29.06.2023    4652    9    5    

18

Легкий документооборот (+чат-бот для Telegram)

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

Расширение для согласования справочников и документов в конфигурациях "1С: Бухгалтерия 3.0", "Управление нашей фирмой", "1С ERP Управление предприятием", "Бухгалтерия государственного учреждения". Ролевая адресация, условная маршрутизация, последовательное и параллельное согласование, уведомление о новых задачах на почту, блокировка объектов в зависимости от статуса, запрет проведения в зависимости от статуса, автозапуск процессов согласования, отчеты по исполнительской дисциплине. Не требуется снятие конфигурации с поддержки. Настройка без программирования. Версия для 1cfresh.com. Сертификат 1С-Совместимо.

14900 руб.

15.11.2018    28005    26    48    

58

ЭДО: организация архива оригиналов первичных документов, комплексный отчет по ошибкам

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

14880 руб.

17.12.2018    44412    58    51    

72

1С:Бухгалтерия 3.0 ПРОФ + 1С:Документооборот. Модуль интеграции 1С:БП и 1С:ДО (ПРОФ или КОРП)

Обмен между базами 1C Документооборот и делопроизводство (СЭД) Учет документов Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Бесшовная связь с 1С:Документооборот (КОРП или ПРОФ) - вот что обеспечит Вам и Вашим сотрудникам оперативный доступ и продуктивную работу с документами в учётной системе 1С на базе "1С:Бухгалтерия предприятия 3.0 ПРОФ". Интеграция позволяет экономить до 60% времени на поиск и согласование первичной документации (актов, счетов-фактур, накладных), не говоря уже о других полезных функциональных возможностях: создании и запуске бизнес-процессов, работе с электронной почтой, штрихкодировании документов и многом другом.

30000 руб.

23.05.2017    54001    34    67    

41
Оставьте свое сообщение