|
Дерево значений на форме | ☑ | ||
---|---|---|---|---|
0
AntonH851
06.09.12
✎
15:54
|
Добрый день
Нужно на форме отобразить дерево значений, оно формируется запросом, и дочерние строки добавляются потом где нужно. Присваиваю полученное дерево значений реквизиту которые связан с табличным полем, в отладчике вижу что есть строки 2-го уровня а на форме отображается только строки 1-го уровня, т.е. просто как ТаблицаЗначений. |
|||
1
ОбычныйЧеловек
06.09.12
✎
15:56
|
(0) Логично
|
|||
2
AntonH851
06.09.12
✎
15:57
|
А что нужно чтобы Дерево значений отображалось именно как дерево?
|
|||
3
AntonH851
06.09.12
✎
15:57
|
Вот мой код
ПостроительЗапроса=Новый ПостроительЗапроса; ПостроительЗапроса.Текст = "ВЫБРАТЬ | ТаблицаСчетов.Ссылка, | ТаблицаСчетов.НомерСчетаПоставщика КАК НомерСчета, | ТаблицаСчетов.ДатаСчетаПоставщика КАК ДатаСчета, | ТаблицаСчетов.Поставщик, | ТаблицаСчетов.СуммаИтог КАК Сумма, | ТаблицаСчетов.Распределен КАК Распределен, | ТаблицаСчетов.Сопоставлен КАК Сопоставлен, | ТаблицаСчетов.ПометкаУдаления КАК ПометкаУдаления, | ТаблицаСчетов.ДатаОплаты, | ВЫБОР | КОГДА ЕСТЬNULL(ТаблицаКорректировки.Корректировка, 0) > 0 | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК Корректировка |ИЗ | (ВЫБРАТЬ | СчетПоставщика.Ссылка КАК Ссылка, | СчетПоставщика.НомерСчетаПоставщика КАК НомерСчетаПоставщика, | СчетПоставщика.ДатаСчетаПоставщика КАК ДатаСчетаПоставщика, | СчетПоставщика.Поставщик КАК Поставщик, | СчетПоставщика.СуммаИтог КАК СуммаИтог, | СчетПоставщика.Распределен КАК Распределен, | СчетПоставщика.Сопоставлен КАК Сопоставлен, | СчетПоставщика.ПометкаУдаления КАК ПометкаУдаления, | СчетПоставщика.ДатаОплаты КАК ДатаОплаты | ИЗ | Документ.СчетПоставщика КАК СчетПоставщика | ГДЕ | СчетПоставщика.ПометкаУдаления = ЛОЖЬ | И СчетПоставщика.Распределен = ЛОЖЬ | И СчетПоставщика.Сопоставлен = ИСТИНА | И ВЫБОР | КОГДА СчетПоставщика.Поставщик.ГраницаОплаты = &ПустаяСсылка | ТОГДА ИСТИНА | ИНАЧЕ СчетПоставщика.ДатаОплаты > СчетПоставщика.Поставщик.ГраницаОплаты.ДатаОплаты | КОНЕЦ | И СчетПоставщика.ДатаОплаты > &ОбщаяГраницаОплаты) КАК ТаблицаСчетов | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | КорректировкаСчета.Счет КАК Счет, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ КорректировкаСчета.Ссылка) КАК Корректировка | ИЗ | Документ.КорректировкаСчета КАК КорректировкаСчета | ГДЕ | КорректировкаСчета.Счет.Распределен = ЛОЖЬ | И КорректировкаСчета.Счет.ПометкаУдаления = ЛОЖЬ | И КорректировкаСчета.Счет.Сопоставлен = ИСТИНА | И ВЫБОР | КОГДА КорректировкаСчета.Счет.Поставщик.ГраницаОплаты = &ПустаяСсылка | ТОГДА ИСТИНА | ИНАЧЕ КорректировкаСчета.Счет.ДатаОплаты > КорректировкаСчета.Счет.Поставщик.ГраницаОплаты.ДатаОплаты | КОНЕЦ | И КорректировкаСчета.Счет.ДатаОплаты > &ОбщаяГраницаОплаты | | СГРУППИРОВАТЬ ПО | КорректировкаСчета.Счет) КАК ТаблицаКорректировки | ПО ТаблицаСчетов.Ссылка = ТаблицаКорректировки.Счет |{ГДЕ | ТаблицаСчетов.Поставщик.*, | ТаблицаСчетов.ДатаОплаты, | ТаблицаСчетов.Распределен, | ТаблицаСчетов.Сопоставлен, | ТаблицаСчетов.ПометкаУдаления}"; Для Каждого СтрокаОтбора из ЭтаФорма.тпСчета.Отбор Цикл ДоступноеПоле=ПостроительЗапроса.ДоступныеПоля.Найти(СтрокаОтбора.Имя); Если ДоступноеПоле<>Неопределено И ДоступноеПоле.Отбор=Истина Тогда Если СтрокаОтбора.Имя = "Поставщик" Тогда СтрокаОтбораПостроителя=ПостроительЗапроса.Отбор.Добавить(СтрокаОтбора.Имя); СтрокаОтбораПостроителя.ВидСравнения = СтрокаОтбора.ВидСравнения; СтрокаОтбораПостроителя.Значение = СтрокаОтбора.Значение; СтрокаОтбораПостроителя.Использование = СтрокаОтбора.Использование; Иначе СтрокаОтбораПостроителя=ПостроительЗапроса.Отбор.Добавить(СтрокаОтбора.Имя); ЗаполнитьЗначенияСвойств(СтрокаОтбораПостроителя, СтрокаОтбора); КонецЕсли; КонецЕсли; КонецЦикла; ПостроительЗапроса.Параметры.Вставить("ОбщаяГраницаОплаты", ОбщаяГраницаОплаты); ПостроительЗапроса.Параметры.Вставить("ПустаяСсылка", Документы.СчетПоставщика.ПустаяСсылка()); ПостроительЗапроса.Выполнить(); ТЗ=ПостроительЗапроса.Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам); Отбор = Новый Структура; Отбор.Вставить("Корректировка", Истина); НС = ТЗ.Строки.НайтиСтроки(Отбор, Ложь); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КорректировкаСчета.Ссылка, | КорректировкаСчета.Номер, | КорректировкаСчета.Дата, | КорректировкаСчета.Счет, | КорректировкаСчета.Сумма, | КорректировкаСчета.НДС10, | КорректировкаСчета.НДС18, | КорректировкаСчета.Распределен |ИЗ | Документ.КорректировкаСчета КАК КорректировкаСчета |ГДЕ | КорректировкаСчета.Счет = &Счет | И КорректировкаСчета.ПометкаУдаления = ЛОЖЬ"; Для Каждого Стр Из НС Цикл Запрос.УстановитьПараметр("Счет", Стр.Ссылка); ТЗКорректировки = Запрос.Выполнить().Выгрузить(); Для Каждого СтрК Из ТЗКорректировки Цикл НоваяСтр = Стр.Строки.Добавить(); НоваяСтр.Ссылка = СтрК.Ссылка; НоваяСтр.Сумма = СтрК.Сумма; НоваяСтр.Распределен = СтрК.Распределен; КонецЦикла; КонецЦикла; тпСписокСчетов = ТЗ; |
|||
4
YF
06.09.12
✎
15:58
|
(2) Вроде режим отображения есть у элемента формы
|
|||
5
ОбычныйЧеловек
06.09.12
✎
15:59
|
(2) У колонки есть свойство "Отображать иерархию" - ты ее включил?
|
|||
6
AntonH851
06.09.12
✎
16:00
|
Отображать иерархию - нет не включал
|
|||
7
AntonH851
06.09.12
✎
16:02
|
Спасибо огромное, я или не знал или забыл про это...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |