OnAfterGetRecord-Trigger wird nicht ausgefĂĽhrt [BC19]

Bild Microsoft Dynamics 365 Business Central (On-Premises Version)
Forumsregeln
Impressum • Community-Knigge • Nutzungsbedingungen • Datenschutzrichtlinie

Bitte unbedingt im Titel angeben, auf welche Version (BC13, BC14, BC15, ...) sich eure Frage bezieht!

OnAfterGetRecord-Trigger wird nicht ausgefĂĽhrt [BC19]

Beitragvon Iridium » 28. März 2022 21:16

Ich arbeite an einer eigens erstellten Page (B), welche im OnAfterGetRecord-Trigger globale Variablen befüllt. welche im Repeater dargestellt werden. Diese Page ist als Part in einer anderen Page (A) eingebunden. Über eine Action in Page (A) möchte ich nun die Filterung des Records von Page (B) ändern. Leider habe ich feststellen müssen, dass der OnAfterGetRecord-Trigger nicht ausgeführt wird, d.h., dass das Ändern von SetRange keinen Effekt hat.
Wie bekomme ich es hin, dass das Setzen von SetRange auf einer Page einen Effekt hat?

Mein Code in Page (B):
Code: Alles auswählen
    trigger OnAfterGetRecord()
    var
        ItemAttributeValue: Record "Item Attribute Value";
        ItemAttribute: Record "Item Attribute";
    begin
        if ItemAttributeValue.Get(Rec."Item Attribute ID", Rec."Item Attribute Value ID") then begin
            if ItemAttribute.Get(Rec."Item Attribute ID") then begin
                Name := ItemAttribute."Name";
                Value := ItemAttributeValue.Value;
                "Valid Values" := ItemAttributeValue."Valid Values";
            end;
        end;
    end;

    procedure UpdateLineNo(LineNo: Integer)
    var
        MergedCode: Code[20];
        Utilities: Codeunit Utilities;
    begin
        Clear(Rec);
        CurrPage.Update(False);

        MergedCode := Utilities.MergeCodes(HeaderNo, Format(LineNo));
        Rec.SetRange("No.", MergedCode);
        Rec.SetRange("Table ID", Database::"Production BOM Template Line");
        CurrPage.Update(False);
    end;


Mein Code in Page (A):

Code: Alles auswählen
    local procedure OnSelectedLineChanged(LineNo: Integer)
    begin
        LinkedFactbox.UpdateLineNo(LineNo);
    end;
Iridium
 
Beiträge: 10
Registriert: 13. Juli 2021 21:41
Realer Name: Aaron L.
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: 19

Re: OnAfterGetRecord-Trigger wird nicht ausgefĂĽhrt [BC19]

Beitragvon enh » 28. März 2022 21:23

3 spontane Ideen:
Hast du das Property UpdatePropagation korrekt gesetzt?
CurrPage.UPDATE?
ggf. OnAfterGetCurrRecord statt OnAfterGetRecord?
enh
 
Beiträge: 2341
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: OnAfterGetRecord-Trigger wird nicht ausgefĂĽhrt [BC19]

Beitragvon Iridium » 29. März 2022 21:43

enh hat geschrieben:3 spontane Ideen:
Hast du das Property UpdatePropagation korrekt gesetzt?
CurrPage.UPDATE?
ggf. OnAfterGetCurrRecord statt OnAfterGetRecord?


Muss UpdatePropagation gesetzt werden? Page (B) ist zwar ein Part von Page (A), aber der OnAfterGetRecord-Trigger und die Funktion UpdateLineNo befinden sich ja beide in Page (B), welche sich doch unabhängig von UpdatePropagation aktualisieren sollte. Page (A) ruft nur die UpdateLineNo Funktion auf.
Bezüglich CurrPage.Update(): Das nutze ich in der Funktion UpdateLineNo bereits, ändert aber nichts.
Zu OnAfterGetCurrRecord: Wird das nicht nur für jeden selektierten Record ausgeführt? Dann könnte ich damit im Gegensatz zu OnAfterGetRecord() ja keine Liste bzw. Repeater befüllen.
Iridium
 
Beiträge: 10
Registriert: 13. Juli 2021 21:41
Realer Name: Aaron L.
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: 19


ZurĂĽck zu 365 Business Central (On-Premises)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast