向“查询”表单添加字段时出错

时间:2017-03-22 19:40:44

标签: axapta dynamics-ax-2012-r3

使用凭证交易查询,我已在GeneralJournalEntry表中添加了自定义字段。

当我尝试将此字段添加到我的查询表单时,它会正确添加(呈现为下拉列表),我可以输入一个值或从下拉列表中选择一个 - 问题是如果我尝试放入在通配符(*)中,我将收到堆栈跟踪错误:

SysDictType object not initialized.


(S)\Classes\SysTableRelation\getDictFieldID - line 7
(S)\Classes\SysTableRelation\findRelation - line 41
(C)\Classes\SysLookup\lookupTableRelation - line 13
(C)\Classes\SysLookup\lookupRange - line 133
(C)\Forms\SysQueryForm\Data Sources\Range\Fields\RangeValue\Methods\lookup - line 36
(C)\Classes\FormStringControl\PerformDBLookup
(C)\Classes\FormStringControl\lookup
(C)\Forms\SysQueryForm\Designs\DesignList\RangeValue\Methods\lookup - line 27

对这些类没有任何修改,我找不到任何会让我相信通配符在此字段中无效的内容。

2 个答案:

答案 0 :(得分:1)

出现此问题的原因是方法\SysTableRelation\getDictFieldID使用了行dictType = new SysDictType (sysDictField.typeId ())行的字段的EDT;

我通过在现场添加EDT来修复。

答案 1 :(得分:0)

我猜你还没有完全编译/同步所有内容和/或你需要重新启动AOS。您应该能够使用调试器对此进行调试。

如果查看堆栈跟踪顶部的代码,它会引用这段代码:

dictType = new SysDictType(sysDictField.typeId());
if(dictType.arraySize() > 1) // <--This is the error...that it's not initialized

您可以看到我添加评论的位置,如果未初始化,则表示上述行无法创建dict类型。 sysDictField然而typeId()返回\Classes\SysTableRelation\getDictFieldID - line 7时没有问题。

在{{1}}上放一个断点,看看问题是什么。我怀疑它只是环境起作用,一些编译/重启将会解决。

相关问题