未找到 Microsoft Dynamics NAV table 字段

Microsoft Dynamics NAV table fields not found

我在 Dynamics NAV 2013 安装中创建了两个新的 tables:50086 Order By Period 和 50089 Item Sales By Period。每个都包含日期、小数、整数和文本字段,以及密钥中使用的代码字段。我将所有字段属性保留为默认值。在我的代码单元中引用 table 时,一些(但不是全部)字段会导致编译错误,因为它们未被识别,并出现错误 "You have specified an unknown variable." 在我的代码单元中,我有 table s 被引用为 Record 类型的局部变量。

我尝试了多种引用 table 字段的不同方法,以防代码中出现错误,但所有方法都会导致相同的错误。我当前的代码是:

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

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

所有 table 字段都存在于 SQL 服务器 table 中。

我应该怎么做才能使所有新的 table 字段对编译器可见?

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

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

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