我已成功在AX2009中使用自定义查找多年。在提升到RU7之后,似乎之前的方法不再有效。任何关于我应该改变以解决问题的建议?AX2009 RU7自定义查找列表
这是我一直在使用调用自定义查找代码:
public void lookup()
{
List valueList = new List(Types::String);
;
//add the choices to the list
valueList.addEnd('@ABC123');
valueList.addEnd('@ABC246);
//display the list using the customized syslookup routine
SysLookup::lookupList(this, valueList, "@ABC369");
super();
}
这是我加入sysLookup类中的方法:
public static client void lookupList(FormStringControl _formStringControl, List _valueList, str _columnLabel = '')
{
Args args;
FormRun formRun;
;
if (_formStringControl && _valueList && _valueList.typeId() == Types::String)
{
args = new Args(formstr(SysLookup));
args.parmObject(_valueList);
args.parm(_columnLabel);
formRun = classFactory.formRunClass(args);
formRun.init();
_formStringControl.performFormLookup(formRun);
}
}
,直到我们安装RU7这完美地工作。现在,我们收到以下错误:
执行代码时出错:DictEnum对象未初始化。 (C)\类\ DictEnum \标签 (C)\形式\ SysLookup \方法\运行 (C)\类\ FormStringControl \ performFormLookup (C)\类\ SysLookup \ lookupList - 线16 (C)\类\ FormStringControl \ Lookup
我很乐意提出如何解决当前问题或如何在RU7中创建相同效果的建议(没有引入RU7之前的syslookup类,它可以工作,但不是' t可以接受。)
经过进一步的审查,看起来sysLookup表单是在RU7中进行更改的地方。如果我使用pre-RU7覆盖RU7 sysLookup表单,那么一切正常。我不想那么做... – Brad
另一个有趣的观察。如果我在文本框的查找覆盖方法中注释掉所有内容,我仍然会得到相同的错误。未覆盖的查找仍然正常工作。 – Brad