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