Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/76: Рейтинг темы: голосов - 76, средняя оценка - 4.78
of1mo

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

06.12.2009, 14:52. Показов 14796. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
значит у меня отчет в котором должно выводиться дерево значений , по оборудованию и его размещению (размещение составной тип данных),из регистра сведений(в котором два поля размещение и оборудование). оборудование может размещаться как у физических лиц так и в самом оборудовании(речь идет о компьютерах и комплектующих). значит в первой процедуре я делаю запрос по размещению (по физическим лицам ) и делаю физических лиц Строкой верхнего уровня (в дереве одна колонка) а вторая процедура"ВывеслиУровень" добавляет все подчиненные строки к строке самого верхнего уровня - К строке "СтрокаДерева"
короче в первой процедуре
СтрокаВерхнегоУровня к ней надо добавить все строки которые ей подчинены, для этого использовать вторую процедуру должно получиться в отчете так
-ФизЛицо
-Системник
-Видеокарта ..

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

Запрос.Выполнить();
Выборка = Запрос.Выполнить().Выбрать();
НаборЗначений.Колонки.Очистить();
НаборЗначений.Колонки.Добавить("ИмяКолон ки");
НаборЗначений.Колонки.Добавить("Описание ");
Пока Выборка.Следующий() Цикл

СтрокаВерхнегоУровня = НаборЗначений.Строки.Добавить();
СтрокаВерхнегоУровня.ИмяКолонки = Выборка.Размещение;
??????????? что тут нужно написать чтоб к строке Верхнего уровня добавить все ей подчиненные используя
процедуру "ВывестиУровень" ??

КонецЦикла;

КонецПроцедуры

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


Добавлено: На этом форуме вообще есть кто-нить живой?!!
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2009, 14:52
Ответы с готовыми решениями:

В рабочей программе добавить для дерева бинарного поиска нахождение отрицательных значений узлов дерева
Полностью готовая программа, но что дописать в мейне чтобы он выводил произведение отрицательных узлов???:-| using System; using...

Как добавить данные используя подчиненные формы?
Здравствуйте. Помогите, пожалуйста, разобраться с проблемой: у меня в БД используются подчиненные формы(комната, санузел, кухня) для ввода...

Создать бинарное дерево. Найти среднее арифметическое дерева, добавить его как элемент дерева
Создать бинарное дерево. Найти среднее арифметическое дерева, добавить ср ареф как элемент дерева

2
of1mo
06.12.2009, 16:21
скажите хоть что не понятно , может кто помочь??? !! :D
0 / 0 / 0
Регистрация: 14.09.2007
Сообщений: 428
07.12.2009, 14:06
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Процедура КнопкаСформироватьНажатие(Кнопка)
Запрос = Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| КонтрольОборудованияСрезПоследних.Оборудование,
| КонтрольОборудованияСрезПоследних.Размещение
|ИЗ
| РегистрСведений.КонтрольОборудования.СрезПоследних КАК КонтрольОборудованияСрезПоследних
|ГДЕ
| КонтрольОборудованияСрезПоследних.Размещение ССЫЛКА Справочник.ФизическиеЛица";
 
Запрос.Выполнить();
Выборка = Запрос.Выполнить().Выбрать();
НаборЗначений.Колонки.Очистить();
НаборЗначений.Колонки.Добавить("ИмяКолонки");
НаборЗначений.Колонки.Добавить("Описание");
Пока Выборка.Следующий() Цикл
 
СтрокаВерхнегоУровня = НаборЗначений.Строки.Добавить();
СтрокаВерхнегоУровня.ИмяКолонки = Выборка.Размещение;
ВывестиУровень(СтрокаВерхнегоУровня, Выборка.Оборудование);
КонецЦикла;
ЭлементыФормы.НаборЗначений.СоздатьКолонки();
КонецПроцедуры
 
Процедура ВывестиУровень(СтрокаДерева, Элемент)
Запрос = Новый Запрос;
Запрос.Текст=
"ВЫБРАТЬ
| КонтрольОборудованияСрезПоследних.Оборудование,
| КонтрольОборудованияСрезПоследних.Размещение
|ИЗ
| РегистрСведений.КонтрольОборудования.СрезПоследних КАК КонтрольОборудованияСрезПоследних
|ГДЕ
| КонтрольОборудованияСрезПоследних.Размещение = &Элемент";
Запрос.УстановитьПараметр("Элемент",Элемент);
Запрос.Выполнить();
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ПодчиненнаяСтрока =СтрокаДерева.Строки.Добавить();
ПодчиненнаяСтрока.ИмяКолонки = Выборка.Оборудование;
ВывестиУровень(ПодчиненнаяСтрока, Выборка.Оборудование);
КонецЦикла;
КонецПроцедуры
Есть у кого-нибудь идеи? :offtop:
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.12.2009, 14:06
Помогаю со студенческими работами здесь

Удалить все листья 2-3–дерева, попадающие в заданный диапазон значений
помогите пожалуйста описать процедуру, которая удаляет все листья 2-3–дерева, попадающие в заданный диапазон значений. Добавлено...

Код бинарного дерева, добавить класс дерева методом, определяющим его глубину и ширин
Само задние: написать код бинарного дерева, добавить класс дерева методом, определяющим его глубину и ширину. Написал код, подсчет ширины...

Дан указатель Top на корень непустого дерева. Добавить 1 к значению каждого листа дерева
Написать функцию, выполняющую преобразование дерева. (void Transform(Tree*Top)) Дан указатель Top на корень непустого дерева. Добавить 1...

Дан указатель P1 на корень непустого дерева. Вывести сумму значений всех вершин данного дерева
Здравствуйте. Дан указатель P1 на корень непустого дерева. Вывести сумму значений всех вершин данного дерева.

Дан указатель P1 на корень непустого дерева. Вывести сумму значений всех листьев данного дерева
Дан указатель P1 на корень непустого дерева. Вывести сумму значений всех листьев данного дерева.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru