Имя: Пароль:
1C
1С v8
Спозиционироваться на определенной строке табличного поля
0 Мимохожий Однако
 
06.02.18
09:28
Обычные формы. Внешняя обработка с табличной частью товары. После заполнения табличного поля на форме надо спозиционировать курсор на 4 строчку (например).Допустим таблица заполнена на 10 строчек.
У табличного поля нет метода Получить().
Чего-то не соображу как закончить строчку:
ЭлементыФормы.Товары.Текущаястрока =
1 oslokot
 
06.02.18
09:29
ЭлементыФормы.Товары.Текущаястрока = Товары[8]
2 oslokot
 
06.02.18
09:32
можно и так:

Строки = ТабличноеПоле1.НайтиСтроки(СтруктураПоиска);
Если Строки.Количество() > 0 Тогда
  ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока = Строки[0];
КонецЕсли;
3 Мимохожий Однако
 
06.02.18
10:40
Спасибо. Этот же код я изначально пытался использовать в обработчике ПослеОкончанияРедактированияСтроки и получал ошибку:"невозможно изменить текущую строку".
Думал, что неправильно писал код определения текущей строки.
Но когда понял, что дело в том, что не в том месте размещал этот код.
В конечном итоге добавил другую функцию, в которой добавил
    ПодключитьОбработчикОжидания("СпозиционироватьсяНаСтрокеТовары",0.01,Истина);
    //ОтключитьОбработчикОжидания("СпозиционироватьсяНаСтрокеТовары");
КонецПроцедуры

Процедура СпозиционироватьсяНаСтрокеТовары()
    ИндексСтрокиПосле=Мин(НомерСтрокиДо-1,Товары.Количество()-1);
    Если ИндексСтрокиПосле>0 Тогда
        ЭлементыФормы.Товары.ТекущаяСтрока=Товары[ИндексСтрокиПосле];
    КонецЕсли;    
КонецПроцедуры
Может быть и пригодится кому.