Имя: Пароль:
1C
 
Флажки в дереве значений
,
0 Pepeega
 
04.03.21
14:26
Добрый день, есть управляемая форма и на ней дерево значений, добавил 2 кнопки в КП, 1 будет проставлять все флажки, другая будет их снимать, поставил у флажка(Пометка), три состояния и число, написал код, но ничего не меняется, в переменную пометка, приходит цифра, 1 или 0, подскажите в чем проблема?


Процедура ОбходДереваДетально(ПереданноеДер, Пометка)

    Для Каждого СтрПолученногоДерева Из ПереданноеДер.Строки Цикл
        СтрПолученногоДерева.Пометка = Пометка;
        Если СтрПолученногоДерева.Строки.Количество()>0 Тогда    
            ОбходДереваДетально(СтрПолученногоДерева, Пометка);    
        КонецЕсли;    
    КонецЦикла;

КонецПроцедуры
1 Pepeega
 
04.03.21
14:43
Забыл, что нужно использовать "ЗначениеВРеквизитФормы", чтобы запихнуть назад в дерево результат .=.
2 fisher
 
04.03.21
15:09
ЗначениеВРеквизитФормы() необходимо только если зачем-то перед этим выгружаешь "ДанныеФормыДерево" в "ДеревоЗначений".
Для простейших операций этого сто лет не надо и можно спокойно обходить непосредственно "ДанныеФормыДерево", причем даже не уходя с клиента и не генерируя лишних клиент-серверных вызовов.
3 Fedor-1971
 
04.03.21
15:15
(0) Проблема в том, что ты пытаешься обойти дерево, а не коллекцию значений формы
Примерно так:

ур1 = ДеревоНаФорме.ПолучитьЭлементы();
Для каждого элУр1 из Ур1 цикл
   ур2 = элУр1.ПолучитьЭлеемнты();
   Для ...  КонецЦикла;
КонецЦикла;

Расставляй свои флажки на нужном уровне
4 Pepeega
 
04.03.21
15:50
(2) Спасибо, не знал
(3) Благодарю за пример