![]() |
![]() |
![]() |
|
Поиск в дереве значений | ☑ | ||
---|---|---|---|---|
0
Карамелька
12.05.06
✎
18:10
|
Мне нужно сформировать дерево значений. Есть одна колонка "Идентификатор". Как найти узлы в ДЗ у кот. значение=0 (или какому то другому значению)?
|
|||
1
Карамелька
12.05.06
✎
18:12
|
это мне по всем уровням бегать нужно что ли?
|
|||
2
Волшебник
модератор
12.05.06
✎
18:13
|
НайтиСтроки
|
|||
3
Карамелька
12.05.06
✎
18:13
|
так МассД=Дерево.Строки.НайтиСтроки(Новый Структура("Идентификатор",Идентификатор2)); ?
|
|||
4
Карамелька
12.05.06
✎
18:14
|
таким образом он ищет только в верхнем уровне. А если такое значение находится где-нибудь в глубине, то он его не находит:(
|
|||
5
Карамелька
12.05.06
✎
18:29
|
help!!
|
|||
6
Волшебник
модератор
12.05.06
✎
18:32
|
А может преобразовать дерево в ТЗ и там уже искать?
|
|||
7
Карамелька
12.05.06
✎
18:42
|
:-О не думаю что это хорошая идея
|
|||
8
Волшебник
модератор
12.05.06
✎
18:43
|
(7) Тогда используй рекурсию. Но все-таки ТЗ лучше
|
|||
9
Карамелька
12.05.06
✎
18:43
|
я как раз и обратилась к Дереву значений, потому что мне нужно было создать такой объект, кот. в ТЗ не укладывался. Искать значения нужно постоянно, т.е. чтобы добавить элемент в ДЗ, нужно сначала найти родителя или родителей.
|
|||
10
Карамелька
12.05.06
✎
18:44
|
вообще то мне изначально нужен отчет по спецификациям. А там сложная вложенность получается и через ТЗ я ее реализовать не могу
|
|||
11
Волшебник
модератор
12.05.06
✎
18:45
|
(10) Заведи там поле "Родитель" и пусть там хранится СтрокаТабличнойЧасти. Та же вложенность.
|
|||
12
Карамелька
12.05.06
✎
18:48
|
:( мне идея с ДЗ понравилась, потому что у меня на ТЗ уже мозги не работают по крайней мере в плане этого отчета
|
|||
13
Оптимизатор
12.05.06
✎
18:51
|
Да там нах не надо ТЗ. Дерево значений хоть и медленно работает, но вещь хорошая. А Волшебник сразу видно этим объектом пользоваться неумеет.
А в Хелп заглянуть вп@длу что-ли? Тут же есть включать подчиненные! Синтаксис: НайтиСтроки(<Параметры отбора>, <Включать подчиненные>) Параметры: <Параметры отбора> (обязательный) Тип: Структура. Задает условия поиска: ключ структуры определяет имя колонки, по которой будет осуществляться поиск, а значение структуры - искомое значение. <Включать подчиненные> (необязательный) Тип: Булево. Определяет, будут ли производиться поиск также в подчиненных коллекциях (если таковые имеются). Истина - поиск будет произведен. Значение по умолчанию: Ложь Возвращаемое значение: Тип: Массив. Массив из строк дерева значений, соответствующих заданному условию поиска. Замечание! Массив хранит ссылки на строки дерева значений, то есть при изменении строки в дереве, значение в массиве тоже будет изменено. Описание: Осуществляет поиск строк из коллекции строк дерева значений, соответствующих заданному условию поиска. Примечание: Метод эффективно использовать для выборки неуникальных значений. Пример: ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("Затрата", ТекЗатрата); НайденныеСтроки = СтрокиСостава.НайтиСтроки(ПараметрыОтбора); |
|||
14
Волшебник
модератор
12.05.06
✎
18:52
|
(13) Значит я в (2) оказался прав, а в (4) меня Карамелька обманула.
|
|||
15
Оптимизатор
12.05.06
✎
18:53
|
Значит Карамелька этим объектом пользоваться неумеет:)
|
|||
16
Карамелька
15.05.06
✎
06:33
|
(15) Да. Не умею. Ну и что из этого. Мы все когда то чему то учимся. А перед этим естественно этого делать не умеем. А сегодня утром я и сама до <Включать подчиненные> дошла.
(14) Ну как я могла тебя обмануть? мне это и в голову не приходило. Просто если не устанавливать второй параметр, то он действительно ищет в одном уровне:) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |