Имя: Пароль:
1C
1С v8
Активировать строку в табличной части
0 flame007
 
07.04.14
13:15
здравствуйте!
в тч документа добавляю новую строку с помощью метода вставить() на место текущей строки:

Объект.ТабличнаяЧасть1.Вставить(Элементы.Таблица1.ТекущаяСтрока);

после этого заполняю некоторые реквизиты этой строки программно и мне нужно, чтобы активной стала определенная ячейка именно этой новой строки.
Проблема в том, что текущей строкой по-прежнему является исходная строка (т.е. она сместилась по таблице вниз, но остается активной).
Как можно активизировать новую добавленную строку? по номеру строки не получается, надо как-то добраться до ее идентификатора, но не нашла, как это можно сделать.
Может, кто знает?
Спасибо.
1 Cube
 
07.04.14
13:17
(0) А где фотка?
2 Михаил Козлов
 
07.04.14
13:17
ЭлементФормы(табличное поле).ТекущаяСтрока = добавленная.
3 flame007
 
07.04.14
13:20
(2) если бы это было так просто..
в ТекущаяСтрока нужно добавлять идентификатор строки, но именно его я не знаю, как получить.
4 Михаил Козлов
 
07.04.14
13:27
(3) идентификатор строки это и есть добавленная строка
добавленнаяСтрока = Объект.ТабличнаяЧасть1.Вставить(Элементы.Таблица1.ТекущаяСтрока);
ЭлементыФормы.ТабличноеПоле.ТекущаяСтрока = добавленнаяСтрока;
5 flame007
 
07.04.14
13:31
(4) так не получается. не выделяется нужная строка.

Получилось то, что нужно так:
К=Объект.ТабличнаяЧасть1.Количество();
//добавление строки и заполнение реквизитов
Элементы.Таблица1.ТекущаяСтрока=К;
но это как-то уж совсем криво и боюсь, может работать некорректно.
т.е. в текущаяСтрока нужно присваивать некоторый номер (тот самый идентификатор), тогда строка активизируется.
6 banco
 
07.04.14
13:47
(4) (5) правильнее так
индекс = Объект.ТабличнаяЧасть1.Индекс(Элементы.Таблица1.ТекущиеДанные);
добавленнаяСтрока = Объект.ТабличнаяЧасть1.Вставить(индекс);
Элементы.Таблица1.ТекущаяСтрока = добавленнаяСтрока.ПолучитьИдентификатор();
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший