|
Иерархический вывод результата в построитель отчета | ☑ | ||
---|---|---|---|---|
0
arhiordinator
21.02.14
✎
13:16
|
Всем привет, подскажите как вывести через построитель, результат в иерархическом виде, на форме имеется "ПолеТабличногоДокумента", собственно текст запроса и настройки построителя ниже.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, | Номенклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Ссылка В ИЕРАРХИИ(&Родитель) | И НЕ Номенклатура.ПометкаУдаления | |СГРУППИРОВАТЬ ПО | Номенклатура.НоменклатурнаяГруппа, | Номенклатура.Ссылка | |УПОРЯДОЧИТЬ ПО | Номенклатура.НоменклатурнаяГруппа, | Номенклатура.Ссылка |ИТОГИ ПО | Номенклатура.Ссылка, | Номенклатура.НоменклатурнаяГруппа ИЕРАРХИЯ |АВТОУПОРЯДОЧИВАНИЕ"; Запрос.УстановитьПараметр("Родитель",Справочники.Номенклатура.Комплектующие); РезультатЗапроса = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); ПостроительОтчетаДляВывода = Новый ПостроительОтчета(); ПостроительОтчетаДляВывода.ИсточникДанных = Новый ОписаниеИсточникаДанных(РезультатЗапроса); ПостроительОтчетаДляВывода.Выполнить(); ТабличныйДокумент = ЭлементыФормы.ДокументРезультат; ТабличныйДокумент.Очистить(); ПостроительОтчетаДляВывода.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Песок); ПостроительОтчетаДляВывода.ОформитьМакет(); ПостроительОтчетаДляВывода.РазмещениеИзмеренийВКолонках = ТипРазмещенияИзмерений.Вместе; ПостроительОтчетаДляВывода.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе; ПостроительОтчетаДляВывода.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.отдельно; ПостроительОтчетаДляВывода.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.отдельно; ПостроительОтчетаДляВывода.ТекстЗаголовка = СокрЛП(ЭтотОбъект.Метаданные().Синоним); ПостроительОтчетаДляВывода.Вывести(ТабличныйДокумент); |
|||
1
arhiordinator
21.02.14
✎
13:27
|
up
|
|||
2
х86
21.02.14
✎
13:30
|
зачем построителю скармливаешь ДЗ ???
установи у него текст запроса и добавь поле в ИзмеренияСтроки |
|||
3
arhiordinator
21.02.14
✎
13:34
|
(2) так проблема именно в том, что это просто упрощенный вариант, построителю там скармливается Запрос и не понятно как вывести.
|
|||
4
х86
21.02.14
✎
13:45
|
тут всё есть http://infostart.ru/public/19341/
|
|||
5
zladenuw
21.02.14
✎
13:46
|
а чего построитель то. через СКД же проще.
|
|||
6
arhiordinator
21.02.14
✎
13:47
|
(5) нужно сделать именно через построитель.
|
|||
7
zladenuw
21.02.14
✎
13:58
|
ПостроительОтчетаДляВывода = Новый ПостроительОтчета();
ПостроительОтчетаДляВывода.Текст = "ВЫБРАТЬ | Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа, | Номенклатура.Ссылка КАК Номенклатура |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ |НЕ Номенклатура.ПометкаУдаления |{ГДЕ | Номенклатура.Родитель.*} | |СГРУППИРОВАТЬ ПО | Номенклатура.НоменклатурнаяГруппа, | Номенклатура.Ссылка | |УПОРЯДОЧИТЬ ПО | Номенклатура.НоменклатурнаяГруппа, | Номенклатура.Ссылка |ИТОГИ ПО | Номенклатура, | НоменклатурнаяГруппа ИЕРАРХИЯ |АВТОУПОРЯДОЧИВАНИЕ"; ПолеОтбора = ПостроительОтчетаДляВывода.Отбор.Добавить("Родитель"); ПолеОтбора.ВидСравнения = ВидСравнения.ВИерархии; ПолеОтбора.Значение = ПолеВвода1; ПолеОтбора.Использование = Истина; ПостроительОтчетаДляВывода.ЗаполнитьНастройки(); ПостроительОтчетаДляВывода.Выполнить(); ТабличныйДокумент = ЭлементыФормы.ПолеТабличногоДокумента; ТабличныйДокумент.Очистить(); ПостроительОтчетаДляВывода.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Песок); ПостроительОтчетаДляВывода.ОформитьМакет(); ПостроительОтчетаДляВывода.РазмещениеИзмеренийВКолонках = ТипРазмещенияИзмерений.Вместе; ПостроительОтчетаДляВывода.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе; ПостроительОтчетаДляВывода.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.отдельно; ПостроительОтчетаДляВывода.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.отдельно; ПостроительОтчетаДляВывода.ТекстЗаголовка = СокрЛП(ЭтотОбъект.Метаданные().Синоним); ПостроительОтчетаДляВывода.Вывести(ТабличныйДокумент); |
|||
8
zladenuw
21.02.14
✎
13:58
|
а вообще. читать тут http://www.mista.ru/v8/repbuilder.htm
|
|||
9
arhiordinator
21.02.14
✎
14:27
|
(7) Читаю гайд , спасибо за запрос, но он у тебя через построитель, нужно с источником запрос.
|
|||
10
zladenuw
21.02.14
✎
14:50
|
(9) ты написал через построитель. я тебе дал результат через построитель. нафига что бы источник был запрос ?
|
|||
11
arhiordinator
21.02.14
✎
15:04
|
это просто тренировочный запрос. Есть большой супер запрос, который выводить в табличный документ. Там есть куча виртуальных таблиц. В общем что бы тот не писать, написал такой.
|
|||
12
arhiordinator
21.02.14
✎
15:26
|
Вот как то так, для бушующих поколений:
ПостроительОтчета.ИсточникДанных.Колонки.НоменклатурнаяГруппа.Измерение = Истина; |
|||
13
arhiordinator
21.02.14
✎
15:26
|
вопрос решен
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |