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

Отчет по клиентам детализацией курсов

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

Рис. 14. Макет отчета ОтчетСДетализацией

Текст процедуры формирования отчета приведен в листинге 3.

Листинг 3. Процедура формирования отчета по оплатам клиентов с детализацией по курсам

&НаСервере

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

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

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

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

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

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

|КАК ОплаченнаяСумма

|ИЗ

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

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

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

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

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

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

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

Макет = Отчеты.ОтчетПоКлиентамСДетализациейКурсов.ПолучитьМакет("Макет");

// Заголовок

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

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

// Шапка

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

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

// Выполнить запрос

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

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

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

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

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

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

КонецЦикла;

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

&НаКлиенте

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

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

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

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

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

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

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

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

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

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

После формирования отчета, получим результат оплаты с группировкой по клиентам и курсам (Рис.15).

Рис. 15. Отчет по оплатам с детализацией учебных курсов

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

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

  • Заголовок – текст «Отчет по оплатам клиентов»;

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

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

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

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