
- •Лабораторная работа 10. Документ и регистр сведений
- •10.1. Основные понятия
- •10.2. Изменение настройки регистра сведений "ДанныеОс"
- •10.2.1. Изменение формы списка
- •10.3. Документ "Поступление"
- •10.3.1. Закладка "Основные"
- •10.3.2. Закладка "Данные"
- •10.3.3. Закладка "Нумерация"
- •10.3.7. Самостоятельная работа: закладка "Формы"
- •10.4. Работа с документами из встроенного языка системы
- •10.4.1. Менеджер документа
- •10.4.2. Самостоятельная работа: организация выборки
- •10.4.3. Работа с Документом как с объектом
- •10.5.1. Обработка событий от элементов формы
- •10.5.2. Получение итогов в подвале табличного поля
- •10.5.3. Обработка событий формы
- •10.6.2. Доработка процедуры ОбработкаПроведения(…)
- •10.6.3. Работа с движениями в форме документа
- •10.7. Работа с документом в режиме "1с:Предприятие"
- •10.8. Что мы узнали
- •Лабораторная работа 11(10_2). Отчеты и Запросы
- •11.1. Создание отчета (запроса) "вручную"
- •11.1.2. Особенности создания формы отчета
- •11.1.3. Модуль формы отчета
- •11.1.4. Изменение текста запроса и его выполнение
- •11.1.5. Выборка данных из результата запроса
- •11.2. Вызов отчета из интерфейса конфигурации
- •11.3. Обращение к отчету из встроенного языка системы
- •11.3.1. Модуль отчета
- •11.4. Конструктор выходных форм
11.3.1. Модуль отчета
Чтобы открыть этот модуль можно нажать на самом отчете в дереве "Конфигурация" правую кнопку мыши и выбрать пункт "Открыть модуль объекта". Что мы можем разместить в этом модуле?
Особенностью его является то, что он не может содержать никаких обработчиков событий. Поэтому разместить в нем можно (и даже нужно!) процедуру, которая будет заниматься формированием отчета.
Упражнение №11.7. |
Наберите в модуле отчета "КурсыУЕ" заголовок процедуры СформироватьОтчет() с добавочным ключевым словом Экспорт. Перенесете в нее все содержимое процедуры КнопкаСформироватьНажатие(Элемент) из модуля формы. После чего обеспечьте ее вызов из этой процедуры. |
Если Вы все сделали правильно, то текст процедуры в модуле формы:
//КнопкаСформироватьНажатие(Элемент) - формирует отчет с // использованием запроса Процедура КнопкаСформироватьНажатие(Элемент) СформироватьОтчет(); КонецПроцедуры
А модуль отчета после ваших действий должен содержать:
// Модуль объекта "Отчет.КурсыУЕ" Процедура СформироватьОтчет() Экспорт ТабДок = Новый ТабличныйДокумент(); //Получение макета Макет = ПолучитьОбщийМакет("КурсУЕ"); //Получение части документа из макета Область = Макет.ПолучитьОбласть("Заголовок"); // действия по заполнению параметров части документа Область.Параметры.НаименованиеОрганизации = Константы.НаименованиеОрганизации.Получить(); ТабДок.Вывести(Область); Область = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(Область); Область = Макет.ПолучитьОбласть("Строка"); //Создаем объект запрос Запрос = Новый Запрос(); //Формируем текст запроса Запрос.Текст = "ВЫБРАТЬ |Курсы.Период КАК Дата, |Курсы.Курс КАК Значение |ИЗ РегистрСведений.Курсы КАК Курсы |ГДЕ Курсы.Период МЕЖДУ &НачПериода И &КонПериода |УПОРЯДОЧИТЬ ПО Дата УБЫВ"; Запрос.УстановитьПараметр("НачПериода", НачПериода); Запрос.УстановитьПараметр("КонПериода", КонПериода); //И выполняем запрос Результат = Запрос.Выполнить(); // Обработка результата Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Область.Параметры.Дата = Выборка.Дата; Область.Параметры.Значение = Выборка.Значение; ТабДок.Вывести(Область); КонецЦикла; // Установка свойств табличного документа в целом // перед его отображением: ТабДок.ИмяПараметровПечати = "ПараметрыОтчетаКурсыУЕ"; ТабДок.ИмяСохраненияПоложенияОкна = "ОкноОтчетаКурсыУЕ"; ТабДок.ОтображатьЗаголовки = Ложь; ТабДок.ОтображатьСетку = Ложь; ТабДок.СохранятьСвойстваОтображения=Истина; ТабДок.ТолькоПросмотр = Истина; ТабДок.ФиксацияСверху = 3; ТабДок.Показать("История курса УЕ"); КонецПроцедуры
После таких преобразований мы можем вызвать наш отчет средствами встроенного языка следующим образом:
// Создать объект ОтчетКурсыУЕ = Отчеты.КурсыУЕ.Создать(); // Настроить параметры отчета ОтчетКурсыУЕ.КонПериода = РабочаяДата; // Сформировать сам отчет ОтчетКурсыУЕ.СформироватьОтчет();
Добавим в наш основной интерфейс кнопку аналогичную пункту меню, который был рассмотрен ранее, измените ее свойства, выполнив следующее упражнение.
Упражнение №11.8. |
||||||
Добавьте в основной интерфейс кнопку на панели инструментов:
Остальные свойства можно оставить без изменения. Когда Вы вводили имя действия СформироватьОтчетКурсыУЕ, Конфигуратор разместил в Модуле приложения заготовку: Введите в текст процедуры следующие строки: //СформироватьОтчетКурсыУЕ() - пример формирования отчета // программным путем Процедура СформироватьОтчетКурсыУЕ() Экспорт // Создать объект ОтчетКурсыУЕ = Отчеты.КурсыУЕ.Создать(); // Настроить параметры отчета ОтчетКурсыУЕ.КонПериода = РабочаяДата; // Сформировать сам отчет ОтчетКурсыУЕ.СформироватьОтчет(); КонецПроцедуры Проверьте работоспособность пункта меню и кнопки на панели инструментов. |