Ограничение выбора вариантов шаблонов запуска процессов в Документообороте 2.1

20.07.20

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

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

 

В список шаблонов для запуска процессов попадают шаблоны, которые оформлялись для других типов документов (внутренних, входящих, исходящих), а также общие варианты, как то различные согласования и исполнения.

Также шаблоны процессов, которые могут быть настроены пользователем, с припиской (Новое)

Я решил данный вопрос через расширение, добавил общий модуль "ПомощникОтправить" и сделал изменения в процедуре "ДобавитьВДеревоВариантыСозданияПроцессов":

 

&ИзменениеИКонтроль("ДобавитьВДеревоВариантыСозданияПроцессов")
Процедура НАДО_ДобавитьВДеревоВариантыСозданияПроцессов(Помощник)

	Если Не ПолучитьФункциональнуюОпцию("ИспользоватьБизнесПроцессыИЗадачи") Тогда
		Возврат;
	КонецЕсли;

	// Очищаем основные варианты создания процессов.
	Помощник.ОсновныеВариантыСозданияПроцессов.Очистить();

	// Выполняем заполнение данных по предметам.
	ЗаполнитьДопустимыеТипыПредметовВПроцессах(Помощник);
	ЗаполнитьПредметыПроцесса(Помощник);

	Если ЗначениеЗаполнено(Помощник.ПредметыПроцесса)
		И Не ЕстьПредметыДопустимыеВПроцессах(Помощник) Тогда

		Возврат;
	КонецЕсли;

	ЗаполнитьДопустимыеТипыВариантовДляПредметов(Помощник);

	// Вначале определяем все возможные варианты создания процессов,
	// с учетом предметов процессов в помощнике.

#Вставка	
	ЗаполнитьРекомендуемыеВариантыСозданияПроцессов(Помощник);
	Если Помощник.ПредметыПроцесса.Количество() = 0 
		Или Не ЗначениеЗаполнено(Помощник.ПредметыПроцесса[0].Ссылка) Тогда
		ЗаполнитьВариантыСозданияПроцессовПоУмолчанию(Помощник);
		ЗаполнитьОбщиеВариантыСозданияПроцессов(Помощник);
		ЗаполнитьДругиеВариантыСозданияПроцессов(Помощник);
	КонецЕсли; 
#КонецВставки
#Удаление	
	ЗаполнитьВариантыСозданияПроцессовПоУмолчанию(Помощник);
	ЗаполнитьОбщиеВариантыСозданияПроцессов(Помощник);
	ЗаполнитьРекомендуемыеВариантыСозданияПроцессов(Помощник);
	ЗаполнитьДругиеВариантыСозданияПроцессов(Помощник);
#КонецУдаления
	
	// После добавляем в дерево основные варианты создания процессов,
	// в отдельной группе остальные доступные варианты.

	ДобавитьВДеревоОсновныеВариантыСозданияПроцесса(Помощник);
	ДобавитьВДеревоОстальныеВариантыОтправки(Помощник);

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

 

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

p.s. Первый пост, строго не судите :)

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

документооборот

См. также

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

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

55300 руб.

19.02.2016    112091    146    5    

114

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

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

117000 руб.

24.10.2022    6710    11    1    

9

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

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

120000 руб.

13.05.2009    69449    3    29    

43

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

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

19800 руб.

17.12.2018    49024    77    65    

84

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

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

54000 руб.

23.05.2017    60490    36    69    

43

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

78

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

Приложение для быстрого создания макетов печатных документов, заполняемых из 1С:Предприятие, без привлечения программистов и запуска конфигуратора. Шаблон готовится в редакторе MS Word, отлично освоенном офисными служащими. Так, на подготовку нового шаблона договора купли продажи со спецификацией потребуется 25 минут. Приложение будет полезно, если Вы работаете со множеством Word-шаблонов или если Вам надо часто создавать новые шаблоны. Есть сертификат "1С: Совместимо!". Версия ПРОФ доступна в виде расширения.

2000 руб.

05.09.2017    96355    72    106    

104
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gull22 105 22.07.20 09:35 Сейчас в теме
Понравилось с точки зрения облегчения мук пользователя. А можно оставить шаблоны процессов, которые могут быть настроены пользователем, с припиской (Новое) в отдельной папке (как на первом скриншоте в свернутой папке "Другие варианты"?
2. Maito 56 23.07.20 10:07 Сейчас в теме
(1)
Да, конечно возможно, нужно внести исправление в процедуру из статьи и еще две процедуры вывода:

&ИзменениеИКонтроль("ДобавитьВДеревоВариантыСозданияПроцессов")
Процедура НАДО_ДобавитьВДеревоВариантыСозданияПроцессов(Помощник)

	Если Не ПолучитьФункциональнуюОпцию("ИспользоватьБизнесПроцессыИЗадачи") Тогда
		Возврат;
	КонецЕсли;

	// Очищаем основные варианты создания процессов.
	Помощник.ОсновныеВариантыСозданияПроцессов.Очистить();

	// Выполняем заполнение данных по предметам.
	ЗаполнитьДопустимыеТипыПредметовВПроцессах(Помощник);
	ЗаполнитьПредметыПроцесса(Помощник);

	Если ЗначениеЗаполнено(Помощник.ПредметыПроцесса)
		И Не ЕстьПредметыДопустимыеВПроцессах(Помощник) Тогда

		Возврат;
	КонецЕсли;

	ЗаполнитьДопустимыеТипыВариантовДляПредметов(Помощник);

	// Вначале определяем все возможные варианты создания процессов,
	// с учетом предметов процессов в помощнике.

	ЗаполнитьВариантыСозданияПроцессовПоУмолчанию(Помощник);
#Удаление	
	ЗаполнитьОбщиеВариантыСозданияПроцессов(Помощник);
#КонецУдаления
	ЗаполнитьРекомендуемыеВариантыСозданияПроцессов(Помощник);
#Удаление	
	ЗаполнитьДругиеВариантыСозданияПроцессов(Помощник);
#КонецУдаления
	
	// После добавляем в дерево основные варианты создания процессов,
	// в отдельной группе остальные доступные варианты.

	ДобавитьВДеревоОсновныеВариантыСозданияПроцесса(Помощник);
	ДобавитьВДеревоОстальныеВариантыОтправки(Помощник);

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

&ИзменениеИКонтроль("ДобавитьВДеревоОсновныеВариантыСозданияПроцесса")
Процедура НАДО_ДобавитьВДеревоОсновныеВариантыСозданияПроцесса(Помощник)

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

	// Формируем общий список вариантов, добавляемых в корень дерева, из:
	// шаблонов по умолчанию, общих и рекомендуемых шаблонов.

	ВариантыСозданияПроцесса = Новый СписокЗначений;

	ЕстьПредметы = ЗначениеЗаполнено(Помощник.ПредметыПроцесса);

#Удаление	
	Для Каждого КлючЗначение Из Помощник.ВариантыСозданияПроцессовПоУмолчанию Цикл

		Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
			И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда

			Продолжить;
		КонецЕсли;

		Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
			КлючЗначение.Значение] = Неопределено Тогда

			Продолжить;
		КонецЕсли;

		Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
			И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокумент­ов(Помощник) Тогда

			Продолжить;
		КонецЕсли;

		Представление = ПредставлениеВариантаСозданияПроцессаПоУмолчанию(
		КлючЗначение.Ключ, Помощник);

		ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Представление);
	КонецЦикла;
#КонецУдаления

	Для Каждого КлючЗначение Из Помощник.ОбщиеВариантыСозданияПроцессов Цикл

		Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
			И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда

			Продолжить;
		КонецЕсли;

		Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
			КлючЗначение.Значение] = Неопределено Тогда

			Продолжить;
		КонецЕсли;

		Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
			И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокумент­ов(Помощник) Тогда

			Продолжить;
		КонецЕсли;

		ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Строка(КлючЗначение.Ключ));
	КонецЦикла;

	Для Каждого КлючЗначение Из Помощник.РекомендуемыеВариантыСозданияПроцессов Цикл

		Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
			И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда

			Продолжить;
		КонецЕсли;

		Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
			КлючЗначение.Значение] = Неопределено Тогда

			Продолжить;
		КонецЕсли;

		Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
			И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокумент­ов(Помощник) Тогда

			Продолжить;
		КонецЕсли;

		ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Строка(КлючЗначение.Ключ));
	КонецЦикла;

	ВариантыСозданияПроцесса.СортироватьПоПредставлению();

	Для Каждого ВариантСозданияПроцесса Из ВариантыСозданияПроцесса Цикл
		СтрокаВарианта = Помощник.ДеревоВариантов.Строки.Добавить();
		СтрокаВарианта.Вариант = ВариантСозданияПроцесса.Значение;
		СтрокаВарианта.Представление = ВариантСозданияПроцесса.Представление;
	КонецЦикла;

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

&ИзменениеИКонтроль("ДобавитьВДеревоОстальныеВариантыОтправки")
Процедура НАДО_ДобавитьВДеревоОстальныеВариантыОтправки(Помощник)

	ВариантыСозданияПроцесса = Новый СписокЗначений;

	ЕстьПредметы = ЗначениеЗаполнено(Помощник.ПредметыПроцесса);

#Вставка
	Для Каждого КлючЗначение Из Помощник.ВариантыСозданияПроцессовПоУмолчанию Цикл

		Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
			И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда

			Продолжить;
		КонецЕсли;

		Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
			КлючЗначение.Значение] = Неопределено Тогда

			Продолжить;
		КонецЕсли;

		Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
			И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокумент­ов(Помощник) Тогда

			Продолжить;
		КонецЕсли;

		Представление = ПредставлениеВариантаСозданияПроцессаПоУмолчанию(
		КлючЗначение.Ключ, Помощник);

		ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Представление);
	КонецЦикла;
#КонецВставки
	Для Каждого КлючЗначение Из Помощник.ДругиеВариантыСозданияПроцессов Цикл

		Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
			И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда

			Продолжить;
		КонецЕсли;

		Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
			КлючЗначение.Значение] = Неопределено Тогда

			Продолжить;
		КонецЕсли;

		Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
			И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокумент­ов(Помощник) Тогда

			Продолжить;
		КонецЕсли;

		ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Строка(КлючЗначение.Ключ));
	КонецЦикла;

	ВариантыСозданияПроцесса.СортироватьПоПредставлению();

	Если ВариантыСозданияПроцесса.Количество() = 0 Тогда
		Возврат;
	КонецЕсли;

	СтрокаВарианта = Помощник.ДеревоВариантов.Строки.Добавить();
	СтрокаВарианта.Вариант = ПомощникОтправитьКлиентСервер.ГруппаДругихВариантовСозданияПроцессов();
	СтрокаВарианта.Представление = НСтр("ru = 'Другие варианты'");
	Помощник.НедоступныеВарианты[СтрокаВарианта.Вариант] = Истина;

	Для Каждого ВариантСоздания Из ВариантыСозданияПроцесса Цикл
		ПодчиненнаяСтрокаВариант = СтрокаВарианта.Строки.Добавить();
		ПодчиненнаяСтрокаВариант.Вариант = ВариантСоздания.Значение;
		ПодчиненнаяСтрокаВариант.Представление = ВариантСоздания.Представление;
	КонецЦикла;

КонецПроцедуры
Показать


Результат:
Прикрепленные файлы:
3. Maito 56 23.07.20 14:20 Сейчас в теме
(1) Можно создать для них отдельную группу, тогда код будет выглядеть вот так:

&ИзменениеИКонтроль("ДобавитьВДеревоВариантыСозданияПроцессов")
Процедура НАДО_ДобавитьВДеревоВариантыСозданияПроцессов(Помощник)

	Если Не ПолучитьФункциональнуюОпцию("ИспользоватьБизнесПроцессыИЗадачи") Тогда
		Возврат;
	КонецЕсли;

	// Очищаем основные варианты создания процессов.
	Помощник.ОсновныеВариантыСозданияПроцессов.Очистить();

	// Выполняем заполнение данных по предметам.
	ЗаполнитьДопустимыеТипыПредметовВПроцессах(Помощник);
	ЗаполнитьПредметыПроцесса(Помощник);

	Если ЗначениеЗаполнено(Помощник.ПредметыПроцесса)
		И Не ЕстьПредметыДопустимыеВПроцессах(Помощник) Тогда

		Возврат;
	КонецЕсли;

	ЗаполнитьДопустимыеТипыВариантовДляПредметов(Помощник);

	// Вначале определяем все возможные варианты создания процессов,
	// с учетом предметов процессов в помощнике.

#Вставка	
	ЗаполнитьВариантыСозданияПроцессовПоУмолчанию(Помощник);
	ЗаполнитьРекомендуемыеВариантыСозданияПроцессов(Помощник);
	Если Помощник.ПредметыПроцесса.Количество() = 0 
		Или Не ЗначениеЗаполнено(Помощник.ПредметыПроцесса[0].Ссылка) Тогда
		ЗаполнитьОбщиеВариантыСозданияПроцессов(Помощник);
		ЗаполнитьДругиеВариантыСозданияПроцессов(Помощник);
	КонецЕсли; 
#КонецВставки
#Удаление	
	ЗаполнитьВариантыСозданияПроцессовПоУмолчанию(Помощник);
	ЗаполнитьОбщиеВариантыСозданияПроцессов(Помощник);
	ЗаполнитьРекомендуемыеВариантыСозданияПроцессов(Помощник);
	ЗаполнитьДругиеВариантыСозданияПроцессов(Помощник);
#КонецУдаления
	
	// После добавляем в дерево основные варианты создания процессов,
	// в отдельной группе остальные доступные варианты.

	ДобавитьВДеревоОсновныеВариантыСозданияПроцесса(Помощник);
	ДобавитьВДеревоОстальныеВариантыОтправки(Помощник);

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

&ИзменениеИКонтроль("ДобавитьВДеревоОсновныеВариантыСозданияПроцесса")
Процедура НАДО_ДобавитьВДеревоОсновныеВариантыСозданияПроцесса(Помощник)

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

	// Формируем общий список вариантов, добавляемых в корень дерева, из:
	// шаблонов по умолчанию, общих и рекомендуемых шаблонов.

	ВариантыСозданияПроцесса = Новый СписокЗначений;

	ЕстьПредметы = ЗначениеЗаполнено(Помощник.ПредметыПроцесса);

#Удаление	
	Для Каждого КлючЗначение Из Помощник.ВариантыСозданияПроцессовПоУмолчанию Цикл

		Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
			И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда

			Продолжить;
		КонецЕсли;

		Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
			КлючЗначение.Значение] = Неопределено Тогда

			Продолжить;
		КонецЕсли;

		Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
			И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокумент­ов(Помощник) Тогда

			Продолжить;
		КонецЕсли;

		Представление = ПредставлениеВариантаСозданияПроцессаПоУмолчанию(
		КлючЗначение.Ключ, Помощник);

		ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Представление);
	КонецЦикла;
#КонецУдаления

	Для Каждого КлючЗначение Из Помощник.ОбщиеВариантыСозданияПроцессов Цикл

		Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
			И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда

			Продолжить;
		КонецЕсли;

		Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
			КлючЗначение.Значение] = Неопределено Тогда

			Продолжить;
		КонецЕсли;

		Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
			И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокумент­ов(Помощник) Тогда

			Продолжить;
		КонецЕсли;

		ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Строка(КлючЗначение.Ключ));
	КонецЦикла;

	Для Каждого КлючЗначение Из Помощник.РекомендуемыеВариантыСозданияПроцессов Цикл

		Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
			И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда

			Продолжить;
		КонецЕсли;

		Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
			КлючЗначение.Значение] = Неопределено Тогда

			Продолжить;
		КонецЕсли;

		Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
			И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокумент­ов(Помощник) Тогда

			Продолжить;
		КонецЕсли;

		ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Строка(КлючЗначение.Ключ));
	КонецЦикла;

	ВариантыСозданияПроцесса.СортироватьПоПредставлению();

	Для Каждого ВариантСозданияПроцесса Из ВариантыСозданияПроцесса Цикл
		СтрокаВарианта = Помощник.ДеревоВариантов.Строки.Добавить();
		СтрокаВарианта.Вариант = ВариантСозданияПроцесса.Значение;
		СтрокаВарианта.Представление = ВариантСозданияПроцесса.Представление;
	КонецЦикла;
	
#Вставка
	ВариантыСозданияПроцесса.Очистить();
	
	Для Каждого КлючЗначение Из Помощник.ВариантыСозданияПроцессовПоУмолчанию Цикл

		Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
			И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда

			Продолжить;
		КонецЕсли;

		Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
			КлючЗначение.Значение] = Неопределено Тогда

			Продолжить;
		КонецЕсли;

		Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
			И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокумент­ов(Помощник) Тогда

			Продолжить;
		КонецЕсли;

		Представление = ПредставлениеВариантаСозданияПроцессаПоУмолчанию(
		КлючЗначение.Ключ, Помощник);

		ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Представление);
	КонецЦикла;
	
	ВариантыСозданияПроцесса.СортироватьПоПредставлению();

	СтрокаВарианта = Помощник.ДеревоВариантов.Строки.Добавить();
	СтрокаВарианта.Вариант = "По умолчанию";
	СтрокаВарианта.Представление = НСтр("ru = 'По умолчанию'");
	Помощник.НедоступныеВарианты[СтрокаВарианта.Вариант] = Истина;
	
    Для Каждого ВариантСоздания Из ВариантыСозданияПроцесса Цикл
        ПодчиненнаяСтрокаВариант = СтрокаВарианта.Строки.Добавить();
        ПодчиненнаяСтрокаВариант.Вариант = ВариантСоздания.Значение;
        ПодчиненнаяСтрокаВариант.Представление = ВариантСоздания.Представление;
    КонецЦикла;
#КонецВставки
КонецПроцедуры
Показать
hdv; emcya; +2 Ответить
4. emcya 4 28.11.20 04:02 Сейчас в теме
5. Sv_444 31.08.21 07:34 Сейчас в теме
6. AlekSo 15 28.09.21 05:35 Сейчас в теме
7. nkp14108 94 28.09.21 15:57 Сейчас в теме
Идея хорошая, но для массового применения в созданное расширение надо добавить в шаблоны документов реквизит (признак применения). Не во всех случаях это можно(нужно) применять.
8. Maito 56 29.09.21 08:59 Сейчас в теме
(7) Согласен. Всега можно сделать лучше. Я просто показал где искать и как скорректировать, дальше каждый может адаптировать решение под свои нужнды.
Для отправки сообщения требуется регистрация/авторизация