Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

УФ, таблица значений на форме глюк метода ЗначениеВРеквизитФормы

УФ, таблица значений на форме глюк метода ЗначениеВРеквизитФормы
Я
   Холст
 
27.05.20 - 15:53
&НаСервере
Процедура ЗаказыПриАктивизацииСтрокиНаСервере()
    ТЗрез = Заполнение_ТЗспецификация();
    ЗначениеВРеквизитФормы(ТЗрез, "Спецификация");
    Сообщ(" "+Элементы.Спецификация.ТекущаяСтрока);
КонецПроцедуры

При каждой очередной загрузке ТЗ методом ЗначениеВРеквизитФормы  
Элементы.Спецификация.ТекущаяСтрока выводит увеличенное на размер предыдущей загрженной ТЗ "Спецификация" значение текущей строки

реально выводится на форме в "Спецификация" 3 строки, а Элементы.Спецификация.ТекущаяСтрока показывает по мере вызова строчки 0, потом 3, потом 6 и тд
Это глюч или фича ?
Как добиться чтобы после перезагрузки методом ЗначениеВРеквизитФормы  текущая строка шла с нуля ?
   Холст
 
1 - 27.05.20 - 15:54
1С:Предприятие 8.3 (8.3.15.1565)
   Ёпрст
 
2 - 27.05.20 - 16:06
(0) Индентификатор же есть для этого и метод НайтиПоИдентификатору
   Ёпрст
 
3 - 27.05.20 - 16:06
и..это не глюк
   Холст
 
4 - 27.05.20 - 16:15
(2) Можно кинуть примером кода и заодно пояснить почему так фича работает ?
   Холст
 
5 - 27.05.20 - 16:16
(2) и у меня на форме ТЗ, а не дерево
   Fedor-1971
 
6 - 27.05.20 - 16:27
(4) Элементы.ТвояТЗНаФорме.ТекущаяСтрока - вот тут идентификатор строки для формы,
более корректно: ид = Элементы.ТвояТЗНаФорме.ТекущаяСтрока.ПолучитьИдентификатор()

Потом, когда попадёшь в процедуру НаСервере:  
   СтрокаТвояТЗ = ТвояТЗ.НайтиПоИдентификатору(ид) - то, что в таблице соответствует строке на форме
СтрокаТвояТЗ.Индекс() - вернёт индекс именно в таблице значений

По сути это разнесение данных индекса ТвояТЗ и ИД строки на форме, т.к. форму проще перезаполнять чем делать алгоритмы анализа "Что изменилось в данных?"
   fisher
 
7 - 27.05.20 - 16:30
(6) Элементы.ТвояТЗНаФорме.ТекущаяСтрока - это уже идентификатор
   fisher
 
8 - 27.05.20 - 16:31
Элементы.ТвояТЗНаФорме.ТекущаяСтрока.ПолучитьИдентификатор() - по идее ошибку выдаст
   fisher
 
9 - 27.05.20 - 16:33
(0) Это фича. На номера идентификаторов завязываться нельзя. Они нужны только для связи со строками источника данных.
Если начать удалять/добавлять строки и менять местами - с ними будет полная чехарда, никак не связанная с индексами строк источника.
Смотри на них как на гуиды.
   Жан Пердежон
 
10 - 27.05.20 - 16:45
(0) все норм, так и должно быть
   Fedor-1971
 
11 - 27.05.20 - 16:56
(7) иногда это Ссылка

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.