![]() |
![]() |
![]() |
|
Ошибка обращения к реквизиту строки ДЗ. Как такое получается? | ☑ | ||
---|---|---|---|---|
0
mzelensky
04.07.13
✎
12:25
|
Доброго всем!
Честно говоря немного не догоняю, как и почему такое может быть: ТС=Элементыформы.ДеревоТСД.ТекущаяСтрока; //ДеревоТСД - дерево значений на форме Для каждого Колонка из Элементыформы.ДеревоТСД.Колонки цикл Если ЗначениеЗаполнено(ТС[Колонка.Имя]) тогда ... //что-то делаем ... КонецЕсли; КонецЦикла; В определенный момент выходит ошибка "Поле объекта не обнаружено" и показывает имя колонки "ПорядковыйНомерСтроки". Естественно такая колонка в дереве есть (и она даже отображается). Да и вообще, как она может считать имя "колонки" из дерева и потом НЕ НАЙТИ такой реквизит в строке этого же дерева??? |
|||
1
Maxus43
04.07.13
✎
12:29
|
Сообщить(ТС.ПорядковыйНомерСтроки) не даёт ошибки?
|
|||
2
acsent
04.07.13
✎
12:30
|
не имя, а данные
|
|||
3
mzelensky
04.07.13
✎
12:31
|
(1) в томи дело ,что дает.
Точнее я прям так не делал, но залез в отладчик и посмотрел перечень реквизитов переменной "ТС", там реально такой колонки нет. Вот только почему?! Пробовал вместо ТС=Элементыформы.ДеревоТСД.ТекущаяСтрока; ТС=Элементыформы.ДеревоТСД.ТекущиеДанные; результат аналогичный |
|||
4
mzelensky
04.07.13
✎
12:32
|
(2) почему данные?
Для остальных же 20 колонок работает. |
|||
5
Maxus43
04.07.13
✎
12:32
|
(3) колонки Дерева обходи, а не колонки Элемента формы.
Короче откуда берешь колонки туда за значением и обращайся. а то одно из места номер 1, а лезешь в место номер 2 |
|||
6
acsent
04.07.13
✎
12:33
|
имя колонки на форме не всегда совпадает с именем колонки таблицы
|
|||
7
mzelensky
04.07.13
✎
12:33
|
(2) если ты про это:
ТС[Колонка.данные] то так тоже не работает |
|||
8
mzelensky
04.07.13
✎
12:34
|
(6) это яуже проверил - они совпадают! Уже перекопировал несколько раз.
|
|||
9
mzelensky
04.07.13
✎
12:35
|
(5) почему?
вроде же тут считываю с формы: ТС=Элементыформы.ДеревоТСД.ТекущаяСтрока; и следовательно тут обхожу по форме: Элементыформы.ДеревоТСД.Колонки Почему не правильно? |
|||
10
Maxus43
04.07.13
✎
12:36
|
(9) потому что сделать лучше правильно сразу, а не гадать почему не работает ересь
|
|||
11
Maxus43
04.07.13
✎
12:37
|
Что за привычка работать с элементами формы? работай с данными. реквизитами и т.д.
|
|||
12
mzelensky
04.07.13
✎
12:38
|
(10) Сделал так:
Для каждого Колонка из ДеревоТСД.Колонки цикл действительно заработало. |
|||
13
mzelensky
04.07.13
✎
12:40
|
(11) Честно говоря не понимаю, почему у 20 колонок все работало, а одна вызвала такое исключение.
|
|||
14
Maxus43
04.07.13
✎
12:40
|
(13) Не надо понимать лучше, просто правильно делать
|
|||
15
mzelensky
04.07.13
✎
12:41
|
(11) а по форме обходил колонки исходя из логики, что тут то я тоже с формы считал:
ТС=Элементыформы.ДеревоТСД.ТекущаяСтрока; |
|||
16
mzelensky
04.07.13
✎
12:41
|
Это ведь не "ТекущиеДанные", а "ТекущаяСтрока"..а это вроде как объект формы.
|
|||
17
Maxus43
04.07.13
✎
13:14
|
(16) это именно строка. Короче всё сказано, работай с данными, не мешай эти понятия, Элементы формы для отображения
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |