Шаблон кода Внешней обработки Заполнение Объекта

СергейТ 101 4 9

Шаблон кода внешней обработки Вида Перечисления.ВидыДополнительныхОтчетовИОбработок.ЗаполнениеОбъекта

&НаСервере
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
	//: ОбъектыНазначенияМассив = Новый Массив;

	Если ИдентификаторКоманды = "Заполнить..." Тогда
		Заполнение...(ОбъектыНазначенияМассив)
		
	ИначеЕсли ИдентификаторКоманды = "Заполнить...." Тогда
		Заполнить....(ОбъектыНазначенияМассив)
		
	Иначе
		Возврат
		
	КонецЕсли;
	
КонецПроцедуры


#Область БСП

Функция ВерсияОбработки(Строкой = Ложь)
	
	ВерсияОбработки = "1.01.001";
	
	Если НЕ Строкой Тогда
		
		ИнформацияОВерсии = "v." + ВерсияОбработки + ":" + Символы.ПС
							+ "";
		
		ЗаголовокВерсияОбработки = ?(ПустаяСтрока(ВерсияОбработки), "", "[v." + ВерсияОбработки + "]");
		
		Результат = Новый Структура;
		Результат.Вставить("Версия",		ВерсияОбработки);
		Результат.Вставить("Заголовок",		ЗаголовокВерсияОбработки);
		Результат.Вставить("Информация",	ИнформацияОВерсии);
		
		Возврат Результат;
		
	КонецЕсли;
	
	Возврат ВерсияОбработки;
	
КонецФункции

Функция ВерсияБСП(Строкой = Истина)
	
	ВерсияБСП = "2.3.6.121";
	
	Если НЕ Строкой Тогда
		
		Результат = Новый Структура;
		Результат.Вставить("Версия",	ВерсияБСП);
		
		//Процедура ПриДобавленииПодсистемы(Описание)
		//	Описание.Имя    = "СтандартныеПодсистемы";
		//	Описание.Версия = "2.3.6.121";
		//	Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
		//	Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
		
		Возврат Результат;
		
	КонецЕсли;
	
	Возврат ВерсияБСП;
	
КонецФункции

Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации.Вставить("Вид", "ЗаполнениеОбъекта"); //может быть – ПечатнаяФорма, ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов…
	
	ВерсияОбработки = ВерсияОбработки();
	ЗаголовокВерсияОбработки = ?(ПустаяСтрока(ВерсияОбработки.Версия), "", " " + ВерсияОбработки.Заголовок);
	
	ПараметрыРегистрации.Вставить("Наименование", "Заполнение ..."); //здесь будет имя под которым обработка будет зарегестрирована в справочнике внешних обработок
	ПараметрыРегистрации.Вставить("Информация", "Обработка заполнения объекта - Поступление товаров и услуг ..."); //здесь пишем описание
	ПараметрыРегистрации.Вставить("Версия", ВерсияОбработки.Версия);
	ПараметрыРегистрации.Вставить("ВерсияБСП", ВерсияБСП());
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
	
	// Назначения
	МассивНазначений = Новый Массив;
	МассивНазначений.Добавить("Документ.ПоступлениеТоваровУслуг"); //здесь мы добавляем в наш массив документ или несколько документов (если несколько - такой же строкой кода добавляем еще вид) к которому делаем обработку (ПФ, Заполнение...)
	
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); //Добавляем наш массив со списком документов
	
	// Команды
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
	
	ДобавитьКоманду(ТаблицаКоманд, "Заполнить ...", "Заполнить...", "ВызовКлиентскогоМетода");
	//ДобавитьКоманду(ТаблицаКоманд, "Заполнить ...", "Заполнить...", "ВызовСерверногоМетода");
	
	//
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

Функция ПолучитьТаблицуКоманд()
	
	Команды = Новый ТаблицаЗначений;
	Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); //как будет выглядеть описание ВПФ для пользователя
	Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //имя макета ВПФ
	Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //ВызовСерверногоМетода или Клиентского метода
	Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
	Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
	Команды.Колонки.Добавить("ПроверкаПроведенияПередПечатью", Новый ОписаниеТипов("Булево"));
	Возврат Команды;
	
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
	
	НоваяКоманда = ТаблицаКоманд.Добавить();
	НоваяКоманда.Представление = Представление; 
	НоваяКоманда.Идентификатор = Идентификатор;
	НоваяКоманда.Использование = Использование;
	НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
	НоваяКоманда.Модификатор = Модификатор;
	НоваяКоманда.ПроверкаПроведенияПередПечатью = Ложь;
	
КонецПроцедуры 

#КонецОбласти
0

См. также

Шаблон кода Внешней обработки Расчет Скидки Наценки

Внешняя обработка с несколькими командами, добавляемая в регламентные задания

ДобавитьПараметрШаблона (БСП)

ОбъектВнешнейОбработки (БСП)

ПриСозданииВнешнейОбработки (БСП)

Сведения о внешней обработке - Отчет

ВидОбработкиЗаполнениеОбъекта (БСП)

Модератору