Skip to content

KVSPSASalesPost#

Events#

KVSPSAOnBeforePostJobJnlForSalesLine(Record Sales Header, Record Sales Line, Code[20], Code[35], Boolean) :#

Summary: Event fired before posting job journal entries for a sales line. Allows extensions to customize or skip job journal posting for sales transactions. This event enables extensions to implement custom job posting logic or bypass standard job journal posting when specific business scenarios require alternative processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforePostJobJnlForSalesLine(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; DocNo: Code[20]; ExtDocNo: Code[35]; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesPost", 'KVSPSAOnBeforePostJobJnlForSalesLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforePostJobJnlForSalesLine(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; DocNo: Code[20]; ExtDocNo: Code[35]; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesHeader: The sales header being posted.
  • SalesLine: The sales line for which job journal posting is about to be performed.
  • DocNo: The document number for the posted transaction.
  • ExtDocNo: The external document number for reference.
  • IsHandled: Set to true to skip the standard job journal posting process for this sales line.

KVSPSAOnBeforeRunCheckForJobJnlForSalesLine(Record Sales Line, Record Job Journal Line) :#

Summary: Event fired before running validation checks for job journal entries related to sales lines. Allows extensions to modify job journal lines before validation. This event enables custom modifications to job journal lines before they undergo standard validation checks during sales posting with job integration.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeRunCheckForJobJnlForSalesLine(SalesLine: Record "Sales Line"; var JobJournalLine: Record "Job Journal Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesPost", 'KVSPSAOnBeforeRunCheckForJobJnlForSalesLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeRunCheckForJobJnlForSalesLine(SalesLine: Record "Sales Line"; var JobJournalLine: Record "Job Journal Line")
begin
end;

Parameters:

  • SalesLine: The sales line for which job journal validation is about to be performed.
  • JobJournalLine: The job journal line that will be validated. Can be modified by extensions.

KVSPSAOnAfterFilterForSalesLineOnBeforeFillICInformation(Record Sales Line) :#

Summary: Event fired after filtering sales lines and before filling intercompany (IC) information. Allows extensions to modify sales lines before intercompany processing. This event enables custom modifications to sales lines after filtering has been applied but before intercompany information is populated during sales posting.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterFilterForSalesLineOnBeforeFillICInformation(var SalesLine: Record "Sales Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesPost", 'KVSPSAOnAfterFilterForSalesLineOnBeforeFillICInformation', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterFilterForSalesLineOnBeforeFillICInformation(var SalesLine: Record "Sales Line")
begin
end;

Parameters:

  • SalesLine: The filtered sales line before intercompany information processing. Can be modified by extensions.

KVSPSAOnAfterFilterWBSLineBeforeFillICInformation(Record Sales Line, Record KVSPSAJobPSPLine) :#

Summary: Event fired after filtering WBS (Work Breakdown Structure) lines and before filling intercompany information. Allows extensions to modify WBS lines before IC processing. This event enables custom modifications to job PSP (Project Structure Plan) lines after filtering but before intercompany information is populated during sales posting.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterFilterWBSLineBeforeFillICInformation(SalesLine: Record "Sales Line"; var KVSPSAJobPSPLine: Record "KVSPSAJobPSPLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesPost", 'KVSPSAOnAfterFilterWBSLineBeforeFillICInformation', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterFilterWBSLineBeforeFillICInformation(SalesLine: Record "Sales Line"; var KVSPSAJobPSPLine: Record "KVSPSAJobPSPLine")
begin
end;

Parameters:

  • SalesLine: The sales line providing context for the WBS line processing.
  • KVSPSAJobPSPLine: The filtered job PSP line before intercompany processing. Can be modified by extensions.

KVSPSAOnAfterFilterProjectBudgetLineBeforeFillICInformation(Record Sales Line, Record KVSPSA Job Budget Line) :#

Summary: Event fired after filtering project budget lines and before filling intercompany information. Allows extensions to modify budget lines before IC processing. This event enables custom modifications to job budget lines after filtering has been applied but before intercompany information is populated during sales posting.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterFilterProjectBudgetLineBeforeFillICInformation(SalesLine: Record "Sales Line"; var KVSPSAJobBudgetLine: Record "KVSPSA Job Budget Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesPost", 'KVSPSAOnAfterFilterProjectBudgetLineBeforeFillICInformation', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterFilterProjectBudgetLineBeforeFillICInformation(SalesLine: Record "Sales Line"; var KVSPSAJobBudgetLine: Record "KVSPSA Job Budget Line")
begin
end;

Parameters:

  • SalesLine: The sales line providing context for the budget line processing.
  • KVSPSAJobBudgetLine: The filtered job budget line before intercompany processing. Can be modified by extensions.

KVSPSAOnBeforeTestFieldJobNoMandatoryByPosting(Record Sales Header, Record Sales Line, Record KVSPSAJobNoMandatoryByPosting, Boolean) :#

Summary: This event is raised before testing the field Job No. Mandatory By Posting. If IsHandled is set to true, the standard testing of the field is skipped.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeTestFieldJobNoMandatoryByPosting(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; var JobNoMandatoryByPosting: Record "KVSPSAJobNoMandatoryByPosting"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesPost", 'KVSPSAOnBeforeTestFieldJobNoMandatoryByPosting', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeTestFieldJobNoMandatoryByPosting(SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; var JobNoMandatoryByPosting: Record "KVSPSAJobNoMandatoryByPosting"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesHeader:
  • SalesLine:
  • JobNoMandatoryByPosting:
  • IsHandled: