我在Dynamics NAV 2013安装中创建了两个新表:50086 Order By Period和50089 Item Sales By Period。每个都包含Date,Decimal,Integer和Text字段,以及密钥中使用的Code字段。我将所有字段属性保留为默认值。在我的代码单元中引用表时,一些但不是全部的字段会导致编译错误,因为它们无法识别,错误"您指定了一个未知变量。"在codeunit中,我将表引用为Record类型的本地变量。
我已经尝试了许多不同的方法来引用表字段,以防错误出现在代码中,但都会导致相同的错误。我目前的代码是:
ItemRevenue.VALIDATE("Last Period Orders", 1);
重新编译对象(表和代码单元)并没有解决问题。为了强制编译器使用最新版本的表,我从codeunit中删除了对表的所有引用,重新编译了表,然后添加了引用并重新编译了codeunit。这还没有纠正它,相同的字段仍然导致编译错误。
所有表字段都存在于SQL Server表中。
如何让编译器看到所有新表字段?
答案 0 :(得分:0)
如果在使用代码单元引用打开的表时向表中添加字段,则C / AL将抛出此错误,直到您重新打开代码单元。这是刷新codeunit表定义的唯一方法。
但是,如果声明为SingleInstance的codeunit然后重新打开codeunit是不够的。您必须重新启动客户端应用程序或在较新版本的开发环境中调用它。这将刷新单实例代码单元的表定义。