0
Wefast
30.07.15
✎
10:44
|
Есть дерево значений выведенное на форму.
Создал колонку с типом число. Поместил на форму - указал тип Флажок, указал что имеет три состояния.
Воспользовался найденным вариантом
Процедура ДеревоПриИзмененииФлажка(Элемент, Колонка)
ТекущаяСтрока = Элемент.ТекущаяСтрока; // Так не работает, получается только Элементы.Дерево.ТекущиеДанные
Если ТекущаяСтрока.Пометка = 2 Тогда
ТекущаяСтрока.Пометка = 0;
КонецЕсли;
УстановкаФлажков(ТекущаяСтрока, ТекущаяСтрока.Пометка);
Пока ТекущаяСтрока.Родитель <> Неопределено Цикл
ТекущаяСтрока.Родитель.Пометка =
?(УстановленноДляВсех(ТекущаяСтрока), ТекущаяСтрока.Пометка, 2);
ТекущаяСтрока = ТекущаяСтрока.Родитель;
КонецЦикла;
КонецПроцедуры
Процедура УстановкаФлажков(ТекущаяСтрока,Значение)
Для Каждого Стр Из ТекущаяСтрока.Строки Цикл // НУ И ВСЕ, так не работает, никак не найду через отладчик как мне строки то перебрать в дереве.
Стр.Пометка = Значение;
УстановкаФлажков(Стр, Стр.Пометка);
КонецЦикла;
КонецПроцедуры
Функция УстановленноДляВсех(Строка)
Для Каждого Стр Из Строка.Родитель.Строки Цикл
Если Стр.Пометка <> Строка.Пометка Тогда
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Возврат Истина;
КонецФункции
|
|