Поделитесь в соцсетях

Как установить текущую строку в 8.2 Управляемые формы

Содержание[Убрать]

Как установить текущую строку или найти данные по текущей строке в 8.2

Как установить строку в 8.1 (обычные формы) читайте здесь.

Для начала нужно уяснить, что есть объект который содержит данные, например ДанныеФормыКоллекция и есть объект который отображает данные визуально - Таблица.

 

В Таблице есть только текущая строка, с помощью неё нельзя узнать все существующие значения ДанныеФормыКоллекция с которыми она связана. В свою очередь у ДанныеФормыКоллекция нет текущей строки. Чтобы связать эти объекты в 1с используется Идентификатор, ведь строки порядок строк можно изменить как в визуальной части так и в данных, но свзяь при этом не должна нарушиться.

Рассмотрим это на примере:

У формы есть реквизит ТЗ типа (ТаблицаЗначений) - в скобках потому, что фактический тип - ДанныеФормыКоллекция

Реквизит выведен на форму в виде Таблицы.

Определение строки Таблицы значений по Текущей строке Таблицы

Чтобы определить какая строка ТЗ сейчас текущая, нужно сначала получить идентификатор строки в Таблице, а затем по нему найти строку в ТЗ

 

ИдентификаторСтроки = Элементы.ТЗ.ТекущаяСтрока; // Получаем идентификатор в Таблице
СтрокаТЗ = ТЗ.НайтиПоИдентификатору(ИдентификаторСтроки);

Установка текущей строки в Таблице

Чтобы установить текущую строку таблицы нужно сделать наоборот. Сначала получить идентификатор ТЗ, а затем установить на нём текущую строку Таблицы.


СтрокаТЗ = ДанныеФормыКоллекция[0]; // для примера возьмем строку 1
ИдентификаторСтроки = СтрокаТЗ.ПолучитьИдентификатор();
Элементы.ТЗ.ТекущаяСтрока = ИдентификаторСтроки;

Для более удобного понимания можете скачать обработку которая демонстрирует функции определения и установки текущей строки. Обработка работает только в тонком клиенте!

Недостаточно прав для комментирования