Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №10 «Документ и регистр све...doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
602.62 Кб
Скачать

11.3.1. Модуль отчета

Чтобы открыть этот модуль можно нажать на самом отчете в дереве "Конфигурация" правую кнопку мыши и выбрать пункт "Открыть модуль объекта". Что мы можем разместить в этом модуле?

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

Упражнение №11.7.

Наберите в модуле отчета "КурсыУЕ" заголовок процедуры СформироватьОтчет() с добавочным ключевым словом Экспорт.

Перенесете в нее все содержимое процедуры КнопкаСформироватьНажатие(Элемент) из модуля формы. После чего обеспечьте ее вызов из этой процедуры.

Если Вы все сделали правильно, то текст процедуры в модуле формы:

//КнопкаСформироватьНажатие(Элемент) - формирует отчет с // использованием запроса Процедура КнопкаСформироватьНажатие(Элемент)     СформироватьОтчет(); КонецПроцедуры

А модуль отчета после ваших действий должен содержать:

// Модуль объекта "Отчет.КурсыУЕ" Процедура СформироватьОтчет() Экспорт     ТабДок = Новый ТабличныйДокумент();     //Получение макета     Макет = ПолучитьОбщийМакет("КурсУЕ");     //Получение части документа из макета     Область = Макет.ПолучитьОбласть("Заголовок");     // действия по заполнению параметров части документа     Область.Параметры.НаименованиеОрганизации =     Константы.НаименованиеОрганизации.Получить();     ТабДок.Вывести(Область);     Область = Макет.ПолучитьОбласть("Шапка");     ТабДок.Вывести(Область);     Область = Макет.ПолучитьОбласть("Строка");     //Создаем объект запрос     Запрос = Новый Запрос();     //Формируем текст запроса     Запрос.Текст =     "ВЫБРАТЬ     |Курсы.Период КАК Дата,     |Курсы.Курс КАК Значение     |ИЗ РегистрСведений.Курсы КАК Курсы     |ГДЕ Курсы.Период МЕЖДУ &НачПериода И &КонПериода     |УПОРЯДОЧИТЬ ПО Дата УБЫВ";     Запрос.УстановитьПараметр("НачПериода", НачПериода);     Запрос.УстановитьПараметр("КонПериода", КонПериода);     //И выполняем запрос     Результат = Запрос.Выполнить();     // Обработка результата     Выборка = Результат.Выбрать();     Пока Выборка.Следующий() Цикл         Область.Параметры.Дата = Выборка.Дата;         Область.Параметры.Значение = Выборка.Значение;         ТабДок.Вывести(Область);     КонецЦикла;     // Установка свойств табличного документа в целом     // перед его отображением:     ТабДок.ИмяПараметровПечати = "ПараметрыОтчетаКурсыУЕ";     ТабДок.ИмяСохраненияПоложенияОкна = "ОкноОтчетаКурсыУЕ";     ТабДок.ОтображатьЗаголовки = Ложь;     ТабДок.ОтображатьСетку = Ложь;     ТабДок.СохранятьСвойстваОтображения=Истина;     ТабДок.ТолькоПросмотр = Истина;     ТабДок.ФиксацияСверху = 3;     ТабДок.Показать("История курса УЕ"); КонецПроцедуры

После таких преобразований мы можем вызвать наш отчет средствами встроенного языка следующим образом:

// Создать объект ОтчетКурсыУЕ = Отчеты.КурсыУЕ.Создать(); // Настроить параметры отчета ОтчетКурсыУЕ.КонПериода = РабочаяДата; // Сформировать сам отчет ОтчетКурсыУЕ.СформироватьОтчет();

Добавим в наш основной интерфейс кнопку аналогичную пункту меню, который был рассмотрен ранее, измените ее свойства, выполнив следующее упражнение.

Упражнение №11.8.

Добавьте в основной интерфейс кнопку на панели инструментов:

Свойство

Значение

Тип:

Действие

Действие:

СформироватьОтчетКурсыУЕ

Остальные свойства можно оставить без изменения.

Когда Вы вводили имя действия СформироватьОтчетКурсыУЕ, Конфигуратор разместил в Модуле приложения заготовку:

Введите в текст процедуры следующие строки:

//СформироватьОтчетКурсыУЕ() - пример формирования отчета // программным путем Процедура СформироватьОтчетКурсыУЕ() Экспорт     // Создать объект     ОтчетКурсыУЕ = Отчеты.КурсыУЕ.Создать();     // Настроить параметры отчета     ОтчетКурсыУЕ.КонПериода = РабочаяДата;     // Сформировать сам отчет     ОтчетКурсыУЕ.СформироватьОтчет(); КонецПроцедуры

Проверьте работоспособность пункта меню и кнопки на панели инструментов.