()
Да, конечно возможно, нужно внести исправление в процедуру из статьи и еще две процедуры вывода:
&ИзменениеИКонтроль("ДобавитьВДеревоВариантыСозданияПроцессов")
Процедура НАДО_ДобавитьВДеревоВариантыСозданияПроцессов(Помощник)
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьБизнесПроцессыИЗадачи") Тогда
Возврат;
КонецЕсли;
// Очищаем основные варианты создания процессов.
Помощник.ОсновныеВариантыСозданияПроцессов.Очистить();
// Выполняем заполнение данных по предметам.
ЗаполнитьДопустимыеТипыПредметовВПроцессах(Помощник);
ЗаполнитьПредметыПроцесса(Помощник);
Если ЗначениеЗаполнено(Помощник.ПредметыПроцесса)
И Не ЕстьПредметыДопустимыеВПроцессах(Помощник) Тогда
Возврат;
КонецЕсли;
ЗаполнитьДопустимыеТипыВариантовДляПредметов(Помощник);
// Вначале определяем все возможные варианты создания процессов,
// с учетом предметов процессов в помощнике.
ЗаполнитьВариантыСозданияПроцессовПоУмолчанию(Помощник);
#Удаление
ЗаполнитьОбщиеВариантыСозданияПроцессов(Помощник);
#КонецУдаления
ЗаполнитьРекомендуемыеВариантыСозданияПроцессов(Помощник);
#Удаление
ЗаполнитьДругиеВариантыСозданияПроцессов(Помощник);
#КонецУдаления
// После добавляем в дерево основные варианты создания процессов,
// в отдельной группе остальные доступные варианты.
ДобавитьВДеревоОсновныеВариантыСозданияПроцесса(Помощник);
ДобавитьВДеревоОстальныеВариантыОтправки(Помощник);
КонецПроцедуры
&ИзменениеИКонтроль("ДобавитьВДеревоОсновныеВариантыСозданияПроцесса")
Процедура НАДО_ДобавитьВДеревоОсновныеВариантыСозданияПроцесса(Помощник)
УстановитьПривилегированныйРежим(Истина);
// Формируем общий список вариантов, добавляемых в корень дерева, из:
// шаблонов по умолчанию, общих и рекомендуемых шаблонов.
ВариантыСозданияПроцесса = Новый СписокЗначений;
ЕстьПредметы = ЗначениеЗаполнено(Помощник.ПредметыПроцесса);
#Удаление
Для Каждого КлючЗначение Из Помощник.ВариантыСозданияПроцессовПоУмолчанию Цикл
Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда
Продолжить;
КонецЕсли;
Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
КлючЗначение.Значение] = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокументов(Помощник) Тогда
Продолжить;
КонецЕсли;
Представление = ПредставлениеВариантаСозданияПроцессаПоУмолчанию(
КлючЗначение.Ключ, Помощник);
ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Представление);
КонецЦикла;
#КонецУдаления
Для Каждого КлючЗначение Из Помощник.ОбщиеВариантыСозданияПроцессов Цикл
Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда
Продолжить;
КонецЕсли;
Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
КлючЗначение.Значение] = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокументов(Помощник) Тогда
Продолжить;
КонецЕсли;
ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Строка(КлючЗначение.Ключ));
КонецЦикла;
Для Каждого КлючЗначение Из Помощник.РекомендуемыеВариантыСозданияПроцессов Цикл
Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда
Продолжить;
КонецЕсли;
Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
КлючЗначение.Значение] = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокументов(Помощник) Тогда
Продолжить;
КонецЕсли;
ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Строка(КлючЗначение.Ключ));
КонецЦикла;
ВариантыСозданияПроцесса.СортироватьПоПредставлению();
Для Каждого ВариантСозданияПроцесса Из ВариантыСозданияПроцесса Цикл
СтрокаВарианта = Помощник.ДеревоВариантов.Строки.Добавить();
СтрокаВарианта.Вариант = ВариантСозданияПроцесса.Значение;
СтрокаВарианта.Представление = ВариантСозданияПроцесса.Представление;
КонецЦикла;
КонецПроцедуры
&ИзменениеИКонтроль("ДобавитьВДеревоОстальныеВариантыОтправки")
Процедура НАДО_ДобавитьВДеревоОстальныеВариантыОтправки(Помощник)
ВариантыСозданияПроцесса = Новый СписокЗначений;
ЕстьПредметы = ЗначениеЗаполнено(Помощник.ПредметыПроцесса);
#Вставка
Для Каждого КлючЗначение Из Помощник.ВариантыСозданияПроцессовПоУмолчанию Цикл
Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда
Продолжить;
КонецЕсли;
Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
КлючЗначение.Значение] = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокументов(Помощник) Тогда
Продолжить;
КонецЕсли;
Представление = ПредставлениеВариантаСозданияПроцессаПоУмолчанию(
КлючЗначение.Ключ, Помощник);
ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Представление);
КонецЦикла;
#КонецВставки
Для Каждого КлючЗначение Из Помощник.ДругиеВариантыСозданияПроцессов Цикл
Если Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Ключ)
И Не ВозможноДобавлениеВарианта(Помощник, КлючЗначение.Значение) Тогда
Продолжить;
КонецЕсли;
Если ЕстьПредметы И Помощник.ДопустимыеТипыВариантовДляПредметов[
КлючЗначение.Значение] = Неопределено Тогда
Продолжить;
КонецЕсли;
Если ЭтоВариантСозданияПроцессаОбработки(КлючЗначение.Значение)
И Не ВозможноДобавлениеВариантовСозданияПроцессаОбработкиДокументов(Помощник) Тогда
Продолжить;
КонецЕсли;
ВариантыСозданияПроцесса.Добавить(КлючЗначение.Ключ, Строка(КлючЗначение.Ключ));
КонецЦикла;
ВариантыСозданияПроцесса.СортироватьПоПредставлению();
Если ВариантыСозданияПроцесса.Количество() = 0 Тогда
Возврат;
КонецЕсли;
СтрокаВарианта = Помощник.ДеревоВариантов.Строки.Добавить();
СтрокаВарианта.Вариант = ПомощникОтправитьКлиентСервер.ГруппаДругихВариантовСозданияПроцессов();
СтрокаВарианта.Представление = НСтр("ru = 'Другие варианты'");
Помощник.НедоступныеВарианты[СтрокаВарианта.Вариант] = Истина;
Для Каждого ВариантСоздания Из ВариантыСозданияПроцесса Цикл
ПодчиненнаяСтрокаВариант = СтрокаВарианта.Строки.Добавить();
ПодчиненнаяСтрокаВариант.Вариант = ВариантСоздания.Значение;
ПодчиненнаяСтрокаВариант.Представление = ВариантСоздания.Представление;
КонецЦикла;
КонецПроцедуры
Показать
Результат: