21.01.2020, 13:14 | #1 |
Участник
|
DAX2009: как снять галочку в диалоговой форме
Привет.
Имеется генерируемая форма диалогового окна: X++: NoYesId selectResigned, selectUpdateEmplId; EmplId emplId; DialogGroup dialogGroupUpdateAll, dialogGroupUpdateEmplId; DialogField dialogFieldResigned, dialogFieldEmplId; #define.CurrentVersion(1) #localmacro.CurrentList selectResigned , selectUpdateEmplId , emplId #endmacro protected Object dialog() { DialogRunBase dialog = super(); ; dialogGroupUpdateAll = dialog.addGroup("настройки"); dialogFieldResigned = dialog.addFieldValue(typeid(NoYesId), selectResigned, "установка"); dialogGroupUpdateEmplId = dialog.addGroup("Обновить"); dialogGroupUpdateEmplId.frameOptionButton(FormFrameOptionButton::Check); dialogFieldEmplId = dialog.addFieldValue(typeid(EmplId), emplId, "Выбор"); return dialog; } public boolean getFromDialog() { boolean ret; ; ret = super(); if (ret) { selectResigned = dialogFieldResigned.value(); selectUpdateEmplId = dialogGroupUpdateEmplId.value(); emplId = dialogFieldEmplId.value(); } return ret; } Хотелось бы что бы по умолчанию в поле: dialogFieldEmplId - хранилось пустое значение ('') вместо "0". dialogGroupUpdateEmplId - была снята галочка, вместо установленной. И еще, где этот код нужно дополнительно вписать? В методе dialogPostRun ? Последний раз редактировалось oleggy; 21.01.2020 в 13:27. |
|
21.01.2020, 13:51 | #2 |
Участник
|
1. initParmDefault() - метод, который выполняется при первом запуске экземпляра класса, если нет записей в кеше. Т.е. если unpack() возвращает false. Здесь инициализируются значения переменных selectResigned и emplId
2. При повторном вызове экземпляра класса значения переменных извлекаются из сохраненного кеша при помощи методов pack()/unpack() pack() - это просто список значений unpack() - это собственно извлечение из кеша
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
21.01.2020, 13:55 | #3 |
Участник
|
Вы можете инициализировать элемент управления при его создании при помощи второго параметра метода addFieldValue.
Либо после создания, записав нужное значение в метод .value() |
|
21.01.2020, 17:43 | #4 |
Участник
|
Цитата:
Для группы полей используйте метод optionValue(boolean). Делается это в методе dialog().
__________________
// no comments Последний раз редактировалось dech; 21.01.2020 в 17:51. |
|
05.02.2020, 13:53 | #5 |
Участник
|
Подскажите еще.
А если есть системная форма. Каким способом в ней можно поменять значение динамически? Программно? К примеру есть форма DirParameters. В ней есть поле PersonNameOrder. Какими методами можно поменять значение? Значение данного поля - список. |
|
06.02.2020, 18:58 | #6 |
Участник
|
программно передать в поле нужное значение в зависимости от необходимых условий
|
|
07.02.2020, 14:04 | #7 |
Участник
|
Не забудь, чтобы иметь программно доступ к элементу формы, надо выставить свойство AutoDeclaration = Yes
Дальше просто: X++: PersonNameOrder.value(Myspisok::MyElement);
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат! Последний раз редактировалось БАХ43; 07.02.2020 в 14:07. |
|