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

20.07.20

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

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

 

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

См. также

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

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

48500 руб.

19.02.2016    107915    108    5    

89

Документооборот и делопроизводство (СЭД) Платформа 1С v8.3 Платные (руб)

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

90000 руб.

24.10.2022    5206    7    1    

6

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С и нажимаете кнопку "Распознать и загрузить".

6000 5520 руб.

04.06.2019    103771    304    173    

319

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

Продукт "Интеграция с 1С:Документооборот" позволяет использовать функции программы "1С:Документооборот 8" напрямую из учетной системы (1С:УПП; 1С:КА, 1С:УТ 10.3, 1С:БГУ 1.0, 1С:ЗБУ 1.0, 1С:УПП для Казахстана и отраслевых решений, разработанных на их основе) на платформе "1С:Предприятие 8": выполнять и ставить задачи, просматривать документы, скан-копии и прочие файлы, штрих-кодировать документы отправлять письма, вести учет рабочего времени - не входя в "1С:Документооборот 8", работая в одной программе, что значительно сокращает время и делает работу более комфортной и эффективной. Продукт прошел сертификацию 1С-Совместимо

48000 руб.

11.06.2015    56857    35    19    

44

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

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

14880 руб.

17.12.2018    45030    63    51    

76

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

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

14900 руб.

15.11.2018    28898    31    48    

65

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

1С:Договоры 8 - удобный и эффективный инструмент для работы с договорами, особенно в организациях с развитой договорной деятельностью. Решение обладает широкими функциональными возможностями для простой подготовки, отслеживания и контроля исполнения договоров. Сокращайте время на договорную работу, держите под контролем процессы согласования, оплаты счета и находите нужный договор за считанные секунды. Приобретайте с бонусом до 25% в Инфостарт!

5700 руб.

26.02.2016    31745    7    2    

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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