0

我在 Dynamics NAV 2013 安装中创建了两个新表:50086 Order By Period 和 50089 Item Sales By Period。每个都包含日期、小数、整数和文本字段,以及键中使用的代码字段。我将所有字段属性保留为默认值。当引用我的代码单元中的表时,一些(但不是全部)字段会导致编译错误,因为它们无法识别,并出现错误“您指定了一个未知变量”。在代码单元中,我将表引用为 Record 类型的局部变量。

我尝试了许多不同的方法来引用表字段,以防错误出现在代码中,但都导致相同的错误。我目前的代码是:

ItemRevenue.VALIDATE("Last Period Orders", 1);

重新编译对象(表和代码单元)并没有解决问题。为了强制编译器使用最新版本的表格,我从代码单元中删除了对表格的所有引用,重新编译了表格,然后添加了引用并重新编译了代码单元。这还没有纠正它,相同的字段仍然导致编译错误。

所有表字段都存在于 SQL Server 表中。

我应该怎么做才能使编译器可以看到所有新的表字段?

4

2 回答 2

0

我从来没有弄清楚为什么编译器无法识别表字段名称,而是使用 C/AL 符号菜单添加字段名称而不是键入它们,或者从表定义中复制和粘贴它们,从而创建了可编译的代码。对人眼来说,字段名称没有区别,但编译器识别出通过 C/AL 符号菜单插入的字段名称,而之前没有识别出它们。

于 2015-08-26T16:29:19.227 回答
0

如果您在打开引用表的代码单元时向表中添加字段,则 C/AL 将抛出此错误,直到您重新打开代码单元。这是刷新代码单元表定义的唯一方法。

但是,如果将 codeunit 声明为SingleInstance则仅重新打开 codeunit 是不够的。您必须重新启动客户端应用程序或在较新版本的开发环境中调用它。这将刷新单实例代码单元的表定义。

于 2016-03-10T08:18:32.820 回答