| Docs Hilfe
  AppSource  
Docs  /  App  /  NAVAX Replikation  /  Informationen für Entwickler

 Funktion „Manuelle Replikation" für weitere Tabellen ermöglichen


2026/02/20 • 1 Min. Lesedauer
Die NAVAX Replikation ist standardmäßig über pageextensions bereits in vielen Kartenseiten eingebunden. Der zugrunde liegende Code ist dabei auf allen Seiten identisch. Daher lässt sich die NAVAX Replikation mit geringem Aufwand auch per Individualentwicklung in weitere Kartenseiten integrieren. Nachfolgend ein Beispielcode zur Integration auf der Debitoren-Karteseite.
pageextension 70161751 "NVXRPL Customer Card" extends "Customer Card"
{
    ContextSensitiveHelpPage = 'ReplicationFactbox';
    layout
    {
        addfirst(factboxes)
        {
            part(ReplicationPart; NVXRPLReplicationFactbox)
            {
                ApplicationArea = All;
                Visible = ManualReplicationActivated;
            }
        }
    }
    trigger OnAfterGetCurrRecord()
    var
        ReplicationTableSetup: Record "NVXRPL Replication Table Setup";
        Ref: RecordRef;
    begin
        Ref.GetTable(Rec);
        ManualReplicationActivated := ReplicationTableSetup.NeedsFactBox(Ref.Number());
        if ManualReplicationActivated then
            UpdateReplPart(false);
    end;

    trigger OnModifyRecord(): Boolean
    begin
        if ManualReplicationActivated then
            UpdateReplPart(false);
    end;

    trigger OnInsertRecord(BelowxRec: Boolean): Boolean
    begin
        UpdateReplPart(false);
    end;

    trigger OnNewRecord(BelowxRec: Boolean)
    begin
        UpdateReplPart(true);
    end;

    var
        ManualReplicationActivated: Boolean;

    local procedure UpdateReplPart(CallFromOnNewRec: Boolean)
    var
        RecId: RecordId;
        RecRef: RecordRef;
    begin
        if CallFromOnNewRec then
            Clear(RecId)
        else begin
            RecId := Rec.RecordId;
            CurrPage.ReplicationPart.Page.SetRecId(RecId);
            if RecRef.Get(Rec.RecordId) then
                CurrPage.ReplicationPart.Page.SetRecords();
        end;
        CurrPage.ReplicationPart.Page.Update(false);
    end;
}


Feedback senden für
DE|EN Impressum