Использование свойства Текущая строка 1С

ТекущаяСтрока — свойство таблицы формы, содержащее идентификатор текущей строки. Тип свойства может различаться в зависимости от источника таблицы. Для всех источников, кроме динамического списка текущая строка 1с — это числовой идентификатор. Для динамического списка возможны несколько вариантов

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

Применение свойства Текущая строка 1С

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

Изменение текущей строки таблицы

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

Пример 1. Для динамического списка справочника Номенклатура, создать процедуру изменяющую текущую строку списка. В качестве новой текущей строки, использовать ссылку на элемент справочника, переданную в параметре.

&НаКлиенте
Процедура ИзменитьТекущуюСтроку(СсылкаНаНоменклатуру);
    Элементы.СписокНоменклатуры.ТекущаяСтрока = СсылкаНаНоменклатуру;
КонецПроцедуры

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

Получение строки источника

Так как свойство ТекущаяСтрока является идентификатором, его можно использовать в качестве параметра метода НайтиПоИдентификатору. При помощи данного метода можно получить строку источника таблицы формы (нельзя использовать для динамического списка). Так как строку источника можно искать и использовать не только на клиенте, но и на сервере, это дает некоторое преимущество, над свойством таблицы формы ТекущиеДанные.

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

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

&НаСервере
Процедура ПолучитьДанныеСтрокиНаСервере(Идентификатор);

    СтрокаТаблицы = ТаблицаТоваров.НайтиПоИдентификатору(Идентификатор);
	
    Если Не СтрокаТаблицы = Неопределено Тогда
	//Код обрабатывающий данный полученной строки
    КонецЕсли;
	
КонецПроцедуры

Добавить комментарий

Ваш адрес email не будет опубликован.