业务中心链接字段

Business Central Linked Fields

我正在尝试在采购行和销售行上创建一个“已接收”布尔字段,这样当一个项目在采购行上被标记为 True 时,链接的销售行也被标记为 True。到目前为止,我已经设法在 Purchase Line 上创建一个字段来存储关联的 Sales Line 的 ID,但是我在确定 Purchase Line 字段更改时的触发器以及如何使用 Sales Line id 时遇到了一些麻烦字段以更新与 ID 匹配的特定销售行。

field(csg_PoliReceived; Rec.csg_PoliReceived)
        {
            Caption = 'Purchase Order Line Received';
            ApplicationArea = All;
            trigger OnValidate()
            begin
                // if true
                // update Sales Line to true
                // if false
                // update Sales Line to false
            end;
        }

我在扩展 Purchase Lines 页面的 pageextension 中有这个片段,所以我不确定如何查询具有匹配 ID 的 Sales Line 以及如何更新该记录。任何建议将不胜感激。谢谢!

修改应在您为 Purchase Line 创建的 tableextension 字段的 OnValidate 触发器中完成。

我假设您有一个名为 Sales Line Id 的字段,如果 Purchase Line 链接到一个字段,它将包含 Sales LineSystemId

trigger OnValidate()
var
    SalesLine: Record "Sales Line";
begin
    if not IsNullGuid("Sales Line Id") then begin
        SalesLine.GetBySystemId("Sales Line Id");
        SalesLine.Validate("Purchase Order Line Received", Received);
        SalesLine.Modify(true);
    end;
end;

每当 ReceivedPurchase Line 上更新时,此代码将在 Sales Line 上更新 Purchase Order Line Received

您在设计中可能要考虑的一件事是 Purchase LineSales Line 可以通过多种方式链接,例如通过预订或代发货。