Имя: Пароль:
1C
1С v8
Установка фокуса на нужную строку табличной части документа
0 poddex
 
06.07.18
08:42
Когда-то давно в этой теме
1C 8.1 Установка фокуса на нужную строку табличной части Документа
я задавал вопрос о том, как при переходе в документ из другого объекта установить фокус на нужную строку нужной нам Табличной части. Решение я давно нашел, но все как-то недосуг было написать о нем.
Речь про Обычные формы (не УФ)
Новичкам посвящается.

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

Чаще всего переход происходит по событию "Выбор" табличного поля. В глобальную переменную запоминаем "НомерСтроки". Затем в форме открываемого Документа в событие ПриОткрытии() вставляем что-то типа этого:

Если НомерСтроки <> Неопределено Тогда
    ЦелеваяСтрока = НашаТабличнаяЧасть.Найти(НомерСтроки,"НомерСтроки");
    Если ЦелеваяСтрока <> Неопределено Тогда
    ЭлементыФормы.ЛентаСобытий.ТекущаяСтрока = ЦелеваяСтрока;    
    КонецЕсли;
    КонецЕсли;

В этом коде свойству "Текущая строка" табличного поля табличной части "НашаТабличнаяЧасть" присваивается найденная в табличной части через Найти() строка табличной части. В этом случае курсор устанавливается на найденную строку.

Думаю, кому-то поможет. Всем спасибо, все свободны =)
1 Buster007
 
06.07.18
10:15
не проще ли добавить параметр формы "НомерСтроки" у открываемой формы и туда передавать нужное значение? Или на каждый чих глобальные переменные будешь создавать?
2 poddex
 
07.07.18
11:19
На истину в последней инстанции не претендую.
Встречный вопрос: как передать параметры в обычных формах?
3 ssh2006
 
07.07.18
13:55
(2) экспортные переменные или реквизиты формы
4 poddex
 
09.07.18
00:08
(3) тоже вариант.