Каталог решений - Возврат рекомендуемых шаблонов и ограничение состава процессов обработки в 1С:Документооборот 2.1.13+

Возврат рекомендуемых шаблонов и ограничение состава процессов обработки в 1С:Документооборот 2.1.13+

Возврат рекомендуемых шаблонов и ограничение состава процессов обработки в 1С:Документооборот 2.1.13+

В наличии

Как быстро вернуть рекомендуемые шаблоны в помощник отправки начиная с версии 2.1.13.

Категория:

Описание

Начиная с версии 2.1.13 зачем-то убрали рекомендуемые шаблоны. Теперь все в одном списке, и предопределенные, и настроенные для вида документа. Так жить нельзя.

Все три пункта независимы.

  1. Чтобы выделить рекомендуемые шаблоны и вывести их в начало списка помощника отправки, в расширение добавляем процедуру общего модуля ПомощникОтправки
&После("ДобавитьВДеревоОсновныеВариантыСозданияПроцесса")
Процедура рш_ДобавитьВДеревоОсновныеВариантыСозданияПроцесса(Помощник)
	
	// Сдвинем рекомендуемые шаблоны в начало
	Помощник.ДеревоВариантов.Колонки.Добавить("ВыделитьСтроку", Новый ОписаниеТипов("Булево"));
		
	Для каждого элемент из Помощник.РекомендуемыеВариантыСозданияПроцессов	Цикл
		строка = Помощник.ДеревоВариантов.Строки.Найти(элемент.Ключ, "Вариант", Ложь);
		
		Если строка = Неопределено Тогда Продолжить КонецЕсли;
		строка.ВыделитьСтроку = Истина;		
		Помощник.ДеревоВариантов.Строки.Сдвинуть(Строка, -Помощник.ДеревоВариантов.Строки.Индекс(Строка));		
		
	КонецЦикла;
	
КонецПроцедуры

В расширение добавляем процедуру общей формы ПомощникОтправить


&НаСервере
&Перед("ЗаполнитьФормуПоДаннымПомощника")
Процедура рш_ЗаполнитьФормуПоДаннымПомощника(ПомощникНаСервере)
	
	// Выделение строк рекомендуемых шаблонов
	// Колонка дерева ВыделитьСтроку создается в ОбщийМодуль.ПомощникОтправить
	
	// Создаём реквизит формы	
	МассивРеквизитов = Новый Массив;
	МассивРеквизитов.Добавить(Новый РеквизитФормы("ВыделитьСтроку", Новый ОписаниеТипов("Булево"), "ВариантыОтправки"));
	ЭтаФорма.ИзменитьРеквизиты(МассивРеквизитов);	
	
	// УО
	Элемент = УсловноеОформление.Элементы.Добавить();
	
	Поля = Элемент.Поля.Элементы;
	Поля.Добавить().Поле = Новый ПолеКомпоновкиДанных("ВариантыОтправки");
	
	ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВариантыОтправки.ВыделитьСтроку");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	ОтборЭлемента.ПравоеЗначение = Истина;	
	Элемент.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт("Arial",12,Истина));
		
КонецПроцедуры


  1. Чтобы убрать из списка все кроме предопределенных и рекомендуемых (т.е. другие варианты), в расширение добавляем процедуру общего модуля ПомощникОтправки
&Вместо("ДобавитьВДеревоОстальныеВариантыОтправки")
Процедура рни_ДобавитьВДеревоОстальныеВариантыОтправки(Помощник)
	// ДРУГИЕ ВАРИАНТЫ недоступны	
КонецПроцедуры
  1. Если нужно ограничить состав возможных процессов обработки документа, в расширение добавляем процедуру общего модуля ПомощникОтправки.

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

&После("ЗаполнитьДеревоВариантовОтправки")
Процедура рш_ЗаполнитьДеревоВариантовОтправкиПосле(Помощник)
	
	ШаблонЗапроса = "ВЫБРАТЬ
	|	Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.%1 КАК Шаблоны
	|ГДЕ
	|	Ссылка В (&Варианты) %2";  // %2 И Предопределенный
	
	ТекстОбъединения = "
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|";
	
	массив = Новый Массив;		
	массив.Добавить(Новый Структура("Таблица, Предопределенный", "ШаблоныИсполнения", ""));
	массив.Добавить(Новый Структура("Таблица, Предопределенный", "ШаблоныКомплексныхБизнесПроцессов", ""));
	массив.Добавить(Новый Структура("Таблица, Предопределенный", "ШаблоныПоручения", ""));
	массив.Добавить(Новый Структура("Таблица, Предопределенный", "ШаблоныПриглашения", ""));
	массив.Добавить(Новый Структура("Таблица, Предопределенный", "ШаблоныРассмотрения", ""));	
	массив.Добавить(Новый Структура("Таблица, Предопределенный", "ШаблоныРегистрации", ""));
	массив.Добавить(Новый Структура("Таблица, Предопределенный", "ШаблоныСогласования", "И НЕ Предопределенный"));
	массив.Добавить(Новый Структура("Таблица, Предопределенный", "ШаблоныСоставныхБизнесПроцессов", ""));
	массив.Добавить(Новый Структура("Таблица, Предопределенный", "ШаблоныУтверждения", ""));	
		
	Запрос.Текст = "";		
	Для каждого структура из массив Цикл
		Запрос.Текст = ?(ПустаяСтрока(Запрос.Текст), ШаблонЗапроса, Запрос.Текст + ТекстОбъединения + ШаблонЗапроса);
		Запрос.Текст = СтрШаблон(Запрос.Текст, структура.Таблица, структура.Предопределенный);
	КонецЦикла;		
	
	СтрокиДерева = Помощник.ДеревоВариантов.Строки;
	Запрос.УстановитьПараметр("Варианты", СтрокиДерева.ВыгрузитьКолонку("Вариант"));
	Выборка = Запрос.Выполнить().Выбрать();
	
	Пока Выборка.Следующий() Цикл
		СтрокаДерева = СтрокиДерева.Найти(Выборка.Ссылка, "Вариант", Ложь);
		Если СтрокаДерева.ВыделитьСтроку Тогда Продолжить КонецЕсли; // рекомендуемый
		СтрокиДерева.Удалить(СтрокиДерева.Найти(Выборка.Ссылка, "Вариант", Ложь));
	КонецЦикла;
		
	
	
КонецПроцедуры

 

has been added to your cart:
Оформление заказа