Если перекрыть в вашем классе метод void dialogSelectCtrl() и произвести вызов метода dialog.allowUpdateOnSelectCtrl(true); в перекрытом методе dialog(), то ваш перекрытый метод dialogSelectCtrl() будет вызываться каждый раз при получении фокуса элементом ввода.
Советую однако использовать вместо active() свойство allowEdit(), так как результат
практически тот же, но обновление работает лучше.
Как сделать поле диалога обязательным для заполнения
из microsoft.public.axapta.programming, Regards! Ruslan:
Поле диалога можно сделать обязательным для заполнения.
Для этого нужно создать метод для изменения свойства mandatory в классе Dialog Field?.
1. Добавьте метод mandatory() в класс Dialog Field?:
// Created by GRR on 01.11.2005
void mandatory(boolean r)
{
str name;
// If properties exists then we are on server - если properties существуют, значит код исполняется на сервере
if (properties)
{
name = #Propertymandatory;
if (! properties.exists(name))
properties.add(name,true);
properties.value(name,r);
}
else
this.fieldControl().mandatory(r);
}
2. В код метода unpack() добавьте следующие строки:
.......................
// Created by GRR on 01.11.2005 -->
case #PropertyMandatory:
this.mandatory(unpackedProperties.valueIndex(i));
break;
// Created by GRR on 01.11.2005 <--
.......................
Аналогичным способом можно добавить, к примеру, управление свойством replaceOnLookup
Если в диалоге используется EDT FileNameOpen? или FileNameSave?, то совйства открывающегося диалога выбора файла можно задать при помощи свойств filename* диалога.