|
Вывод нескольких пакетов запросов на форму | ☑ | ||
---|---|---|---|---|
0
grigorev1987
12.07.22
✎
07:15
|
Здравствуйте!
Делаю внешнюю печатную форму, вывел табличную часть Товары из документа Заказ Клиента. Но уперся в выводом нескольких пакетов запросов на форму. Часть кода, это я уже добавил индексы и "выполняю Пакет" и соответственно поправил немного Цикл, но теперь выводится в Отчет только текст) Дальше у меня "затык", не могу понять как дальше. Процедура ПечатьОбъекта(ТабДок,Ссылка) Макет = ПолучитьМакет("Макет"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиента.Договор.Дата КАК ДоговорДата, | ЗаказКлиента.Договор.Номер КАК ДоговорНомер, | ЗаказКлиента.НомерПоДаннымКлиента КАК НомерПоДаннымКлиента |ИЗ | Документ.ЗаказКлиента КАК ЗаказКлиента |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ЗаказКлиентаТовары.Номенклатура КАК Номенклатура, | ЗаказКлиентаТовары.Цена КАК Цена, | ЗаказКлиентаТовары.НомерСтроки КАК НомерСтроки, | ЗаказКлиентаТовары.СуммаНДС КАК СуммаНДС, | ЗаказКлиентаТовары.СуммаСНДС КАК СуммаСНДС, | ЗаказКлиентаТовары.Количество КАК Количество, | ЗаказКлиентаТовары.Сумма КАК Сумма, | ЗаказКлиентаТовары.Номенклатура.Артикул КАК Артикул, | ЗаказКлиентаТовары.Номенклатура.Наименование КАК НоменклатураНаименование, | ЗаказКлиентаТовары.Номенклатура.НаименованиеПолное КАК НаименованиеПолное, | ЗаказКлиентаТовары.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения |ИЗ | Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары |ГДЕ | ЗаказКлиентаТовары.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка", Ссылка); РезультатЗапроса = Запрос.ВыполнитьПакет(); ДанныеЗаголовок = РезультатЗапроса[0].Выбрать(); ДанныеДетали = РезультатЗапроса[1].Выбрать(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаЗаголовок = ДанныеЗаголовок.Выбрать(); ВыборкаЗаголовок.Следующий(); ВыборкаДетали = ДанныеДетали.Выбрать(); Пока ВыборкаДетали.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); КонецПроцедуры; |
|||
1
chelentano
12.07.22
✎
07:21
|
РезультатЗапроса = Запрос.ВыполнитьПакет();
//ДанныеЗаголовок = РезультатЗапроса[0].Выбрать(); //ДанныеДетали = РезультатЗапроса[1].Выбрать(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); ТабДок.Очистить(); ТабДок.Вывести(ОбластьЗаголовок); ТабДок.Вывести(ОбластьШапкаТаблицы); ТабДок.НачатьАвтогруппировкуСтрок(); ВыборкаЗаголовок = РезультатЗапроса[0].Выбрать(); ВыборкаЗаголовок.Следующий(); ВыборкаДетали = РезультатЗапроса[1].Выбрать(); Пока ВыборкаДетали.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали); ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень()); КонецЦикла; ТабДок.ЗакончитьАвтогруппировкуСтрок(); КонецПроцедуры; |
|||
2
Гипервизор
12.07.22
✎
07:21
|
(0) Где условие на ссылку в первом запросе?
И здесь уже тип выборка: ДанныеЗаголовок = РезультатЗапроса[0].Выбрать(), зачем снова ВыборкаЗаголовок = ДанныеЗаголовок.Выбрать()? |
|||
3
grigorev1987
12.07.22
✎
11:29
|
(1)
не так тоже не работает, не выводится заголовок |
|||
4
chelentano
12.07.22
✎
13:47
|
(3) Дык ты сначала выводишь заголовок, а потом данные выбираешь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |