Для получения ссылки на текущий элемент справочника в форме списка можно обратиться к свойству ТекущаяСтрока элемента формы Таблица. Например:
Другой способ — обратиться к полю Ссылка текущих данных таблицы формы:
Для списков объектных данных (справочников, документов, . ) эти способы равнозначны, так как поле Ссылка является идентификатором записи.
При обращении к спискам регистров свойство ТекущаяСтрока будет выдавать ключ записи регистра, который состоит из нескольких полей.
Таким образом, свойство ТекущаяСтрока для всех типов данных выдает значение, идентифицирующее текущую строку.
Следует иметь ввиду, что поле Ссылка, как правило, не отображается в списке. Поэтому если есть необходимость программного обращения к этому полю, нужно гарантировать, что это поле всегда будет в динамическом списке.
Для этого у реквизита формы Ссылка нужно установить флаг — ИспользоватьВсегда:
Табличное поле предоставляет свойства ТекущиеДанные и ТекущаяСтрока . Отличие между этими свойствами состоит в том, что свойство ТекущиеДанные содержит значения считанных данных текущей строки табличного поля, а свойство ТекущаяСтрока содержит значение, идентифицирующее строку.
Следует отметить, что свойство ТекущиеДанные содержит коллекцию значений текущей строки, соответствующую коллекции колонок отображаемого динамического списка, при этом если нужного поля нет в текущих данных, то его можно добавить в коллекцию полей списка используя метод Добавить() коллекции колонок списка.
Свойство ТекущиеДанные предназначено для получения значений колонок текущей строки, а свойство ТекущаяСтрока для получения и установки текущей строки табличного поля.
Следует понимать, что для объектных данных (Справочник, Документ и т.д.) в качестве значения свойства ТекущаяСтрока используется ссылка на объект базы данных. Соответственно при обращении к свойствам этого значения будет выполняться считывание объекта базы данных.
Типичной ошибкой является обращение к данным строки с использованием свойства ТекущаяСтрока . В этом случае будет выполняться считывание данных объекта из базы данных, что может существенно снизить производительность работы табличного поля. Например, приведенный ниже фрагмент текста программы является неэффективным:
Рекомендуется для обращения к данным объекта использовать свойство ТекущиеДанные . Правильный фрагмент приведен ниже:
Если есть идентификатор текущей строки (т.е. свойство ТекущаяСтрока ), можно получить ТекущиеДанные . И наоборот:
Доброго времени суток.
Подскажите, пожалуйста, как программно установить фокус на элемент формы с последующим выделением всего текста (поле ввода, тип — строка) после нажатия на ENTER на этом же поле ввода?
Следующий код устанавливает фокус, но курсор устанавливается в конце строки:
…
ЭтаФорма.ТекущийЭлемент = ;
…
- 5
- 4
- 3
- 2
- 1
(0 голосов, в среднем: 0 из 5)
Поддержите нас, расскажите друзьям!
СПРОСИТЕ в комментариях!
а в какой процедуре это написать?
Т.к. элементы формы живут на форме, то и выбор должен происходить в модуле форму.
А процедуру уже определяете сами.
При использовании данного сайта, вы подтверждаете свое согласие на использование файлов cookie в соответствии с настоящим уведомлением в отношении данного типа файлов. Если вы не согласны с тем, чтобы мы использовали данный тип файлов, то вы должны соответствующим образом установить настройки вашего браузера или не использовать сайт.
Отправляя любую форму на сайте, вы соглашаетесь с политикой конфиденциальности данного сайта.