0

我已完成从 ax 2012 rtm 到 ax 2012 r2 的就地升级

但目前我在尝试确认采购订单时遇到以下异常

执行代码时出错:变量赋值中的参数类型错误。

堆栈跟踪

(S)\Classes\FormLetterContract\unpack - line 8

(S)\Classes\PurchFormLetterContract\unpack - line 13

(S)\Classes\SysOperationDataContractInfo\unpackDataContractObject - line 21

(S)\Classes\SysOperationController\unpackDataContractInfoObjects - line 34

(S)\Classes\SysOperationController\unpack - line 70

(S)\Classes\SysOperationServiceController\unpack - line 15

(S)\Classes\PurchFormLetter\unpack - line 10

(S)\Classes\PurchFormLetter_PurchOrder\unpack - line 73

(S)\Classes\xSysLastValue\getLast - line 29

(S)\Classes\SysOperationController\loadFromSysLastValue - line 29

(S)\Classes\SysOperationController\getDataContractInfoObjects - line 10

(S)\Classes\SysOperationController\getDataContractInfoObject - line 17

(S)\Classes\SysOperationController\getDataContractObject - line 18

(S)\Classes\FormLetterServiceController\init - line 3

(S)\Classes\PurchFormLetter_PurchOrder\init - line 3

(S)\Classes\PurchFormLetter_PurchOrder\newPurchOrder - line 7

(S)\Classes\PurchFormLetter\construct - line 11

(S)\Classes\PurchFormLetter\mainOnServer - line 46

(C)\Classes\PurchFormLetter\main - line 50

(C)\Classes\FormFunctionButtonControl\Clicked

我尝试对其进行调试,并达到了在 [version, #ParmListFormLetter] = _packedClass; 上发生异常的地步 在 FormLetterContract 中

我试图清除 xppil,进行完整的编译和 CIL 生成和同步字典,但错误仍然出现我还检查了堆栈跟踪中的类中的自定义,但它们都是 sys 层并且没有任何自定义

public boolean  unpack(container  _packedClass)
{
    Integer  version = conPeek(_packedClass,1);

    switch (version)
    {
        case #CurrentVersion:
            [version, #ParmListFormLetter] = _packedClass;
            break;
        default :
            return false;
    }

    return true;
}

任何人都可以对此提出建议,非常感谢您的帮助

4

1 回答 1

0

只需查看您提供的代码,并且不了解这些类自 2012 RTM 以来的更改,我将执行以下操作:

  1. 确保 #ParmListFormLetter 宏(在 FormLetterContract 类声明中找到)中指定的参数列表与通过 _packedClass 传入的参数列表匹配。如果它们不同,则需要更改 CurrentVersion 宏中指定的版本号。然后为代码中 switch 的默认情况下的差异编写一个自定义处理程序。

  2. 尝试向前编译 FormLetterContract。右键单击 AOT 中的类节点,然后转到 Add-Ins > compile forward。这将解决任何与继承相关的类型问题。我唯一一次遇到您描述的错误,编译前是我必须做的一切来解决它。

于 2014-08-12T20:41:19.853 回答