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

20.07.20

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

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

 

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

См. также

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

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

48500 руб.

19.02.2016    108652    123    5    

98

SALE! 30%

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

Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    107328    313    173    

326

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

Продукт "Апрель Софт: Бухгалтерия позаказного производства, ред. 3.0" предназначен для удобного и оперативного управления процессами производства, отгрузок и снабжения в производственных компаниях. Программный продукт открывает новые функциональные возможности для ведения документооборота.

11400 руб.

18.02.2016    22978    1    1    

5

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

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

14900 руб.

15.11.2018    30403    35    49    

71

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

14880 руб.

17.12.2018    45716    65    59    

79

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

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

2000 руб.

05.09.2017    92643    66    98    

100

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

Внешняя обработка "загрузка внутренних документов из Excel в 1С Документооборот 8", позволяет по заданному шаблону загрузить внутренние документы в конфигурацию в режиме управляемого приложения. Также есть возможность загружать файлы внутренних документов.

3600 руб.

14.03.2014    40637    31    17    

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Результат:
Прикрепленные файлы:
3. Maito 55 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 55 29.09.21 08:59 Сейчас в теме
(7) Согласен. Всега можно сделать лучше. Я просто показал где искать и как скорректировать, дальше каждый может адаптировать решение под свои нужнды.
Оставьте свое сообщение