Ошибка при добавлении поля в форму запроса
Работая с запросом транзакций ваучера, я добавил настраиваемое поле в таблицу 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 ответа
Эта проблема возникает из-за метода \SysTableRelation\getDictFieldID
использует EDT поля на линии dictType = new SysDictType (sysDictField.typeId ())
линия;
Я исправил, добавив EDT к полю.
Я предполагаю, что вы не полностью скомпилировали / синхронизировали все и / или вам нужно перезапустить 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
и просто посмотреть, в чем проблема. Я подозреваю, что это просто окружающая среда, и некоторые компиляции / перезапуски исправят.