Вот нашел похожую тему. Поменял только таблицу на дерево.
Управляемые формы.
На форме есть таблица с данными ДеревоЗначений. С помощью стандартного поиска Ctrl+F находим строки, как их перебрать программно?

Собственно, вопрос: есть дерево на форме, у него тоже есть "ПроверитьСтроку(Параметр)", и оно даже возвращает или истину, или неопределено. Но истину оно возвращает ДЛЯ ВСЕХ ИНДЕКСОВ, а не только для тех, который на экране отображаются. Что я делаю не так? Или это баг такой незарегистрированный? Ведь сама-то платформа понимает, какие у нее там слова и выражения...
---
В тонком клиенте 8.3.25.1394 прокатило следующе костыляние:
```1c
    &НаКлиенте
    Процедура ВидимаНеВидима(ДанныеФормыДерево, ТаблицаФормы)
    СтрокиУровня = ДанныеФормыДерево.ПолучитьЭлементы();
    Для Каждого Стр из СтрокиУровня Цикл
    ВидимаНеВидима(Стр, ТаблицаФормы);

    ИсходныеТД = ТаблицаФормы.ТекущиеДанные;

    Ид = Стр.ПолучитьИдентификатор();
    Видима = Ложь;
    Если Стр = ИсходныеТД Тогда
    Видима = Истина
    Иначе
    ТаблицаФормы.ТекущаяСтрока = Ид;

    Видима = ИсходныеТД <> ТаблицаФормы.ТекущиеДанные;
    КонецЕсли;

    Сообщить("Строка " + Ид + " - " + Видима);

    КонецЦикла
    КонецПроцедуры

    &НаКлиенте
    Процедура Команда1(Команда)
    ТекСтр = Элементы.Реквизит1.ТекущаяСтрока;

    ВидимаНеВидима(Реквизит1, Элементы.Реквизит1);

    Элементы.Реквизит1.ТекущаяСтрока = ТекСтр;
    КонецПроцедуры
```

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

    ИсходныеТД = ТаблицаФормы.ТекущиеДанные;

    Ид = Стр.ПолучитьИдентификатор();
    Видима = Ложь;
    Если Стр = ИсходныеТД Тогда
    Видима = Истина
    Иначе
    ТаблицаФормы.ТекущаяСтрока = Ид;

    Видима = ИсходныеТД <> ТаблицаФормы.ТекущиеДанные;
    КонецЕсли;

    Сообщить("Строка " + Ид + " - " + Видима);

    КонецЦикла
    КонецПроцедуры

    &НаКлиенте
    Процедура Команда1(Команда)
    ТекСтр = Элементы.Реквизит1.ТекущаяСтрока;

    ВидимаНеВидима(Реквизит1, Элементы.Реквизит1);

    Элементы.Реквизит1.ТекущаяСтрока = ТекСтр;
    КонецПроцедуры
```

P.S. А в мануалах по ПроверитьСтроку() о дереве ни слова. Косвенно напрашивается вывод что запилено для динсписков и табличных частей объектов.
---
Прикольная дичь.
---
Да, из серии "Занимательная проктотоларингология"
---
Ага, столкнулся с таким, при попытке установить текущую строку свернутым элементам дерева - тоже не работает. Так что это только для реально отображаемых элементов.
---
Я на файловой проверял. Там для свернутых работало. Посмотрю клиент-сервер. Помнится, что при разворачивании узлов 1С на сервер ходит еще как.
---
8.3.25.1394, если память не изменяет. Разницы между файловой и серверной быть не должно, имхо...
---
Проверил в клиент-серверном 8.3.24.1667 Вроде работает все. Для свернутых пишет "Да". Т.е. считает их видимыми. По Ctrl+F те что видимы - "Да", скрытые - "Нет".

P.S. Единственный глюк - корень разворачивает проверка.
---
корень разворачивает проверкаЯ делал так:
1. Отобрал часть строк, выделил, установил признак (булево). Часть выбранных строк была группами, поэтому выделились и те строки, которые не отображены.
2. Отключил отбор. Остались выбранными строки, которые не развернуты. Фактически это вложенные подсистемы, которые соответствовали отбору, но перестали быть видны после отключения отбора - они в свернутых группах.
3. Вид отображения дерева - иерархический список.
4. Устанавливаю текущую строку для каждого выделенного элемента - в итоге для элементов, которые в свернутых группах, текущая строка не устанавливается.

В режиме "Дерево" при установке текущей свернутой строки ветка дерева с этой строкой разворачивается.
---
Как-то все хитро. У меня просто дерево на форме без отборов. А отбор чем делается?
---
Ручками по ALT+F.
---
А, поиск. Я думал что-то еще наворочено. На досуге попробую воспроизвести.
---
Да, бяда с этим. Для ТЗ написали свои механизмы поиска.