Skip to content

[Intrastat Core] [Event Parameter Request] tableextension "Intrastat Report Sales Head." & "Intrastat Report Purch. Head." - OnAfterUpdateIntrastatFields #29267

Description

Why do you need this change?

We want to check on the xRec values in those event.

Describe the request

Could you please add the xRec to the events OnAfterUpdateIntrastatFields in the objects tableextension 4815 "Intrastat Report Sales Head." and tableextension 4817 "Intrastat Report Purch. Head.".

    local procedure UpdateIntrastatFields(FieldNo: Integer)
    var
        Customer: Record Customer;
        IntrastatReportSetup: Record "Intrastat Report Setup";
        CustomerNo: Code[20];
        IsHandled: Boolean;
    begin
        OnBeforeUpdateIntrastatFields(Rec, FieldNo, IsHandled);
        if IsHandled then
            exit;

        if Rec.IsTemporary() then
            exit;

        if not IntrastatReportSetup.Get() then
            exit;

        case true of
            (IntrastatReportSetup."Sales Intrastat Info Based On" = IntrastatReportSetup."Sales Intrastat Info Based On"::"Sell-to Customer") and
            (FieldNo = FieldNo("Sell-to Customer No.")):
                CustomerNo := "Sell-to Customer No.";
            (IntrastatReportSetup."Sales Intrastat Info Based On" = IntrastatReportSetup."Sales Intrastat Info Based On"::"Bill-to Customer") and
            (FieldNo = FieldNo("Bill-to Customer No.")):
                CustomerNo := "Bill-to Customer No.";
            else
                exit;
        end;

        if Customer.Get(CustomerNo) then begin
            Validate("Transport Method", Customer."Def. Transport Method");
            if "Document Type" in ["Document Type"::"Credit Memo", "Document Type"::"Return Order"] then
                if Customer."Default Trans. Type - Return" <> '' then
                    Validate("Transaction Type", Customer."Default Trans. Type - Return")
                else
                    Validate("Transaction Type", IntrastatReportSetup."Default Trans. - Return")
            else
                if Customer."Default Trans. Type" <> '' then
                    Validate("Transaction Type", Customer."Default Trans. Type")
                else
                    Validate("Transaction Type", IntrastatReportSetup."Default Trans. - Purchase");
        end else begin
            Validate("Transport Method", '');
            Validate("Transaction Type", '');
        end;

        //>>>Change
        //-OnAfterUpdateIntrastatFields(Rec, Customer, IntrastatReportSetup, FieldNo);
        OnAfterUpdateIntrastatFields(xRec, Rec, Customer, IntrastatReportSetup, FieldNo);  //xRec added to event
        //<<<Change
    end;
    [IntegrationEvent(false, false)]
    //>>>Change
    //-local procedure OnAfterUpdateIntrastatFields(var SalesHeader: Record "Sales Header"; var Customer: Record Customer; var IntrastatReportSetup: Record "Intrastat Report Setup"; FieldNo: Integer);
    local procedure OnAfterUpdateIntrastatFields(xSalesHeader: Record "Sales Header"; var SalesHeader: Record "Sales Header"; var Customer: Record Customer; var IntrastatReportSetup: Record "Intrastat Report Setup"; FieldNo: Integer);
    //<<<Change
    begin
    end;
local procedure UpdateIntrastatFields(FieldNo: Integer)
var
    IntrastatReportSetup: Record "Intrastat Report Setup";
    Vendor: Record Vendor;
    VendorNo: Code[20];
    IsHandled: Boolean;
begin
    OnBeforeUpdateIntrastatFields(Rec, FieldNo, IsHandled);
    if IsHandled then
        exit;

    if IsTemporary() then
        exit;

    if not IntrastatReportSetup.Get() then
        exit;

    case true of
        (IntrastatReportSetup."Purch. Intrastat Info Based On" = IntrastatReportSetup."Purch. Intrastat Info Based On"::"Buy-from Vendor") and
        (FieldNo = FieldNo("Buy-from Vendor No.")):
            VendorNo := "Buy-from Vendor No.";
        (IntrastatReportSetup."Purch. Intrastat Info Based On" = IntrastatReportSetup."Purch. Intrastat Info Based On"::"Pay-to Vendor") and
        (FieldNo = FieldNo("Pay-to Vendor No.")):
            VendorNo := "Pay-to Vendor No.";
        else
            exit;
    end;

    if Vendor.Get(VendorNo) then begin
        Validate("Transport Method", Vendor."Def. Transport Method");
        if "Document Type" in ["Document Type"::"Credit Memo", "Document Type"::"Return Order"] then
            if Vendor."Default Trans. Type - Return" <> '' then
                Validate("Transaction Type", Vendor."Default Trans. Type - Return")
            else
                Validate("Transaction Type", IntrastatReportSetup."Default Trans. - Return")
        else
            if Vendor."Default Trans. Type" <> '' then
                Validate("Transaction Type", Vendor."Default Trans. Type")
            else
                Validate("Transaction Type", IntrastatReportSetup."Default Trans. - Purchase");
    end else begin
        Validate("Transport Method", '');
        Validate("Transaction Type", '');
    end;

    //>>>Change
    //-OnAfterUpdateIntrastatFields(Rec, Vendor, IntrastatReportSetup, FieldNo);
    OnAfterUpdateIntrastatFields(xRec, Rec, Vendor, IntrastatReportSetup, FieldNo); //xRec added to event
    //<<<Change
end;
[IntegrationEvent(false, false)]
//>>>Change
//-local procedure OnAfterUpdateIntrastatFields(var PurchaseHeader: Record "Purchase Header"; var Vendor: Record Vendor; var IntrastatReportSetup: Record "Intrastat Report Setup"; FieldNo: Integer);
local procedure OnAfterUpdateIntrastatFields(xPurchaseHeader: Record "Purchase Header";var PurchaseHeader: Record "Purchase Header"; var Vendor: Record Vendor; var IntrastatReportSetup: Record "Intrastat Report Setup"; FieldNo: Integer);
begin
end;
//<<<Change

Internal work item: AB#609591

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    SCMGitHub request for SCM areaevent-requestRequest for adding an eventships-in-future-updateFix ships in a future update

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions