Имя: Пароль:
1C
1С v8
Количество подчинённых в дереве
,
0 picom
 
12.11.21
15:06
Коллеги, с пятницей!
Как быстренько получить количество подчиненных элементов в дереве значений (сервер)?
1 ДенисЧ
 
12.11.21
15:12
Рекурсивненьким цикликом по строчкам.
Или в исходненьком источничечке даннышек.
2 picom
 
12.11.21
15:15
А если не считать, а просто понять (и простить), есть там ветка или нет?
3 ДенисЧ
 
12.11.21
15:32
(2) Вот это можно. Это кошерно. Да и священник из ближней церкви тоже одобрил...
4 МихаилМ
 
12.11.21
15:32
(0)универсального способа нет.
для отдельной - перебором.

для всех по аналогии задачи
https://www.youtube.com/watch?v=mxCpEwXMrs8&list=PLCxkw0ZvwZaZOTdEmO80XzJHvf-DyHx87&index=2&t=425s
5 Ёпрст
 
12.11.21
15:35
(2) ну и смотри, есть ли элементы в подчиненной коллекции Строки у узла дерева
6 picom
 
12.11.21
15:44
&НаСервере
Процедура РасчетХолостыхКомплектов (ДД);
    НомСтр = 0 ;
    Для Каждого стр Из ДД.Строки Цикл
        Если стр.Уровень() = 0 Тогда
            стр.СобратьНевозможно = ПоискПодчиненных (стр, 1) ;
        КонецЕсли;
        НомСтр = НомСтр + 1  ;
    КонецЦикла;
КонецПроцедуры

&НаСервере
Функция ПоискПодчиненных (СтрокаДерева, уровень)
    Для Каждого стр Из СтрокаДерева.Строки Цикл
        Возврат ложь ;    
    КонецЦикла;      
    Возврат истина ;
КонецФункции
7 Kassern
 
12.11.21
15:47
(6) а смысл передавать уровень, если вы его не используете, да и зачем так цикл использовать?
В вашем примере достаточно: стр.СобратьНевозможно = ?(стр.Строки.Количество()=0,Истина,Ложь);
8 МихаилМ
 
12.11.21
15:48
(6) Алгоритмический кретинизм
9 1Сергей
 
12.11.21
15:49
Функция ПоискПодчиненных (СтрокаДерева, уровень)
    Возврат (СтрокаДерева.Строки.Количество()=0);
КонецФункции
10 Малыш Джон
 
12.11.21
15:49
(0) у коллекции строк есть функция Количество()
11 picom
 
12.11.21
15:50
(7) да, это на коленке
но эльфийский вопросительный знак конечно более зачётный, спасибо, буду использовать.
12 Kassern
 
12.11.21
15:51
(11) Можете расписать "Если Тогда Иначе КонецЕсли", Если вам так удобнее
13 МихаилМ
 
12.11.21
16:01
вот решение
НайтиСтроки(<ПараметрыОтбора>, <ВключатьПодчиненные>)
добавляете  колонку по ней отбираете, кол-во строк массива = кол-во подчиненных