Имя: Пароль:
1C
1С v8
Элементы.ТЧ.ВыделенныеСтроки содержит не существующие индексы строк
0 Фокусник
 
23.04.14
14:50
Подскажите, как победить проблему с УФ.

Элементы.ТЧ.ВыделенныеСтроки
Согласно СП:
"Содержит массив идентификаторов выделенных строк."

Всё так и есть, пока строки из ТЧ не удалять.
Если удалить, то Элементы.ТЧ.ВыделенныеСтроки содержит несуществующие индексы строк.

Например, в ТЧ есть 10 строк, выделяем две последние строки,
Элементы.ТЧ.ВыделенныеСтроки  показывает массив из 2ух значений:
9, 8  (индексы строк).  или 8, 9 (в зависимости от порядка выделения строк).

Добавляем 2 строки (теперь их 12). Выделяем последние 2:
Элементы.ТЧ.ВыделенныеСтроки содержит 10, 11.

Очищаем ТЧ, добавляем 2 строки.
Выделяем единственные две строки: Элементы.ТЧ.ВыделенныеСтроки: а там 12 и 13 индекс.

Т.е. всего строк в ТЧ - 2, а индексы выделенных строк: 12 и 13.

Танцы с бубнами:
ЭтаФорма.ОбновитьОтображениеДанных();
Элементы.ТЧ.Обновить()
Записать()
Записать из формы, затем все действия - перечитать
не помогают.

Корректное отображение начинается только после переоткрытия формы.

Может кто сталкивался? Подскажите решение.

PS платформа 8.2.19.80
1 RomaH
 
naïve
23.04.14
15:07
блин, уж сколько раз твердили ... индекс строи и номер строки не коррелируют
ищи методы ТЧ типа "получить строку по индексу"
2 RomaH
 
naïve
23.04.14
15:07
или по идентификатору
3 GROOVY
 
23.04.14
15:07
(0) Индекс <> идентификатор строки
4 ДенисЧ
 
23.04.14
15:09
Подсказываю решение: прочитать документацию.
Хотя... Это нереально...
5 Фокусник
 
23.04.14
16:00
Понял: НайтиПоИдентификатору()
Спасибо.
Закон Брукера: Даже маленькая практика стоит большой теории.