Имя: Пароль:
1C
 
Запрос в ДеревоЗначений
0 Вася Теркин
 
25.10.16
12:43
Не хочу рекурсию писать, хотя могу.))) Хочу запросом сделать.
Есть ДеревоЗначений много уровней на форме, на нем галки ставят в колонке Знак. Дальше нужно получить в список значений все значения номенклатуры из всех отмеченных веток (без подчиненных) если у них реквизит реальная равен истина. Отмечена может быть и не реальная, её не надо возвращать. В запросе список отмеченой реальной номенклатуры. со всех уровней дерева. А как в запросе к ветке дерева обращаться?
Колонки дерева
Знак - Булево, данные флажка Знак, выставляется интерактивно
Номенклатура - Справочник
Реальная - Булево, заполняется программно при формировании дерева.

Дерево запросом можно перебрать?
1 Лефмихалыч
 
25.10.16
12:46
добавь третью колонку, которую заполняй истиной при включении-выключении галок так, как надо. А потом просто НайтиСТроки(, истина)
2 МихаилМ
 
25.10.16
12:47
у дз есть найтистроки.
3 Лефмихалыч
 
25.10.16
12:51
(2) я так понял, что проблема в том, что у него условие "ИЛИ", а не И и НайтиСтроки не подходит по этому.
4 Вася Теркин
 
25.10.16
12:53
А обычным запросом дерево реально обходить?
5 Лефмихалыч
 
25.10.16
13:16
(4) нет
6 Лефмихалыч
 
25.10.16
13:17
+(5) толи там только первого уровня строки будут, то ли это вообще не возможно - не помню точно
7 МихаилМ
 
25.10.16
13:18
первого уровня в построителе запроса
8 DrShad
 
25.10.16
13:19
можно дерево в ТЗ конвертнуть
9 shpioleg
 
25.10.16
13:24
(0) Да ты не очкуй рекурсию. Я 100 раз так делал ©

&НаКлиенте
Процедура ЗаполнитьТЧизДерева (Знач Элементы)
    ЭлементыДерева = Элементы.ПолучитьЭлементы();
    Для каждого стр из ЭлементыДерева Цикл
        ЗаполнитьТЧизДерева (стр);
        Если НЕ стр.ЭтоГруппа И стр.Сумма Тогда
            нс = Объект.Статьи.Добавить();
            ....
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

AdBlock убивает бесплатный контент. 1Сергей