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