Главная Регистрация Форум Поиск по форуму Продать разработку Программное обеспечение Опубликовать статью Статьи по программированию Все люди Поиск людей Общение Сообщества Фриланс Добавить проект Web-бухгалтерия Железо Книги

finansoft.ru

Социальная сеть программистов
 


 Авторизация
Логин:

Пароль:



 Забыли пароль ?

 Регистрация
На сайте:
Содержание

Как вывести результат запроса в табличный документ?


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




Программирование finansoft.ru