Вот нашел похожую тему. Поменял только таблицу на дерево.
Собственно, вопрос: есть дерево на форме, у него тоже есть "ПроверитьСтроку(Параметр)", и оно даже возвращает или истину, или неопределено. Но истину оно возвращает ДЛЯ ВСЕХ ИНДЕКСОВ, а не только для тех, который на экране отображаются. Что я делаю не так? Или это баг такой незарегистрированный? Ведь сама-то платформа понимает, какие у нее там слова и выражения...
Управляемые формы.
На форме есть таблица с данными ДеревоЗначений. С помощью стандартного поиска Ctrl+F находим строки, как их перебрать программно?
На форме есть таблица с данными ДеревоЗначений. С помощью стандартного поиска Ctrl+F находим строки, как их перебрать программно?
Собственно, вопрос: есть дерево на форме, у него тоже есть "ПроверитьСтроку(Параметр)", и оно даже возвращает или истину, или неопределено. Но истину оно возвращает ДЛЯ ВСЕХ ИНДЕКСОВ, а не только для тех, который на экране отображаются. Что я делаю не так? Или это баг такой незарегистрированный? Ведь сама-то платформа понимает, какие у нее там слова и выражения...
Найденные решения
(4) В тонком клиенте 8.3.25.1394 прокатило следующе костыляние:
P.S. А в мануалах по ПроверитьСтроку() о дереве ни слова. Косвенно напрашивается вывод что запилено для динсписков и табличных частей объектов.
&НаКлиенте
Процедура ВидимаНеВидима(ДанныеФормыДерево, ТаблицаФормы)
СтрокиУровня = ДанныеФормыДерево.ПолучитьЭлементы();
Для Каждого Стр из СтрокиУровня Цикл
ВидимаНеВидима(Стр, ТаблицаФормы);
ИсходныеТД = ТаблицаФормы.ТекущиеДанные;
Ид = Стр.ПолучитьИдентификатор();
Видима = Ложь;
Если Стр = ИсходныеТД Тогда
Видима = Истина
Иначе
ТаблицаФормы.ТекущаяСтрока = Ид;
Видима = ИсходныеТД <> ТаблицаФормы.ТекущиеДанные;
КонецЕсли;
Сообщить("Строка " + Ид + " - " + Видима);
КонецЦикла
КонецПроцедуры
&НаКлиенте
Процедура Команда1(Команда)
ТекСтр = Элементы.Реквизит1.ТекущаяСтрока;
ВидимаНеВидима(Реквизит1, Элементы.Реквизит1);
Элементы.Реквизит1.ТекущаяСтрока = ТекСтр;
КонецПроцедуры
ПоказатьP.S. А в мануалах по ПроверитьСтроку() о дереве ни слова. Косвенно напрашивается вывод что запилено для динсписков и табличных частей объектов.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) В тонком клиенте 8.3.25.1394 прокатило следующе костыляние:
P.S. А в мануалах по ПроверитьСтроку() о дереве ни слова. Косвенно напрашивается вывод что запилено для динсписков и табличных частей объектов.
&НаКлиенте
Процедура ВидимаНеВидима(ДанныеФормыДерево, ТаблицаФормы)
СтрокиУровня = ДанныеФормыДерево.ПолучитьЭлементы();
Для Каждого Стр из СтрокиУровня Цикл
ВидимаНеВидима(Стр, ТаблицаФормы);
ИсходныеТД = ТаблицаФормы.ТекущиеДанные;
Ид = Стр.ПолучитьИдентификатор();
Видима = Ложь;
Если Стр = ИсходныеТД Тогда
Видима = Истина
Иначе
ТаблицаФормы.ТекущаяСтрока = Ид;
Видима = ИсходныеТД <> ТаблицаФормы.ТекущиеДанные;
КонецЕсли;
Сообщить("Строка " + Ид + " - " + Видима);
КонецЦикла
КонецПроцедуры
&НаКлиенте
Процедура Команда1(Команда)
ТекСтр = Элементы.Реквизит1.ТекущаяСтрока;
ВидимаНеВидима(Реквизит1, Элементы.Реквизит1);
Элементы.Реквизит1.ТекущаяСтрока = ТекСтр;
КонецПроцедуры
ПоказатьP.S. А в мануалах по ПроверитьСтроку() о дереве ни слова. Косвенно напрашивается вывод что запилено для динсписков и табличных частей объектов.
(12)
1. Отобрал часть строк, выделил, установил признак (булево). Часть выбранных строк была группами, поэтому выделились и те строки, которые не отображены.
2. Отключил отбор. Остались выбранными строки, которые не развернуты. Фактически это вложенные подсистемы, которые соответствовали отбору, но перестали быть видны после отключения отбора - они в свернутых группах.
3. Вид отображения дерева - иерархический список.
4. Устанавливаю текущую строку для каждого выделенного элемента - в итоге для элементов, которые в свернутых группах, текущая строка не устанавливается.
В режиме "Дерево" при установке текущей свернутой строки ветка дерева с этой строкой разворачивается.
корень разворачивает проверка
Я делал так:
1. Отобрал часть строк, выделил, установил признак (булево). Часть выбранных строк была группами, поэтому выделились и те строки, которые не отображены.
2. Отключил отбор. Остались выбранными строки, которые не развернуты. Фактически это вложенные подсистемы, которые соответствовали отбору, но перестали быть видны после отключения отбора - они в свернутых группах.
3. Вид отображения дерева - иерархический список.
4. Устанавливаю текущую строку для каждого выделенного элемента - в итоге для элементов, которые в свернутых группах, текущая строка не устанавливается.
В режиме "Дерево" при установке текущей свернутой строки ветка дерева с этой строкой разворачивается.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот