Имя: Пароль:
1C
1С v8
8.4 и номер строки - баг или фича?!
, ,
0 Midasu
 
09.03.16
11:14
УФ. 8.4.1.455.
Есть 2 таблицы с 2-мя реквизитами типа ТаблицаЗначений.
В одной я выбираю группы номенклатуры (ТаблицаГрупп), в другой (ТаблицаЭлементов) подгружаю номенклатуру из неё, предварительно очищая, естественно.

Мне нужно определять номер выбранной строки, но после очистки номера строки постоянно приращиваются на количество элементов в прошлой группе, т.е. очистка не до конца срабатывает (РеквизитТаблицыЭлементов.Очистить()). Я конечно могу хранить эту "дельту" и прибавлять к абсолютному номеру строки, но мало-ли когда в переменной места не хватит, да и бред это полный. НомерСтроки определяю через Элементы.ТаблицаЭлементов.ВыделенныеСтроки[0].

Я понимаю, что создав новый реквизит и присвоив его элементу таблицы после выбора другой группы, я решу проблему. Но не хочу тратить ресурсы на такую хрень.

Элементы.ТаблицаЭлементов.Обновить() - ничего не меняет.
Прошу помощи, может есть какое-то более быстрое решение, чем новый реквизит?
1 Cyberhawk
 
09.03.16
11:15
Индекс - это не обязательно номер строки
2 Карупян
 
09.03.16
11:15
Ты в продакшн 8.4 пустил?
3 Midasu
 
09.03.16
11:19
(1)
Для Каждого Строчка Из Подбор Цикл
    НомерСтроки = Подбор.Индекс(Строчка)
КонецЦикла;

Хм, вот так определяю. А как надо?

(2)
Да самопилку адаптирую пока.
4 Midasu
 
09.03.16
11:23
(1)

Почему ВыделенныеСтроки[0] возвращает номер строки, как будто и не было никаких Очистить(), как будто эти элементы просто скрыты?!
5 Cyberhawk
 
09.03.16
11:23
(4)
ТаблицаФормы.ВыделенныеСтроки (FormTable.SelectedRows)
ТаблицаФормы (FormTable)
ВыделенныеСтроки (SelectedRows)
Использование:

Только чтение.
Описание:

Тип: Массив.
Содержит массив идентификаторов выделенных строк.

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

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).
См. также:

Расширение таблицы формы для динамического списка
Расширение таблицы формы для таблицы значений
ТаблицаФормы, метод ДанныеСтроки
ДанныеФормыКоллекция, метод НайтиПоИдентификатору
ДанныеФормыДерево, метод НайтиПоИдентификатору
ДанныеФормыСтруктураСКоллекцией, метод НайтиПоИдентификатору

--------------------------------------------------------------------------------

     Методическая информация
6 Cyberhawk
 
09.03.16
11:27
Идентификатор элемента коллекции не связан с позицией этого элемента в коллекции
7 Midasu
 
09.03.16
11:27
(5) Ок, спасибо, а как же этот идентификатор в номер строки тогда превратить? Мне мультивыделение не нужно, они и отключено, но не вижу у Элемента других свойств, чтоб номер узнать выделенных. (причём поле с возможностью записи нужно)
8 Cyberhawk
 
09.03.16
11:27
Я это хотел сказать в (1), не так выразился касательно "индекса"
9 Cyberhawk
 
09.03.16
11:28
(7) Используй табличную часть - таблица, связанная с таблчиной частью, будет иметь свойство "Исходный номер строки", уже связанное с позицией элемента в ТЧ
10 Cyberhawk
 
09.03.16
11:28
*Не таблица, а элемент коллекции этой таблицы
11 su_mai
 
09.03.16
11:28
(0) Очисти на сервере
12 su_mai
 
09.03.16
11:29
+(11) Создай новую ТЗ
13 Midasu
 
09.03.16
11:30
(11)
Специально проверил, там и чищу.
(12)
Слишком ресурсоёмко, не могу себе позволить, проще "дельту" хранить.
14 Midasu
 
09.03.16
11:30
(9) Буду изучать, первый раз слышу.
15 Карупян
 
09.03.16
11:32
ты путаешь номер строки и идентификатор строки
16 Midasu
 
09.03.16
11:34
(15)
Я знаю о разнице, просто перебрать строки из Элемента я же не могу, поэтому и перебираю из реквизита, а там только идентификатор. У меня сортировка меняться не будет, для меня они все по алфавиту быть должны, поэтому почему бы и не соотнести их...
17 Midasu
 
09.03.16
11:44
(10) Ни в какую.
Не видит такого свойства.
На сервере строки перебираю.

Вот:
http://s011.radikal.ru/i318/1603/6d/659ea3ff83b6.png
18 EugeniaK
 
09.03.16
11:47
(0) Это нормально. Так вроде и раньше было.
Нельзя ссылаться на индекс строки.
Используй ПолучитьИдентификатор() и НайтиПоИдентификатору()
19 Cyberhawk
 
09.03.16
11:49
(17) Коллекция должна указывать ("путь к данным") на реквизит формы, являющийся табличной частью
20 Midasu
 
09.03.16
11:59
(18) Не катит, идентификатор у меня есть из ВыделенныеСтроки[0] допустим, но НайтиПоИдентфикатору() на Элементе я также не могу вызвать, а мне нужно тут уже присвоить ВыделенныеСтроки[0] полученный ранее идентификатор из первого пункта...
21 Midasu
 
09.03.16
12:04
Хм, может кому будет интересно зачем это всё:
На УФ реализовал быстрый поиск как в обычных формах раньше, без вызова дополнительного окна через внешний клавиатурный хук.
22 Midasu
 
09.03.16
12:08
(19) Спасибо за помощь, но каши сварить не удалось, не понял я что за ("путь к данным"), через "дельту" первого элемента при загрузке новой группы сделал - не так и много у нас номенклатуры.
23 Aprobator
 
09.03.16
12:22
(0) номер строки в форме <> номер строки реквизита. Для УФ это нормально. В (18) тебе подсказали, куда смотреть.