Имя: Пароль:
1C
 
Как установить текущую строку в таблице на форме?
0 rotting
 
08.06.16
19:42
Пишу так:

ТекСтрока = Элементы.СписокЗаказов.ТекущаяСтрока;

ВыгрузитьЭННаСервере(Элементы.СписокЗаказов.ТекущиеДанные.Заказ);
ЗагрузитьСписокЗаказов();

Элементы.СписокЗаказов.ТекущаяСтрока = ТекСтрока;

Но Элементы.СписокЗаказов.ТекущаяСтрока как была Неопределено так и осталась, что я не так делаю?
1 hhhh
 
08.06.16
19:52
(0) проверьте ЗагрузитьСписокЗаказов(), похоже она зараза портит вам список.
2 rotting
 
08.06.16
19:58
(1) Что ж она может портить, если она и при открытии формы вызывается?

ТекСтрока - число, вроде ничего сложного....
3 Fram
 
08.06.16
20:05
(2) Попробуй перед позиционированием обновить отображение формы или что нибудь в этом роде
4 Pistol
 
08.06.16
20:07
(2) И что же это число означает? Правильный ответ позволит тебе решить твою проблему.
5 vicof
 
08.06.16
20:09
(4) +1
6 rotting
 
08.06.16
20:12
(3) Пробовал так
ЭтаФорма.ТекущийЭлемент = Элементы.СписокЗаказов;

Элемент активируется, но на нужной строке не позиционируется

(4) идентификатор строки, как дальше мыслить?
7 oslokot
 
08.06.16
20:13
(6)  получить идентификатор
8 Pistol
 
08.06.16
20:15
(7) не все так просто...
Выбрать в данных естественный ключ, описывающий текущую строку, после обновления найти по нему новую строку и установить ее идентификатор
9 rotting
 
08.06.16
20:20
(8) понял, решил вопрос вот так:

Заказ = Элементы.СписокЗаказов.ТекущиеДанные.Заказ;
        
ВыгрузитьЭННаСервере(Элементы.СписокЗаказов.ТекущиеДанные.Заказ);
ЗагрузитьСписокЗаказов();
ЭтаФорма.ТекущийЭлемент = Элементы.СписокЗаказов;
    
МассивСтрок = СписокЗаказов.НайтиСтроки(Новый Структура("Заказ", Заказ));
Если МассивСтрок.Количество() > 0 Тогда
     Элементы.СписокЗаказов.ТекущаяСтрока = МассивСтрок[0].ПолучитьИдентификатор();
КонецЕсли;
10 Pistol
 
08.06.16
20:24
(9) ЭтаФорма.ТекущийЭлемент = Элементы.СписокЗаказов;

В принципе лишнее - оно просто переводит фокус на список. На текущую строку влияет никак.