Как вызвать отчет программно. УФ.

Иван иванович, как вызвать директоров на совещание, по селектору?
— Вызывайте по одноклассникам — быстрее будет.

Для начинающих программистов полезно будет узнать, как можно на Управляемых формах вызвать отчет, который уже есть в БД, программно. Т.е. вы делаете на форме кнопку и по ней вызывается отчет, причем в некоторых конфигурациях уже сформированный по предыдущим настройкам.

Иногда это особенно удобно, если, например, требуется в одном месте собрать несколько отчетов с комментариями к ним.

Итак, за дело. Заглянем конфигуратором в Управление торговлей 11.4. И мы там увидим, например типовой отчет Товарый отчет ТОРГ12

Вот с ней и поэкспериментируем. Создаем новую обработку, обзываем ее ВызовОтчетаТорг12

Создаем в обработке Форму и добавляем Команду «ВызватьОтчет»

В модуле формы прописываем для этой команды под Директивой &НаКлиенте код:

&НаКлиенте
Процедура ВызватьОтчет(Команда)
	Форма = ПолучитьФорму("Отчет.ТоварныйОтчетТОРГ29.Форма");
	Настройки = ПолучитьНастройки(Форма.Отчет.КомпоновщикНастроек); // получаем настройки
	
	Форма.Отчет.КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
	Форма.СкомпоноватьРезультат();
	Форма.Открыть();
КонецПроцедуры

Как видите, здесь есть обращение к Функции «ПолучитьНастройки» — пропишем ее под директивой &НаСервереБезКонтекста

&НаСервереБезКонтекста
Функция ПолучитьНастройки(КомпоновщикНастроек)
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	Возврат Настройки;
КонецФункции

Собственно, все. Прикрепим данную обработку к какой-нибудь подсистеме, например,.. Продажи.

Заходим в БД в режиме 1С:Предприятие и далее в Продажи

В разделе Сервис вызываем нашу обработку

Жмем на кнопку «Вызвыть отчет» и далее 2 варианта: если вы уже вызывали данный отчет с какими-то настройками, то именно эту картинку вы и увидите, если это первый вызов отчета, то откроется пустой отчет, и заполнив необходимые настройки вы увидите результат.

В следующий раз немного усложним процедуру. Всем удачи.

Прикладываю данную обработку, только не забывайте, что мы работали в УТ, в других конфах этого отчета может и не быть, тогда вам в строчке

Форма = ПолучитьФорму(«Отчет.ТоварныйОтчетТОРГ29.Форма»);

Нужно » ТоварныйОтчетТОРГ29 » заменить на отчет в вашей конфигурации.