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

109

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

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

94700 руб.

19.02.2016    84744    119    0    

115

Рабочее место Производство готовой продукции (работ, услуг) Перенос данных 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    59280    38    20    

47

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

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

29400 руб.

29.06.2023    8308    25    15    

34

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

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

117000 руб.

24.10.2022    6003    8    1    

7

Печатные формы Адаптация типовых решений Бухгалтер Пользователь 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    9070    98    17    

54

Мессенджеры и боты Учет документов 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    37652    40    49    

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