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

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

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

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

См. также

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

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

63100 руб.

19.02.2016    114557    150    5    

120

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

86

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

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

29890 руб.

17.12.2018    50698    81    65    

85

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

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

32330 руб.

29.06.2023    12136    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    68391    195    107    

108

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

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

54900 руб.

23.05.2017    62900    36    69    

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