Книга: Разработка сложных отчетов в «1С:Предприятии 8». Система компоновки данных
Назад: Пример 9. Свободная структура таблицы отчета
Дальше: Связь наборов данных по периодам

Пример 10

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

Рис. 2.131. Требуемый вид отчета

Создадим новый объект конфигурации Отчет и назовем его ОстаткиИПродажиТоваров. Для реализации такого отчета создадим два набора данных:

Откроем конструктор схемы компоновки данных и добавим новый набор данных – запрос. Назовем его Остатки. Откроем конструктор запроса. Для того чтобы получить остатки товаров по периодам, воспользуемся виртуальной таблицей регистра накопления ОстаткиНоменклатуры.ОстаткиИОбороты. Выберем эту таблицу в качестве источника данных для запроса.

Вызовем диалог параметров виртуальной таблицы. Для этого в списке таблицы нужно нажать кнопку Параметры виртуальной таблицы. В открывшемся окне параметров зададим значение параметра Периодичность – Месяц (рис. 2.132).

Рис. 2.132. Параметры виртуальной таблицы

В список полей перенесем поля из таблицы ОстаткиНоменклатуры.ОстаткиИОбороты:

Нажмем ОК и вернемся в конструктор схемы компоновки данных. Платформа автоматически сформирует следующий запрос (листинг 2.21).

Листинг 2.21. Текст запроса набора данных «Остатки»

ВЫБРАТЬ

ОстаткиНоменклатурыОстаткиИОбороты.Период,

ОстаткиНоменклатурыОстаткиИОбороты.Номенклатура,

ОстаткиНоменклатурыОстаткиИОбороты.КоличествоНачальныйОстаток,

ОстаткиНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток

ИЗ

РегистрНакопления.ОстаткиНоменклатуры.ОстаткиИОбороты(, , Месяц, , )

КАК ОстаткиНоменклатурыОстаткиИОбороты

Добавим еще один набор данных – запрос. Назовем его Продажи. Откроем конструктор запроса. Продажи за период можно получить при помощи виртуальной таблицы регистра накопления Продажи.Обороты. Выберем эту таблицу в качестве источника данных для запроса.

Вызовем диалог параметров виртуальной таблицы. В открывшемся окне параметров зададим значение параметров НачалоПериода и КонецПериода (рис. 2.133).

Рис. 2.133. Параметры виртуальной таблицы

В список полей перенесем поля из таблицы ОстаткиНоменклатуры.ОстаткиИОбороты:

Нажмем ОК и вернемся в конструктор схемы компоновки данных. Платформа автоматически сформирует следующий запрос (листинг 2.22).

Листинг 2.22. Текст запроса набора данных «Продажи»

ВЫБРАТЬ

ПродажиОбороты.Номенклатура,

ПродажиОбороты.КоличествоОборот

ИЗ

РегистрНакопления.Продажи.Обороты(

&НачалоПериодаПродаж, &КонецПериодаПродаж, , ) КАК ПродажиОбороты

Назад: Пример 9. Свободная структура таблицы отчета
Дальше: Связь наборов данных по периодам