Имя: Пароль:
1C
1С v8
Установить текущую строку табличному полю
0 hatsher
 
07.09.12
14:43
на форме размещено ТП с типом ТЗ.
Пользователь выделил какую строку и нажал кнопку пересчитатьДанные
по кнопке ТЗ перезаполняется, но если раннее выделенная строка есть, то нужно её снова выделить.

Почему не работает код:

Процедура пересчитатьДанные()
ВыделеннаяСтрока = ЭлементыФОрмы.ТП.ТекущаяСтрока;

//заполняем ТП
Попытка
ЭлементыФОрмы.ТП.ТекущаяСтрока = ВыделеннаяСтрока;
Исключение
КонецПопытки;
КонецПроцедуры


При этом в исключение не заходит, но и ЭлементыФОрмы.ТП.ТекущаяСтрока остается неопределено. почему?
1 Heckfy
 
07.09.12
14:48
"по кнопке ТЗ перезаполняется"... Может лучше к номеру строки привязаться.?
2 Aprobator
 
07.09.12
14:50
(0) отладчиком то посмотри, что у тебя в ВыделеннаяСтрока после перезаполнения оказывается.
3 hatsher
 
07.09.12
14:51
(1) нету номера строки у ТП
4 hatsher
 
07.09.12
14:51
(2) строкаТаблицыЗначений
5 Heckfy
 
07.09.12
14:52
(3) Я имел ввиду к Индексу.

ТаблицаЗначений (ValueTable)
Индекс (IndexOf)
Синтаксис:

Индекс(<Строка>)
Параметры:

<Строка> (обязательный)

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

Тип: Число.
Индекс указанной строки в коллекции. Если не найдено, то возвращается -1.
Описание:

Получает индекс строки в коллекции строк таблицы значений.

Доступность:

Сервер, толстый клиент, внешнее соединение.
6 hatsher
 
07.09.12
14:52
забавно, но
ВыделеннаяСтрока = ЭлементыФОрмы.ТП.Значение.найти(ЭлементыФОрмы.ТП.ТекущаяСтрока);

работает. только код какой-то корявый..
7 hatsher
 
07.09.12
14:53
(5) ага, спс
8 Aprobator
 
07.09.12
14:55
так запоминай строку не на форме, а строку ТЗ с которой связана текущая строка формы, юморист.