HelpF.pro

Добавление дополнительных отчетов и обработок в управляемом приложении

Для добавления отчета или обработки нужно в модуле добавить Функцию СведенияОВнешнейОбработке()

Код 1C v 8.2 УП
 Функция СведенияОВнешнейОбработке() Экспорт 
// Объявим переменную, в которой мы сохраним и вернем "наружу" необходимые данные 


ПараметрыРегистрации = Новый Структура; 


// Объявим еще одну переменную, которая нам потребуется ниже 


МассивНазначений = Новый Массив; 


// Первый параметр, который мы должны указать - это какой вид обработки системе должна зарегистрировать. 


// Допустимые типы: ДополнительнаяОбработка, ДополнительныйОтчет, ЗаполнениеОбъекта, Отчет, ПечатнаяФорма, СозданиеСвязанныхОбъектов 


ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка"); 


ПараметрыРегистрации.Вставить("Назначение", МассивНазначений); 


// Теперь зададим имя, под которым ВПФ будет зарегистрирована в справочнике внешних обработок 


ПараметрыРегистрации.Вставить("Наименование", "Выгрузка проводок в БП 2.0"); 


// Зададим право обработке на использование безопасного режима. Более подробно можно узнать в справке к платформе (метод УстановитьБезопасныйРежим) 


ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина); 


// Следующие два параметра играют больше информационную роль, т.е. это то, что будет видеть пользователь в информации к обработке 


ПараметрыРегистрации.Вставить("Версия", "1.0"); 
ПараметрыРегистрации.Вставить("Информация", "Обработка 'Выгрузка проводок в БП 2.0'"); 


// Создадим таблицу команд (подробнее смотрим ниже) 


ТаблицаКоманд = ПолучитьТаблицуКоманд(); 


ДобавитьКоманду(ТаблицаКоманд, 
"Выгрузка проводок в БП 2.0", 
"ВыгрузкапроводоквБП20", 
"ОткрытиеФормы", //Использование. Варианты: "ОткрытиеФормы", "ВызовКлиентскогоМетода", "ВызовСерверногоМетода" 
Ложь,//Показывать оповещение. Варианты Истина, Ложь 
"");//Модификатор 


ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); 


Возврат ПараметрыРегистрации; 


КонецФункции 


Функция ПолучитьТаблицуКоманд() 


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


Возврат Команды; 


КонецФункции 


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


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


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

После сохранения приступим к добавлению в программу:

Ставим галку Дополнительные отчеты и обработки

Открываем дополнительные отчеты и обработки и жмем создать, появляется окно выбора файла, после выбора:

Укажите Размещение (в каком разделе отображать данный отчет/обработку) и  в списке в колонке Быстрый доступ выберите пользователей, которым будет доступен данный отчет/обработка.


Если при добавлении вы получаете ошибку:

{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2621)}: Поле объекта не обнаружено (ХранилищеВариантов)

Если ВнешнийОбъектМетаданные.ХранилищеВариантов <> Неопределено Тогда 

То нужно заменить в модуле объекта, в функции СведенияОВнешнейОбработке()

Код 1C v 8.2 УП
 РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОтчет"); //расширение erf
на:
РегистрационныеДанные.Вставить("Вид", "ДополнительнаяОбработка");  //расширение epf

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq83/view/1849.html