多年来,我一直在 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)\Classes\DictEnum\label (C)\Forms\SysLookup\Methods\run (C)\Classes\FormStringControl\performFormLookup (C)\Classes\SysLookup\lookupList - 第 16 行 (C)\Classes\FormStringControl\Lookup
我愿意接受有关如何解决当前问题或如何在 RU7 中创建相同效果的建议(不引入 RU7 之前的 syslookup 类,它确实有效,但不可接受。)