0
votes

Working with the Voucher transactions inquiry, I've added a custom field to the GeneralJournalEntry table.

When I try to add this field to my inquiry form, it adds correctly (renders as a drop down), and I can input a value or select one from the drop down list -- the issue is if I attempt to put in a wildcard character (*), I'll get a stack trace error:

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

There aren't any modifications to these classes, and I can't find anything that would lead me to believe that the wildcard is invalid in this field.

2

2 Answers

1
votes

This problem occurs because the method \SysTableRelation\getDictFieldID uses the EDT of the field at the line dictType = new SysDictType (sysDictField.typeId ()) line;

I fixed by adding an EDT to the field.

0
votes

I would guess that you haven't fully compiled/sync'd everything and/or you need to restart the AOS. You should be able to debug this with the debugger though.

If you look at the code in the top of the stack trace, it's referring to this bit of code:

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

You can see where I added my comment, that if that is not initialized then it means the above line failed to create a dict type. sysDictField however had no issues returning the typeId().

Put a breakpoint on \Classes\SysTableRelation\getDictFieldID - line 7 and just see what the issue is. I'm suspecting it's just environment acting up and some compiles/restarts will fix.