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