Запрет ознакомления с результатом согласования в 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    111757    145    5    

113

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

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

120000 руб.

13.05.2009    69214    3    29    

43

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

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

117000 руб.

24.10.2022    6541    10    1    

9

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

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

31800 руб.

29.06.2023    9632    29    15    

37

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

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

9600 руб.

17.06.2025    1629    5    0    

5

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

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

19800 руб.

17.12.2018    48762    77    65    

84

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

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

14900 руб.

15.11.2018    39261    43    55    

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