Форму
SalesQuotation в Axapta 3 я не нашел, но на примере формы
AddressCheck удалось решить задачу все же через
FormNotify следующим образом:
X++:
void formNotify(FormRun formRun,FormNotify event)
{
FormDataSource fds;
ZipCode zipCode;
;
switch (event)
{
case FormNotify::Activate:
this.activate(formRun);
if (docu)
docu.reSearch(formRun);
if(formRun.name() != FormStr(AddressCheck)) // Это делается для того чтобы сработала ветка "case FormNotify::DeActivate:".
break;
case FormNotify::DeActivate:
if(formRun.name() == FormStr(AddressCheck))
{
fds = formRun.dataSource("ZipCode");
zipCode = fds.cursor();
zipCode.write();
}
break;
case FormNotify::Open:
this.open(formRun);
if (docu)
docu.set(formRun);
break;
case FormNotify::Close:
this.close(formRun);
if (docu)
docu.clear(formRun);
break;
case FormNotify::RecordChange:
if (docu)
docu.reSearch(formRun);
break;
case FormNotify::NoteClicked:
if (docu)
docu.note(formRun);
break;
}
}
P.S. метод решения не очень тривиален и "красив", но, тем не менее, позволяет решить данную задачу.