|  | Текущая строка таблицы управляемой формы | ☑ | 
    
        | 0
    
        ildary   17.01.21✎ 19:35 | 
        Уважаемые специалисты, подскажите пожалуйста, что за странное поведение:
 1С 8.3.14.1993, на форму выведена таблица значений ВТ, надо получить её текущую строку на сервере, но когда делаю вот так:
 
 ТекСтр = Элементы.ВТ.ТекущаяСтрока;
 ТекДанныеВТ = ВТ.НайтиПоИдентификатору(ТекСтр);
 
 Очень часто в ТекущаяСтрока попадает значение, отличающееся от идентификатора строки (больше на 1 или 2) - например в ТекСтр 9, а ВТ[1].ПолучитьИдентификатор() = 7.
 
 Скажите пожалуста, почему так и главное, как с этим бороться?
 |  | 
    
        | 1
    
        Ёпрст   гуру 17.01.21✎ 19:41 | 
        Никак не бороться, ибо не счем илентификатор строки не обязательно равен номеру строки..     |  | 
    
        | 2
    
        Ёпрст   гуру 17.01.21✎ 19:42 | 
        Собственна для этого и есть методтпоиска по идентификатору     |  | 
    
        | 3
    
        ildary   17.01.21✎ 19:54 | 
        (1) я понимаю, что идентификатор не равен номеру строки, поэтому я и использую НайтиПоИдентификатору(). Проблема в том, что идентификатор (Элементы.ВТ.ТекущаяСтрока) не равен идентификатору! Я зная, что мне нужна вторая строка делаю ВТ[1].ПолучитьИдентификатор() - и там величина, не равная Элементы.ВТ.ТекущаяСтрока     |  | 
    
        | 4
    
        Ненавижу 1С   гуру 17.01.21✎ 20:24 | 
        (3) может теперь это другая строка? поменялся порядок/состав?     |  | 
    
        | 5
    
        RomanYS   17.01.21✎ 20:29 | 
        (0) а зачем вообще такая конструкция? почему не просто
ТекДанныеВТ = Элементы.ВТ.ТекущиеДанные;
 ?
 |  | 
    
        | 6
    
        Ёпрст   гуру 17.01.21✎ 21:22 | 
        (3)  с чего это не равен ?     |  | 
    
        | 7
    
        Ёпрст   гуру 17.01.21✎ 21:24 | 
        схренали у тебя вт[1] ? а не вт[2] и не [0] номер строки ты откедыва взял ?     |  | 
    
        | 8
    
        Ёпрст   гуру 17.01.21✎ 21:27 | 
        Может, всё же так посмотришь, что ле ?
 ТекСтр = Элементы.ВТ.ТекущаяСтрока;
 ТекДанныеВТ = ВТ.НайтиПоИдентификатору(ТекСтр);
 Идентификатор = ТекДанныеВТ.ПолучитьИдентификатор()
 |  | 
    
        | 9
    
        ildary   17.01.21✎ 21:58 | 
        (6) потому что после 
 ТекСтр = Элементы.ВТ.ТекущаяСтрока;
 ТекДанныеВТ = ВТ.НайтиПоИдентификатору(ТекСтр);
 
 в ТекДанныеВТ возвращается Неопределено.
 
 (7) Потому что я в отладчике знаю, какая строка мне нужна и для проверки обращаюсь через вт[1].
 
 (8) это я сделать не могу, потому что ТекДанныеВТ = Неопределено, я сам понимаю, что данный выглядит как бред, сам в шоке и вот сюда написал.
 |  | 
    
        | 10
    
        RomanYS   17.01.21✎ 22:17 | 
        (9) А Элементы.ВТ и ВТ точно связаны? Может там другой источник (например Объект.ВТ)?     |  | 
    
        | 11
    
        ildary   18.01.21✎ 00:55 | 
        (10) связаны, специально проверил и переопределения нет     |  | 
        Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший