|
|
#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. |
|
|
|
|
#2 |
|
Участник
|
1. initParmDefault() - метод, который выполняется при первом запуске экземпляра класса, если нет записей в кеше. Т.е. если unpack() возвращает false. Здесь инициализируются значения переменных selectResigned и emplId
2. При повторном вызове экземпляра класса значения переменных извлекаются из сохраненного кеша при помощи методов pack()/unpack() pack() - это просто список значений unpack() - это собственно извлечение из кеша
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
|
#3 |
|
Участник
|
Вы можете инициализировать элемент управления при его создании при помощи второго параметра метода addFieldValue.
Либо после создания, записав нужное значение в метод .value() |
|
|
|
|
#4 |
|
Участник
|
Цитата:
Для группы полей используйте метод optionValue(boolean). Делается это в методе dialog().
__________________
// no comments Последний раз редактировалось dech; 21.01.2020 в 17:51. |
|
|
|
|
#5 |
|
Участник
|
Подскажите еще.
А если есть системная форма. Каким способом в ней можно поменять значение динамически? Программно? К примеру есть форма DirParameters. В ней есть поле PersonNameOrder. Какими методами можно поменять значение? Значение данного поля - список. |
|
|
|
|
#6 |
|
Участник
|
программно передать в поле нужное значение в зависимости от необходимых условий
|
|
|
|
|
#7 |
|
Участник
|
Не забудь, чтобы иметь программно доступ к элементу формы, надо выставить свойство AutoDeclaration = Yes
Дальше просто: X++: PersonNameOrder.value(Myspisok::MyElement);
__________________
Я прибыл к вам из Кантемировской дивизии. А там, как известно, дураков не держат!
Последний раз редактировалось БАХ43; 07.02.2020 в 14:07. |
|
|