рубрики: Отчеты и обработки | Дата: 11 августа, 2017
Скачать обработку с примерами из статьи: professia1c_ExtReportTypicalConfig.erf
Платформа: 8.3; Тип формы: управляемая.
Во всех типовых конфигурациях есть механизм, который позволяет сохранять внешние отчеты и обработки в самой базе данных.
Для этих целей используется справочник ДополнительныеОтчетыИОбработки. В свою очередь этот справочник является всего лишь небольшой частью подсистемы ДополнительныеОтчетыИОбработки, которая внедряется в типовые конфигурации из конфигурации Библиотека стандартных подсистем (БСП). Попробуем на практике добавить в типовую ЗУП 3.1 ранее созданный внешний отчет на основе СКД.
Итак, запускаем ЗУП идем в меню Администрирование — Печатные формы, отчеты и обработки:
Далее выбираем ссылку Дополнительные отчеты и обработки и в открывшейся форме списка справочника Дополнительные отчеты и обработки нажимаем кнопку Создать:
и после выбора нашего файла получаем сообщение об ошибке: «Невозможно подключить дополнительный отчет из файла.
Возможно, он не подходит для этой версии программы.»
Как следует из сообщения об ошибке в модуле отчета необходимо прописать экспортную функцию СведенияОВнешнейОбработке(), при помощи которой во вновь создаваемом элементе справочника будут заполнены отдельные реквизиты.
Вот минимально необходимый код этой функции, который позволит добавить наш отчет в справочник:
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("");
ПараметрыРегистрации.Информация = "Тестовый отчет.";
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
Команда = ПараметрыРегистрации.Команды.Добавить();
Команда.Представление = "Сформировать отчет по товарам";
Команда.Идентификатор = "ДополнительныеОтчеты_ТестовыйОтчет";
Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
Возврат ПараметрыРегистрации;
КонецФункции
Как мы видим у нас используется пара функций из общего модуля ДополнительныеОтчетыИОбработкиКлиентСервер: ВидОбработкиДополнительныйОтчет() и ТипКомандыОткрытиеФормы().
Если мы заглянем внутрь этих функций, то увидим, что они всего лишь возвращают строку:
Функция ВидОбработкиДополнительныйОтчет() Экспорт
Возврат "ДополнительныйОтчет"; // Внутренний идентификатор.
КонецФункции
Функция ТипКомандыОткрытиеФормы() Экспорт
Возврат "ОткрытиеФормы"; // Внутренний идентификатор.
КонецФункции
и в какой-то момент может возникнуть соблазн не использовать эти функции, а непосредственно прописать строковые значения.
Но делать этого категорически не стоит, т.к. эти функции относятся к области программного интерфейса. То есть если разработчики БСП в какой то момент решат использовать другие строковые значения, то использование функций программного интерфейса позволит избежать доработки модуля отчета.
Добавить комментарий