我一直在研究 AX 中高级仓库移动应用程序的一些要求。要求是在扫描项目时做一些事情。因此,为了执行此操作,我在构建项目文本框时设置了 leave 的 registeroverridemethod。构建方法如下:
//This method is updated in WhsWorkExecuteForm
protected void createTextBox(
container _textBox,
boolean _password = false)
{
FormBuildStringControl stringControl;
stringControl = controlGroup.addControl(FormControlType::String,this.elementName(_textBox));
if (this.elementHasError(_textBox))
{
stringControl.colorScheme(FormColorScheme::RGB);
stringControl.backgroundColor(WHSWorkExecuteForm::errorBackgroundColor());
}
stringControl.text(this.elementData(_textBox));
stringControl.label(this.elementLabel(_textBox));
stringControl.passwordStyle(_password);
stringControl.enabled(this.elementEnabled(_textBox));
//Below code is added to register override method
if(this.elementName(_textBox) == #ItemId)
{
stringControl.registerOverrideMethod(methodStr(FormStringControl,Leave),methodStr(WHSWorkExecuteForm,DynamicButtonControl_modified),this);
}
}
当我从 AX AOT 运行仓库应用程序时调用此方法,即操作菜单项 -> WHSWorkExecute 但它不能从浏览器运行。我也运行了增量 CIL,但没有变化。任何想法?我还需要在 DisplayIEOS.aspx 中进行更改吗?