22.04.2008, 17:08 | #1 |
Участник
|
Как программно обращаться к полям диалога, созданным на основе типа Dimension
Есть класс в методе Dialog которого создается поле
X++: dialogDimensionCriteria = dialog.addFieldValue(typeId(DimensionCriteria), dimensionCriteria); //.. Вопрос, как программно обратиться к каждому из этих контролов. Вариант: X++: FormStringControl fs; ; fs = dialogDimensionCriteria.control(); Можно попробовать обратиться через X++: dialog.form().design().control() |
|
22.04.2008, 17:37 | #2 |
Участник
|
Меня спасло создание отдельных пользовательских типов на основе типа SysGroup, причём в настройке Relations указать 2 строки: <тип> == Dimensions.Num и <номер аналитики, начиная с 0> == Dimensions.DimensionCode. А потом этот новый тип уже использовать в диалоге.
|
|
23.04.2008, 09:16 | #3 |
Участник
|
Цитата:
Вот и хочется найти способ попроще. |
|
23.04.2008, 09:36 | #4 |
Участник
|
Цитата:
Сообщение от Lucky13
Есть класс в методе Dialog которого создается поле
X++: dialogDimensionCriteria = dialog.addFieldValue(typeId(DimensionCriteria), dimensionCriteria); //.. Вопрос, как программно обратиться к каждому из этих контролов. X++: static void testFieldControl(Args _args) { Dialog dialog ; DialogField dialogDimensionCriteria ; FormStringControl formStringControl ; ; dialog = new Dialog() ; dialogDimensionCriteria = dialog.addField(typeId(DimensionCriteria)); if( !dialog.run() ) return ; formStringControl = dialogDimensionCriteria.fieldControl(1) ; info( formStringControl.text() ) ; formStringControl = dialogDimensionCriteria.fieldControl(2) ; info( formStringControl.text() ) ; formStringControl = dialogDimensionCriteria.fieldControl(3) ; info( formStringControl.text() ) ; } |
|
|
За это сообщение автора поблагодарили: Lucky13 (2). |
23.04.2008, 09:45 | #5 |
Участник
|
Спасибо, не знал про fieldControl()
|
|
Теги |
array, dialog, fieldcontrol, dimensions |
|
|