21.02.2013, 20:04 | #1 |
MCTS
|
Почему метод "control::control_name" возвращает null?
Здравствуйте.
Почему, если элемент управления формы находится в группе с выставленным свойством AutoDataGroup = True и создан через display метод таблицы, то обращение к этому элементу управления с помощью element.control(control::control_name) возвращает null? Можно ли это как-то исправить? |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
21.02.2013, 20:20 | #2 |
Участник
|
Хм... интересно. А element.design().controlName() работает?
P.S.: Это не метод, это перечисление (enum) |
|
22.02.2013, 07:13 | #3 |
Участник
|
Сразу навскидку - в какой момент делаете обращение? Если в методе init() формы до вызова super(), так какбы все закономерно по идее.
|
|
22.02.2013, 08:25 | #4 |
Участник
|
По-моему, дело в том, что элементы группы, у которой AutoDataGroup = True, создаются во время выполнения (иначе при добавлении новых полей в группу на таблице новые поля не добавлялись бы на форму автоматически).
А если поля на форме создаются во время выполнения, то нет никакой гарантии, что их имена совпадают с именами, отображаемыми в репозитарии. |
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |
22.02.2013, 08:55 | #5 |
Участник
|
Может имеет смысл тогда поэкспериментировать - на время отрубить AutoDataGroup, и посмотреть как будет отрабатывать?
|
|
22.02.2013, 10:11 | #6 |
Участник
|
|
|
22.02.2013, 11:26 | #7 |
Участник
|
Резонно - control_name можно и поменять потом. При использовании AutoDeclaration не пройдет компиляция, и ошибочный код не будет упущен. А вот при использовании control::control_name не помню, выдается ли error если компилим после переименования...
|
|
22.02.2013, 13:27 | #8 |
Участник
|
в AX2012 этот control:: убрали вообще
|
|
|
За это сообщение автора поблагодарили: Eldar9x (0), S.Kuskov (0). |
24.02.2013, 18:14 | #9 |
MCTS
|
Спасибо всем! Значит, не буду больше пользоваться этим методом.
|
|