Запрет ознакомления с результатом согласования в 1С:Документооборот 3.0

26.05.25

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

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

Реализация будет в расширении и настройках дополнительных реквизитах

1. Для всех (или только требуемых) видов документов добавляем 4 булевых реквизита 

НеОбрабатыватьРезультатСогласования, НеОбрабатыватьРезультатПриглашения, НеОбрабатыватьРезультатУтверждения, НеОбрабатыватьРезультатРегистрации

2. В настройках заполнения присваиваем им нужные значения (и заодно можно сделать их вообще не видимыми)

3. Создаем расширение, в него из основной конфигурации добавляем бизнес процессы и в модуле обьекта расширения добавляем

БП Согласование:

&ИзменениеИКонтроль("СоздатьЗадачиОзнакомиться")
Функция DIS_СоздатьЗадачиОзнакомиться()
#Вставка 
	//---------------------------------------------------------
	// Доработки:
	//
	// опциональное отключение задачи ознакомления с результатом
	//---------------------------------------------------------  
#КонецВставки

	УстановитьПривилегированныйРежим(Истина);

	// Если процесс завершился положительно, то задачу ознакомления не формируем.
	Если РезультатСогласования = Перечисления.РезультатыСогласования.Согласовано Тогда
		Возврат Неопределено;
	КонецЕсли;    
	
#Вставка 
	Если DIS_ОбщиеФункции.НеОбрабатыватьРезультатПроцесса(Ссылка) Тогда 
		Возврат Неопределено;
	КонецЕсли;
#КонецВставки

	Задача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
	ЗаполнитьЗадачуОзнакомиться(Задача);

	ЗадачаСсылка = Задачи.ЗадачаИсполнителя.ПолучитьСсылку();
	Задача.УстановитьСсылкуНового(ЗадачаСсылка);

	НоваяСтрока = РезультатыОзнакомлений.Добавить();
	НоваяСтрока.НомерИтерации 	  = НомерИтерации;
	НоваяСтрока.ЗадачаИсполнителя = ЗадачаСсылка;

	Возврат Задача;

КонецФункции

БП Приглашение:

&ИзменениеИКонтроль("ОзнакомитьсяПередСозданиемЗадач")
Процедура DIS_ОзнакомитьсяПередСозданиемЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка)
#Вставка 
	//---------------------------------------------------------
	// Доработки:
	//
	// опциональное отключение задачи ознакомления с результатом
	//---------------------------------------------------------  
#КонецВставки

	СтандартнаяОбработка = Ложь;

	// Если процесс завершился положительно, то задачу ознакомления не формируем.
	Если РезультатПриглашения = Перечисления.ОбщиеРезультатыПриглашения.ПринятоВсемиУчастниками Тогда
		Возврат;
	КонецЕсли;

#Вставка 
	Если DIS_ОбщиеФункции.НеОбрабатыватьРезультатПроцесса(Ссылка) Тогда 
		Возврат;
	КонецЕсли;
#КонецВставки

	СоздатьЗадачуОзнакомиться(ФормируемыеЗадачи);

КонецПроцедуры

БП Утверждение:


&ИзменениеИКонтроль("ОзнакомитьсяПередСозданиемЗадач")
Процедура DIS_ОзнакомитьсяПередСозданиемЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка)
#Вставка 
	//---------------------------------------------------------
	// Доработки:
	//
	// опциональное отключение задачи ознакомления с результатом
	//---------------------------------------------------------  
#КонецВставки

	СтандартнаяОбработка = Ложь;

	// Если процесс завершился положительно, то задачу ознакомления не формируем.
	Если РезультатУтверждения <> Перечисления.РезультатыУтверждения.НеУтверждено Тогда
		Возврат;
	КонецЕсли;

#Вставка 
	Если DIS_ОбщиеФункции.НеОбрабатыватьРезультатПроцесса(Ссылка) Тогда 
		Возврат;
	КонецЕсли;
#КонецВставки

	Задача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
	ЗаполнитьЗадачуОзнакомиться(Задача);

	ЗадачаСсылка = Задачи.ЗадачаИсполнителя.ПолучитьСсылку();
	Задача.УстановитьСсылкуНового(ЗадачаСсылка);

	ФормируемыеЗадачи.Добавить(Задача);

	УстановитьПривилегированныйРежим(Истина);
	НоваяСтрока = РезультатыОзнакомлений.Добавить();
	НоваяСтрока.НомерИтерации 	  = НомерИтерации;
	НоваяСтрока.ЗадачаИсполнителя = ЗадачаСсылка;

	РаботаСБизнесПроцессами.ЗаписатьПроцесс(ЭтотОбъект, "ПростаяЗапись");

КонецПроцедуры

БП Регистрация:


&ИзменениеИКонтроль("ОзнакомитьсяПередСозданиемЗадач")
Процедура DIS_ОзнакомитьсяПередСозданиемЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, СтандартнаяОбработка)
#Вставка 
	//---------------------------------------------------------
	// Доработки:
	//
	// опциональное отключение задачи ознакомления с результатом
	//---------------------------------------------------------  
#КонецВставки

	СтандартнаяОбработка = Ложь;

	// Если процесс завершился положительно, то задачу ознакомления формируем
	// после завершения процесса.
	Если РезультатРегистрации <> Перечисления.РезультатыРегистрации.НеЗарегистрировано Тогда
		Возврат;
	КонецЕсли;

#Вставка 
	Если DIS_ОбщиеФункции.НеОбрабатыватьРезультатПроцесса(Ссылка) Тогда 
		Возврат;
	КонецЕсли;
#КонецВставки

	Задача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
	ЗаполнитьЗадачуОзнакомиться(Задача);

	ЗадачаСсылка = Задачи.ЗадачаИсполнителя.ПолучитьСсылку();
	Задача.УстановитьСсылкуНового(ЗадачаСсылка);

	ФормируемыеЗадачи.Добавить(Задача);

	УстановитьПривилегированныйРежим(Истина);
	НоваяСтрока = РезультатыОзнакомлений.Добавить();
	НоваяСтрока.НомерИтерации 	  = НомерИтерации;
	НоваяСтрока.ЗадачаИсполнителя = ЗадачаСсылка;

	РаботаСБизнесПроцессами.ЗаписатьПроцесс(ЭтотОбъект, "ПростаяЗапись");

КонецПроцедуры

Ну и собственно добавляем в общий модуль  DIS_ОбщиеФункции

Функция ПолучитьЗначениеДополнительногоРеквизита(ОбъектСсылка, ИдентификаторДляФормул) Экспорт 
	Значение = Неопределено;
	Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("ИдентификаторДляФормул",ИдентификаторДляФормул);
	Если ЗначениеЗаполнено(Свойство) Тогда 
		Значение = УправлениеСвойствами.ЗначениеСвойства(ОбъектСсылка, Свойство);  
	КонецЕсли;
	Возврат Значение;
КонецФункции

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

 

На этом собственно все, запускаем и проверяем, ну и последнее: поскольку обработки инициатором теперь нет, в карту маршрута нужно добавить условия, в моем случае я делаю проверку на невыполненый этап и меняю маршрут на нужный мне прямо на схеме комплексного процесса

 

 

Гарантированно работает на Документооборот КОРП, редакция 3.0 (3.0.16.33).

См. также

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

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

55300 руб.

19.02.2016    110510    138    5    

109

Бизнес-аналитик Бухгалтер Пользователь 1С v8.3 Бухгалтерский учет Налоговый учет Управленческий учет Платные (руб)

Комплексная автоматизация 1С — универсальное решение для управления предприятием и автоматизации учета, производства, продаж и финансов. Подходит для малого и среднего бизнеса. Купить программу 1С:Комплексная автоматизация 8 (редакция 2.5) можно по выгодной цене с электронной поставкой. Внедрение системы позволит объединить все ключевые процессы в одной платформе и повысить эффективность компании. Узнайте стоимость, сравните версии и закажите автоматизацию для вашего бизнеса с бонусом 15% в Инфостарт!

94700 руб.

19.02.2016    84488    119    0    

115

1С v8.3 Платные (руб)

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

117000 руб.

24.10.2022    5958    9    1    

7

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 1C Пользователь 1С v8.3 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С-Совместимо

110400 руб.

11.06.2015    59079    38    20    

46

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

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

29400 руб.

29.06.2023    8144    24    15    

32

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

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

14880 руб.

17.12.2018    47534    72    63    

80

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

Расширение позволяет вывести в табличном документе факсимиле печати и подписей и/или вывести произвольную картинку из прикреплённых файлов организации для 1С УТ 11.5, КА 2.5, ERP 2.5, УНФ 3, Розница 3. Вывод факсимиле возможен в табличные документы УПД, УКД, Счёт-фактура, ТОРГ-12 и другие. Возможно настроить вывод для любых типовых макетов (Акт сверки, М-15, ТТН), для этого потребуется отредактировать макет и разместить на нём картинки с соответствующими именами, при выводе на печать в размещённые картинки будут выводиться факсимиле из прикреплённых рисунков. Редактирование осуществляется через типовой механизм в пользовательском интерфейсе.

3500 руб.

07.02.2023    8862    95    17    

51
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aximo 2357 26.05.25 11:33 Сейчас в теме
Ну тогда нужно написать в теме не «запрет ознакомления», а «запрет отказа от ознакомления….» ?
2. vde69 931 26.05.25 11:40 Сейчас в теме
Нет, в данном случае типовая задача ознакомления автором/ответственным (в случае отказа) вообще не создается.
Оставьте свое сообщение