Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1С: Лабораторная работа №3.doc
Скачиваний:
38
Добавлен:
23.03.2016
Размер:
476.16 Кб
Скачать

Лабораторная работа № 3 Отчеты

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

Для создания отчета необходимо в окне Конфигурация из контекстного меню строки Отчеты выбрать команду Добавить. В открывшемся диалоговом окне ввести имя нового отчета (Рис. 1).

Рис. 1. Окно редактирования отчета

Для создания макета отчета необходимо перейти на закладку Макеты и воспользоваться кнопкой Добавить. В открывшемся диалоговом окне (Рис. 2) проверить установки по умолчанию и нажать кнопку Готово.

Рис. 2. Окно конструктора макета

Откроется окно (Рис. 3) для разработки структуры табличного документа, где можно самостоятельно создать макет для печатной формы.

Рис. 3. Окно структуры табличного документа

Для вывода в табличный документ строк различного вида в макет предусмотрен механизм секций. В этом случае табличный документ формируется не сразу целиком, а поэтапно – по мере заполнения секций. Секция является компонентой (составляющей табличного документа). Секции могут быть вертикальными и горизонтальными. Горизонтальная секция представляет собой совокупность нескольких строк и состоит как минимум из одной строки. Для создания секции необходимо выделить мышкой названия заголовков и выбрать в меню ТаблицаИменаНазначить имя. Первой секции присвоим имя Заголовок и введем текст заголовка. Для изменения размеров шрифта необходимо из контекстного меню ячейки выбрать команду Свойство и в открывшемся диалоговом окне в разделе Оформление установить нужные параметры (Рис. 4).

Рис. 4. Изменение оформления текста в ячейке макета

Аналогичным образом добавляются другие секции, например Шапка и Строка (Рис. 5).

Рис. 5. Структура макета для табличного документа

Для добавления оформления в секцию Строка нужно воспользоваться разделом Ячейки окна Свойства. В секции Строка в разделе Заполнение окна Свойства необходимо сделать установку Параметр (Рис. 6) для установления значения переменной, которая будет определена явно или неявно в программной процедуре заполнения табличного документа по шаблону макета.

Рис. 6. Установление свойства Параметр

Создание в шаблоне трех секций является типичным при формировании несложных отчетов. Когда требуется большая информативность, то количество секций увеличивается. Например, на практике часто встречается так называемая секция Подвал, отображающая нижнюю часть табличного документа – в ней подводятся итоги по отчету.

Процедура заполнения отчета

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

Рис. 7. Закладка Формы окна редактирования отчета

В открывшемся диалоговом окне следует проконтролировать установки по умолчанию и нажать кнопку Готово (Рис. 8).

Рис. 8. Окно конструктора формы отчета

Откроется экранная форма отчета с элементами управления. Добавим на нее кнопку с командой формирования отчета (рис.9)

Рис. 9. Экранная форма отчета

На закладке Модуль окна редактора для написания программных процедур имеется заготовка для процедуры, обслуживающей нажатие на кнопку Сформировать. Листинг процедуры, генерирующий отчет приведен в листинге 1.

Листинг 1. Процедура формирования отчета (Рис.10)

&НаСервере

Процедура СформироватьНаСервере(ТабДок)

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ

| ВнесениеОплатыЗаКурсы.Курс КАК Курс,

| СУММА(ВнесениеОплатыЗаКурсы.ВнесеннаяСумма) КАК ОплаченнаяСумма

|ИЗ

| Документ.ВнесениеОплаты.ОплатаКурсов КАК ВнесениеОплатыЗаКурсы

|СГРУППИРОВАТЬ ПО

| ВнесениеОплатыЗаКурсы.Курс";

Макет = Отчеты.УчетОплаты.ПолучитьМакет("Макет");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

ТабДок.Вывести(Область);

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

ТабДок.Вывести(Область);

// ОплатаКурсов

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДанные = РезультатЗапроса.Выбрать();

Пока ВыборкаДанные.Следующий() Цикл

// Получаем область строки таблицы

ОбластьСтрока = Макет.ПолучитьОбласть("Строка");

// Заполняем параметр Курс

ОбластьСтрока.Параметры.Курс = ВыборкаДанные.Курс;

// Заполняем параметр ОплаченнаяСумма

ОбластьСтрока.Параметры.ОплаченнаяСумма = ВыборкаДанные.ОплаченнаяСумма;

ТабДок.Вывести(ОбластьСтрока);

КонецЦикла;

КонецПроцедуры

&НаКлиенте

Процедура Сформировать(Команда)

ТабДок = Новый ТабличныйДокумент;

СформироватьНаСервере(ТабДок);

ТабДок.Показать();

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

КонецПроцедуры

Рис. 10. Окно редактирования Модуль

Запрос – это объект системы 1С: Предприятие. В примере продемонстрировано эффективное использование запроса для извлечения информации из имеющихся данных (Рис. 11).

Рис. 11. Сформированный отчет УчетОплаты в режиме 1С: Предприятие

Задание для самостоятельного выполнения

  1. Создайте отчет УчетОплаты с тремя секциями:

  • Заголовок – текст «Отчет по оплатам за курсы»;

  • Шапка – с двумя ячейками с текстом «Курс» и «Оплаченная сумма»;

  • Строка – с двумя параметрами «Курс» и «ОплаченнаяСумма».

  1. Напишите процедуру обслуживающую кнопку Сформировать, воспользовавшись примером, приведенным выше.

  2. Просмотрите полученный отчет в режиме 1С: Предприятие.