1

我有一个相当大的 Dynamics 365 Business Central Extension 在 Visual Studio Code 平台上用 AL 代码编写。Microsoft 正在更改 AL 代码中的一项规则,如果在下一个版本之前未解决,该规则将导致广泛的错误。这个变化是不能使用“implicit with”,所以代码中的每一个记录引用都必须用“Rec.”来限定。在这个扩展中有几百个地方需要解决,手动一个一个地调整它们是不切实际的。以供参考,

这个:

                field(TradeNumber; TradeNumber)
                {
                    ApplicationArea = All;
                    Caption = 'Trade No.';
                    Editable = False;
                }
                field(TradeType; TradeType)
                {
                    ApplicationArea = All;
                    Caption = 'Trade Type';
                }

变成这样:

                field(TradeNumber; Rec.TradeNumber)
                {
                    ApplicationArea = All;
                    Caption = 'Trade No.';
                    Editable = False;
                }
                field(TradeType; Rec.TradeType)
                {
                    ApplicationArea = All;
                    Caption = 'Trade Type';
                }

因此,如果这几百个实例的错误(或现在的“问题”)是相同的,有没有办法批量更正,可以说只是应用“Rec”。到已在多个文件和文件夹中标记的每个引用的开头?

4

1 回答 1

2

VS Code 的标准 AL 代码扩展将包括修复这些错误的代码操作。(“获得 Rec 资格”)

Visual Studio Code 市场上有 3rd 方扩展可以自动修复这些 en-mass,例如AL CodeActions

由于您只提到隐式,您应该注意显式WITH 语句也被“过时”。原因是在处理扩展时,两种类型的“With”语句的行为都变得不可预测。这篇博文更详细地解释了它

于 2020-10-13T05:37:55.313 回答