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