Установить текущую строку табличному полю
☑
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
так запоминай строку не на форме, а строку ТЗ с которой связана текущая строка формы, юморист.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший