Профессия — 1С

Рукопашный бой Карташ

Категории

Внешние отчеты в типовых конфигурациях

рубрики: Отчеты и обработки | Дата: 11 Август, 2017
Скачать обработку с примерами из статьи: professia1c_ExtReportTypicalConfig.erf
Платформа: 8.3; Тип формы: управляемая.

Во всех типовых конфигурациях есть механизм, который позволяет сохранять внешние отчеты и обработки в самой базе данных. Для этих целей используется справочник ДополнительныеОтчетыИОбработки. В свою очередь этот справочник является всего лишь небольшой частью подсистемы ДополнительныеОтчетыИОбработки, которая внедряется в типовые конфигурации из конфигурации Библиотека стандартных подсистем (БСП).




Попробуем на практике добавить в типовую ЗУП 3.1 ранее созданный внешний отчет на основе СКД.

Итак, запускаем ЗУП идем в меню Администрирование — Печатные формы, отчеты и обработки:

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

и после выбора нашего файла получаем сообщение об ошибке: «Невозможно подключить дополнительный отчет из файла.
Возможно, он не подходит для этой версии программы.»


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




Вот минимально необходимый код этой функции, который позволит добавить наш отчет в справочник:




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

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

	ПараметрыРегистрации.Информация = "Тестовый отчет.";
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();

	Команда = ПараметрыРегистрации.Команды.Добавить();
	Команда.Представление = "Сформировать отчет по товарам";
	Команда.Идентификатор = "ДополнительныеОтчеты_ТестовыйОтчет";
	Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();

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

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

Как мы видим у нас используется пара функций из общего модуля ДополнительныеОтчетыИОбработкиКлиентСервер: ВидОбработкиДополнительныйОтчет() и ТипКомандыОткрытиеФормы(). Если мы заглянем внутрь этих функций, то увидим, что они всего лишь возвращают строку:




Функция ВидОбработкиДополнительныйОтчет() Экспорт

	Возврат "ДополнительныйОтчет"; // Внутренний идентификатор.

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


Функция ТипКомандыОткрытиеФормы() Экспорт

	Возврат "ОткрытиеФормы"; // Внутренний идентификатор.

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

и в какой-то момент может возникнуть соблазн не использовать эти функции, а непосредственно прописать строковые значения. Но делать этого категорически не стоит, т.к. эти функции относятся к области программного интерфейса. То есть если разработчики БСП в какой то момент решат использовать другие строковые значения, то использование функций программного интерфейса позволит избежать доработки модуля отчета.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

   

2017г. Профессия — 1С. Обмен опытом по программированию в 1С