Установка флажка дерева значений. Автоизменение родителей и потомков

1. Aleksandr_prof 200 01.12.21 15:01 Сейчас в теме +0.4 $m
У дерева значений есть поле флажка с тремя состояниями. Необходимо при изменении флажков нижнего уровня автоматически изменять родительские флажки и наоборот. На просторах инфостарта нашёл решение. Вопрос. Есть ли данное решение уже в БСП? (глобальным поиском найти его не смог). Вот рабочий код (также прикрепил обработку):

&НаКлиенте
Процедура ПометкаПриИзменении(Элемент)
    ТекущиеДанные = Элементы.ДеревоСФлажками.ТекущиеДанные;
    ТекущиеДанные.Пометка = ТекущиеДанные.Пометка % 2;
    ПроставитьПометкиВниз(ТекущиеДанные);
    ПроставитьПометкиВверх(ТекущиеДанные);
КонецПроцедуры

&НаКлиенте
Процедура ПроставитьПометкиВниз(ТекущиеДанные)
    Потомки = ТекущиеДанные.ПолучитьЭлементы();
    Значение = ТекущиеДанные.Пометка;
    Для каждого Потомок из Потомки Цикл
        Потомок.Пометка = Значение;
        ПроставитьПометкиВниз(Потомок);
    КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ПроставитьПометкиВверх(ТекущиеДанные)
    Родитель = ТекущиеДанные.ПолучитьРодителя();
    Если Родитель <> Неопределено Тогда
        ВсеИстина = Истина;
        НеВсеЛожь = Ложь;
        Потомки = Родитель.ПолучитьЭлементы();
        Для каждого Потомок из Потомки Цикл
            ВсеИстина = ВсеИстина И (Потомок.Пометка = 1);
            НеВсеЛожь = НеВсеЛожь ИЛИ Булево(Потомок.Пометка);
        КонецЦикла;
        Если ВсеИстина Тогда
            Родитель.Пометка = 1;
        ИначеЕсли НеВсеЛожь Тогда
            Родитель.Пометка = 2;
        Иначе
            Родитель.Пометка = 0;
        КонецЕсли;
        ПроставитьПометкиВверх(Родитель);
    КонецЕсли;
КонецПроцедуры
Показать
Прикрепленные файлы:
ДеревоСФлажками.epf
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Evgenia060882 87 01.12.21 15:08 Сейчас в теме
Интересная штука. Не встречала в стандартных.
А для чего может быть нужна?
3. Aleksandr_prof 200 01.12.21 15:22 Сейчас в теме
(2) Очень много где может пригодиться, я думаю. Например там, где надо отметить подчинённые сразу при нажатии флага.
4. Дмитрий74Чел 240 02.12.21 15:40 Сейчас в теме
БСП не про то. БСП это программные интерфейсы для Пользователи (авторизация и rls), прикрепление файлов, версионирование и т.п. А у вас вопрос про работу форм и деревьев - БСП выше на уровне абстракции.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот