Требования к дополнительным отчетам и обработкам

В модуле объекта должна находиться экспортная функция СведенияОВнешнейОбработке, которая возвращает параметры регистрации внешней обработки.

Параметры регистрации - структура. 

Ключи структуры:

  • Вид - строка – ДополнительныйОтчет;
  • Назначение - Строка, Неопределено - Назначение дополнительной обработки, отчета. Не используется для глобальных дополнительных отчетов;
  • Наименование - Строка - Наименование, которым будет заполнено наименование элемента справочника «Дополнительные отчеты и обработки»;
  • Версия - Строка в формате Старший номер. Младший номер - версия обработки;
  • Безопасный режим - Булево - Если истина - отчет или обработка будут запущены в безопасном режиме;
  • Информация - Строка - Краткая информация, описание отчета.

Команды - Таблица значений.

Колонки таблицы значений:

  • Представление - строка - представление команды;
  • Идентификатор - строка - идентификатор команды;
  • Использование - строка - один из вариантов запуска команды. Для отчетов – ОткрытиеФормы;
  • ПоказыватьОповещение - Булево - Если Истина - будет показываться оповещение при начале и окончании работы обработки, отчета. Актуально для обработок, выполняющих действия в фоновом режиме;
  • Модификатор - Строка - дополнительный модификатор команды. Используется для дополнительных обработок печатных форм на основе табличных макетов, для таких команд должен содержать строку ПечатьMXL. Не используется в дополнительных глобальных отчетах.

Примечание

Требования к глобальным дополнительным обработкам те же, что и требования к глобальным дополнительным отчетам, за исключением вида. Вид должен быть «ДополнительнаяОбработка».

Функция СведенияОВнешнейОбработке() Экспорт

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

     

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

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

       ПараметрыРегистрации.Вставить("Наименование", НСтр ("ru = 'Внешний отчет: Движения товаров'"));

       ПараметрыРегистрации.Вставить("Версия", "0.1");

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

       ПараметрыРегистрации.Вставить("Информация", НСтр ("ru = 'Отчет по движению товаров по складам'"));

      

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

      

       ДобавитьКоманду(ТаблицаКоманд,

                                  НСтр("ru = 'Движения товаров'"),

                                  "ВнешнийОтчет_ДвиженияТоваров",

                                  "ОткрытиеФормы");

      

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

      

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

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

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

 Команды = Новый ТаблицаЗначений;

 Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));

 Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));

 Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

 Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));

 Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

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

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

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

 НоваяКоманда = ТаблицаКоманд.Добавить();

 НоваяКоманда.Представление = Представление;

 НоваяКоманда.Идентификатор = Идентификатор;

 НоваяКоманда.Использование = Использование;

 НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;

 НоваяКоманда.Модификатор = Модификатор;

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