Skip to content

[Event Request] New Event inside UpdateSalesHeader #29539

@HeidarOrn

Description

@HeidarOrn

Why do you need this change?

We need to be able set our own value to Sales Header for Bill-to.. and Sell-to customer.

Describe the request

Add new IntegrationEvent and IsHandled inside UpdateSalesHeader(var SalesHeader: Record "Sales Header"; JobPlanningLine: Record "Job Planning Line")

local procedure UpdateSalesHeader(var SalesHeader: Record "Sales Header"; JobPlanningLine: Record "Job Planning Line")
var
    JobTask: Record "Job Task";
    FormatAddress: Codeunit "Format Address";
++  IsHandled: Boolean;
begin
++  IsHandled := false;
++  OnBeforeUpdateSalesHeaderFromProjectTask(SalesHeader, JobPlanningLine, IsHandled);
++  if not IsHandled then begin
        JobTask.Get(JobPlanningLine."Job No.", JobPlanningLine."Job Task No.");
        SalesHeader."Bill-to Contact No." := JobTask."Bill-to Contact No.";
        SalesHeader."Bill-to Contact" := JobTask."Bill-to Contact";
        SalesHeader."Bill-to Name" := JobTask."Bill-to Name";
        SalesHeader."Bill-to Name 2" := JobTask."Bill-to Name 2";
        SalesHeader."Bill-to Address" := JobTask."Bill-to Address";
        SalesHeader."Bill-to Address 2" := JobTask."Bill-to Address 2";
        SalesHeader."Bill-to City" := JobTask."Bill-to City";
        SalesHeader."Bill-to Post Code" := JobTask."Bill-to Post Code";
        SalesHeader."Bill-to Country/Region Code" := JobTask."Bill-to Country/Region Code";
        SalesHeader."Sell-to Contact No." := JobTask."Sell-to Contact No.";
        SalesHeader."Sell-to Contact" := JobTask."Sell-to Contact";
        SalesHeader."Sell-to Customer Name" := JobTask."Sell-to Customer Name";
        SalesHeader."Sell-to Customer Name 2" := JobTask."Sell-to Customer Name 2";
        SalesHeader."Sell-to Address" := JobTask."Sell-to Address";
        SalesHeader."Sell-to Address 2" := JobTask."Sell-to Address 2";
        SalesHeader."Sell-to City" := JobTask."Sell-to City";
        SalesHeader."Sell-to Post Code" := JobTask."Sell-to Post Code";
        SalesHeader."Sell-to Country/Region Code" := JobTask."Sell-to Country/Region Code";
        if JobTask."Ship-to Code" <> '' then
            SalesHeader.Validate("Ship-to Code", JobTask."Ship-to Code")
        else
            if SalesHeader."Ship-to Code" = '' then begin
                SalesHeader."Ship-to Contact" := JobTask."Ship-to Contact";
                SalesHeader."Ship-to Name" := JobTask."Ship-to Name";
                SalesHeader."Ship-to Name 2" := JobTask."Ship-to Name 2";
                SalesHeader."Ship-to Address" := JobTask."Ship-to Address";
                SalesHeader."Ship-to Address 2" := JobTask."Ship-to Address 2";
                SalesHeader."Ship-to City" := JobTask."Ship-to City";
                SalesHeader."Ship-to Post Code" := JobTask."Ship-to Post Code";
                SalesHeader."Ship-to Country/Region Code" := JobTask."Ship-to Country/Region Code";
                if FormatAddress.UseCounty(SalesHeader."Ship-to Country/Region Code") then
                    SalesHeader."Ship-to County" := JobTask."Ship-to County";
            end;
        if FormatAddress.UseCounty(SalesHeader."Bill-to Country/Region Code") then
            SalesHeader."Bill-to County" := JobTask."Bill-to County";
        if FormatAddress.UseCounty(SalesHeader."Sell-to Country/Region Code") then
            SalesHeader."Sell-to County" := JobTask."Sell-to County";
++  end;
end;
….

++  [IntegrationEvent(false, false)]
++  local procedure OnBeforeUpdateSalesHeaderFromProjectTask(var SalesHeader: Record "Sales Header"; JobPlanningLine: Record "Job Planning Line"; var IsHandled: Boolean)
++  begin
++  end;

Metadata

Metadata

Assignees

No one assigned

    Labels

    missing-infoThe issue misses information that prevents it from completion.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions