ТекущаяСтрока — свойство таблицы формы, содержащее идентификатор текущей строки. Тип свойства может различаться в зависимости от источника таблицы. Для всех источников, кроме динамического списка текущая строка 1с — это числовой идентификатор. Для динамического списка возможны несколько вариантов
- Ссылка. Если у динамического списка задана основная таблица объектного типа данных (Справочник, Документ и т.п.);
- СтрокаГруппировкиДинамическогоСписка. Если в динамический список добавлены группировки и текущей является именно такая строка;
- КлючСтрокиДинамическогоСписка. Если у динамического списка не задана основная таблица и ключевые поля заданы вручную. Представляет из себя набор значений, обеспечивающих уникальный ключ для строки списка;
- <ТипРегистра>КлючЗаписи.<ИмяРегистра>. Ключ с уникальным набором значений, позволяющий идентифицировать запись регистра. Например:
РегистрСведенийКлючЗаписи.ДополнительныеСведения
- Число. Используется в остальных случаях. Когда основная таблица списка и ключевые поля не заданы, либо в качестве вида ключа задан НомерСтроки;
Применение свойства Текущая строка 1С
Рассмотрим несколько способов практического применения свойства ТекущаяСтрока. С его помощью можно изменить текущую строку таблицы форы, получить строку таблицы источника и т. д.
Изменение текущей строки таблицы
Свойство ТекущаяСтрока доступно не только для чтения, но и для изменения. Таким образом с его помощью мы можем изменить текущую строку таблицы формы.
Пример 1. Для динамического списка справочника Номенклатура, создать процедуру изменяющую текущую строку списка. В качестве новой текущей строки, использовать ссылку на элемент справочника, переданную в параметре.
&НаКлиенте
Процедура ИзменитьТекущуюСтроку(СсылкаНаНоменклатуру);
Элементы.СписокНоменклатуры.ТекущаяСтрока = СсылкаНаНоменклатуру;
КонецПроцедуры
Заметим, что если строки с указанной ссылкой не будет найдена в таблице формы, то свойство ТекущаяСтрока примет значение Неопределено. Что означает отсутствие текущей строки таблицы.
Получение строки источника
Так как свойство ТекущаяСтрока является идентификатором, его можно использовать в качестве параметра метода НайтиПоИдентификатору. При помощи данного метода можно получить строку источника таблицы формы (нельзя использовать для динамического списка). Так как строку источника можно искать и использовать не только на клиенте, но и на сервере, это дает некоторое преимущество, над свойством таблицы формы ТекущиеДанные.
Пример 2. В серверной процедуре получить данные текущей строки таблицы значений ТаблицаТоваров, которая расположена на форме.
&НаКлиенте
Процедура ПолучитьДанныеСтроки(Команда)
Идентификатор = Элементы.ТаблицаТоваров.ТекущаяСтрока;
ПолучитьДанныеСтрокиНаСервере(Идентификатор);
КонецПроцедуры
&НаСервере
Процедура ПолучитьДанныеСтрокиНаСервере(Идентификатор);
СтрокаТаблицы = ТаблицаТоваров.НайтиПоИдентификатору(Идентификатор);
Если Не СтрокаТаблицы = Неопределено Тогда
//Код обрабатывающий данный полученной строки
КонецЕсли;
КонецПроцедуры
Добавить комментарий