Skip to content

KVSPSASalesDocToJobMgt#

Procedures#

GetNewLineNo(RecordRef, Integer) : Integer#

Summary: This procedure return new line no. base on provided RecordRef and FieldNo.

procedure GetNewLineNo(RecordReference: RecordRef; FieldNo: Integer): Integer

Parameters:

  • RecordReference: RecordRef used to find the last line no.
  • FieldNo: Integer used for identifying the field number.

Returns: Return new line no.

Events#

KVSPSAOnIsSupportedDocumentTypeForPSPCreation(Enum Sales Document Type, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnIsSupportedDocumentTypeForPSPCreation(SalesDocumentType: Enum "Sales Document Type"; var IsSupported: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnIsSupportedDocumentTypeForPSPCreation', '', false, false)]
local procedure DoSomethingKVSPSAOnIsSupportedDocumentTypeForPSPCreation(SalesDocumentType: Enum "Sales Document Type"; var IsSupported: Boolean; var IsHandled: Boolean)
begin
end;

KVSPSAOnAfterCheckSalesDocument(Record Sales Header) :#

Summary: Event fired after checking and validating a sales document. Allows extensions to perform additional validation or processing after standard document checks. This event enables custom validation logic to be applied to sales documents after the standard validation procedures have been completed during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCheckSalesDocument(SalesHeader: Record "Sales Header"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterCheckSalesDocument', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCheckSalesDocument(SalesHeader: Record "Sales Header")
begin
end;

Parameters:

  • SalesHeader: The sales header that has been checked and validated.

KVSPSAOnAfterCopyJobPSPLineTemplateToSalesLine(Record Sales Line, Record KVSPSA Job PSP Line Template) :#

Summary: Event fired after copying data from a job PSP line template to a sales line. Allows extensions to perform additional field transfers or custom processing. This event enables extensions to implement custom data transfer logic when creating sales lines from job PSP line templates during sales document to job management processes.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCopyJobPSPLineTemplateToSalesLine(var SalesLine: Record "Sales Line"; JobPSPLineTemplate: Record "KVSPSA Job PSP Line Template"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterCopyJobPSPLineTemplateToSalesLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCopyJobPSPLineTemplateToSalesLine(var SalesLine: Record "Sales Line"; JobPSPLineTemplate: Record "KVSPSA Job PSP Line Template")
begin
end;

Parameters:

  • SalesLine: The sales line that was created and populated from the template. Can be modified by extensions.
  • JobPSPLineTemplate: The job PSP line template that provided the source data for the sales line creation.

KVSPSAOnAfterCreatePreparationLines(Record Sales Line) :#

Summary: Event fired after creating preparation lines for sales document to job management. Allows extensions to perform additional processing after preparation lines are created. This event enables custom post-processing actions after sales line preparation has been completed as part of the sales document to job management workflow.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCreatePreparationLines(var SalesLine: Record "Sales Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterCreatePreparationLines', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCreatePreparationLines(var SalesLine: Record "Sales Line")
begin
end;

Parameters:

  • SalesLine: The sales line for which preparation lines were created. Can be modified by extensions.

KVSPSAOnBeforeInsertSalesLineFromJobPSPLineTemplate(Record Sales Line, Record KVSPSA Job PSP Line Template) :#

Summary: Event fired before inserting a sales line created from a job PSP line template. Allows extensions to modify the sales line before insertion. This event enables custom modifications to sales lines before they are inserted into the database when creating sales lines from job PSP line templates.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeInsertSalesLineFromJobPSPLineTemplate(var SalesLine: Record "Sales Line"; JobPSPLineTemplate: Record "KVSPSA Job PSP Line Template"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeInsertSalesLineFromJobPSPLineTemplate', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeInsertSalesLineFromJobPSPLineTemplate(var SalesLine: Record "Sales Line"; JobPSPLineTemplate: Record "KVSPSA Job PSP Line Template")
begin
end;

Parameters:

  • SalesLine: The sales line about to be inserted. Can be modified by extensions.
  • JobPSPLineTemplate: The job PSP line template providing the source data for the sales line creation.

KVSPSAOnCollectSalesLinesOnAfterSetFilterSalesLine(Record Sales Header, Record Sales Line) :#

Summary: Event fired after setting filters on sales lines during the collection process. Allows extensions to modify sales line filtering criteria. This event enables custom filtering logic to be applied to sales lines during collection processes in sales document to job management workflows.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCollectSalesLinesOnAfterSetFilterSalesLine(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCollectSalesLinesOnAfterSetFilterSalesLine', '', false, false)]
local procedure DoSomethingKVSPSAOnCollectSalesLinesOnAfterSetFilterSalesLine(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line")
begin
end;

Parameters:

  • SalesHeader: The sales header providing context for the sales line collection.
  • SalesLine: The sales line record with filters applied. Filters can be modified by extensions.

KVSPSAOnCollectSalesLinesOnBeforeMarkSalesLine(Record Sales Line, Record Sales Line, Boolean) :#

Summary: Event fired before marking a sales line during the collection process. Allows extensions to customize which sales lines are marked for processing. This event enables custom logic for determining which sales lines should be marked during collection processes, allowing extensions to skip or modify the marking behavior.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCollectSalesLinesOnBeforeMarkSalesLine(var SalesLine: Record "Sales Line"; var MarkedSalesLine: Record "Sales Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCollectSalesLinesOnBeforeMarkSalesLine', '', false, false)]
local procedure DoSomethingKVSPSAOnCollectSalesLinesOnBeforeMarkSalesLine(var SalesLine: Record "Sales Line"; var MarkedSalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesLine: The sales line being evaluated for marking.
  • MarkedSalesLine: The marked sales line record used for tracking selected lines.
  • IsHandled: Set to true to skip the standard marking logic for this sales line.

KVSPSAOnAfterInitWBSLine(Record KVSPSAJobPSPLine, Record KVSPSAJobPSPHeader, Record KVSPSASalesLineWBSPrepare) :#

Summary: Event fired after initializing a WBS (Work Breakdown Structure) line during sales document to job management processing. Allows extensions to modify the initialized WBS line. This event enables custom field initialization or business logic to be applied to job PSP lines after they have been created and initialized from sales document data.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterInitWBSLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; JobPSPHeader: Record "KVSPSAJobPSPHeader"; var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterInitWBSLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterInitWBSLine(var JobPSPLine: Record "KVSPSAJobPSPLine"; JobPSPHeader: Record "KVSPSAJobPSPHeader"; var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare")
begin
end;

Parameters:

  • JobPSPLine: The job PSP line that was initialized. Can be modified by extensions.
  • JobPSPHeader: The parent job PSP header for context and reference.
  • SalesLineWBSPrepare: The sales line WBS preparation record that provided data for the initialization.

KVSPSAOnAfterReleaseSalesHeader(Record Sales Header) :#

Obsolete

This Element will be removed or changed with a future Version of the App.

[Obsolete('Event not used anymore.', '23.0')]
[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterReleaseSalesHeader(var SalesHeader: Record "Sales Header"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterReleaseSalesHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterReleaseSalesHeader(var SalesHeader: Record "Sales Header")
begin
end;

KVSPSAOnAfterReopenSalesHeader(Record Sales Header) :#

Obsolete

This Element will be removed or changed with a future Version of the App.

[Obsolete('Event not used anymore.', '23.0')]
[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterReopenSalesHeader(var SalesHeader: Record "Sales Header"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterReopenSalesHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterReopenSalesHeader(var SalesHeader: Record "Sales Header")
begin
end;

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

Summary: Event fired after setting job budget line quantity during sales document to job management processing. Allows extensions to perform additional processing after quantity updates. This event enables custom logic to be applied after job budget line quantities have been updated from sales line quantities during the sales-to-job conversion process.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterSetJobBudgetLineQuantity(var JobBudgetLine: Record "KVSPSA Job Budget Line"; SalesLine: Record "Sales Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterSetJobBudgetLineQuantity', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterSetJobBudgetLineQuantity(var JobBudgetLine: Record "KVSPSA Job Budget Line"; SalesLine: Record "Sales Line")
begin
end;

Parameters:

  • JobBudgetLine: The job budget line that had its quantity updated. Can be modified by extensions.
  • SalesLine: The sales line that provided the quantity information for the budget line update.

KVSPSAOnAfterSetJobWBSLineQuantity(Record KVSPSAJobPSPLine, Record Sales Line) :#

Summary: Event fired after setting job WBS (Work Breakdown Structure) line quantity during sales document to job management processing. Allows extensions to perform additional processing after quantity updates. This event enables custom logic to be applied after job PSP line quantities have been updated from sales line quantities during the sales-to-job conversion process.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterSetJobWBSLineQuantity(var JobPSPLine: Record "KVSPSAJobPSPLine"; SalesLine: Record "Sales Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterSetJobWBSLineQuantity', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterSetJobWBSLineQuantity(var JobPSPLine: Record "KVSPSAJobPSPLine"; SalesLine: Record "Sales Line")
begin
end;

Parameters:

  • JobPSPLine: The job PSP line that had its quantity updated. Can be modified by extensions.
  • SalesLine: The sales line that provided the quantity information for the PSP line update.

KVSPSAOnBeforeCreateBudgetLine(Record Sales Line, Record KVSPSASalesLineWBSPrepare, Record KVSPSAJobPSPLine, Boolean, Boolean) :#

Summary: Event fired before creating a budget line during sales document to job management processing. Allows extensions to customize or skip budget line creation. This event enables extensions to implement custom budget line creation logic or bypass standard budget line creation when specific conditions are met during sales-to-job conversion.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCreateBudgetLine(SalesLine: Record "Sales Line"; var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var JobPSPLine: Record "KVSPSAJobPSPLine"; ConnectSalesLineToJobBudgetLine: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeCreateBudgetLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCreateBudgetLine(SalesLine: Record "Sales Line"; var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var JobPSPLine: Record "KVSPSAJobPSPLine"; ConnectSalesLineToJobBudgetLine: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesLine: The sales line being processed for budget line creation.
  • SalesLineWBSPrepare: The sales line WBS preparation record providing context for budget line creation.
  • JobPSPLine: The related job PSP line that will be associated with the budget line.
  • ConnectSalesLineToJobBudgetLine: Indicates whether the sales line should be connected to the job budget line.
  • IsHandled: Set to true to skip the standard budget line creation process.

KVSPSAOnBeforeReleaseSalesHeader(Record Sales Header) :#

Obsolete

This Element will be removed or changed with a future Version of the App.

[Obsolete('Event not used anymore.', '23.0')]
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeReleaseSalesHeader(var SalesHeader: Record "Sales Header"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeReleaseSalesHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeReleaseSalesHeader(var SalesHeader: Record "Sales Header")
begin
end;

KVSPSAOnBeforeReopenSalesHeader(Record Sales Header) :#

Obsolete

This Element will be removed or changed with a future Version of the App.

[Obsolete('Event not used anymore.', '23.0')]
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeReopenSalesHeader(var SalesHeader: Record "Sales Header"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeReopenSalesHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeReopenSalesHeader(var SalesHeader: Record "Sales Header")
begin
end;

KVSPSAOnBeforeSetJobBudgetLineQuantity(Record KVSPSA Job Budget Line, Record Sales Line, Boolean) :#

Summary: Event fired before setting job budget line quantity during sales document to job management processing. Allows extensions to customize or skip quantity setting. This event enables extensions to implement custom quantity calculation logic or bypass standard quantity setting when updating job budget lines from sales line data.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeSetJobBudgetLineQuantity(var JobBudgetLine: Record "KVSPSA Job Budget Line"; SalesLine: Record "Sales Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeSetJobBudgetLineQuantity', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeSetJobBudgetLineQuantity(var JobBudgetLine: Record "KVSPSA Job Budget Line"; SalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;

Parameters:

  • JobBudgetLine: The job budget line about to have its quantity updated. Can be modified by extensions.
  • SalesLine: The sales line providing the quantity information for the budget line update.
  • IsHandled: Set to true to skip the standard quantity setting process.

KVSPSAOnBeforeSetJobWBSLineQuantity(Record KVSPSAJobPSPLine, Record Sales Line, Boolean) :#

Summary: Event fired before setting job WBS (Work Breakdown Structure) line quantity during sales document to job management processing. Allows extensions to customize or skip quantity setting. This event enables extensions to implement custom quantity calculation logic or bypass standard quantity setting when updating job PSP lines from sales line data.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeSetJobWBSLineQuantity(var JobPSPLine: Record "KVSPSAJobPSPLine"; SalesLine: Record "Sales Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeSetJobWBSLineQuantity', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeSetJobWBSLineQuantity(var JobPSPLine: Record "KVSPSAJobPSPLine"; SalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;

Parameters:

  • JobPSPLine: The job PSP line about to have its quantity updated. Can be modified by extensions.
  • SalesLine: The sales line providing the quantity information for the PSP line update.
  • IsHandled: Set to true to skip the standard quantity setting process.

KVSPSAOnBeforeShowSuccessMessage(Record Sales Header, Boolean) :#

Summary: Event fired before showing the success message after sales document to job management processing is completed. Allows extensions to customize or skip the success message. This event enables extensions to implement custom success messaging or bypass the standard success message display after sales-to-job conversion processes complete.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeShowSuccessMessage(SalesHeader: Record "Sales Header"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeShowSuccessMessage', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeShowSuccessMessage(SalesHeader: Record "Sales Header"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesHeader: The sales header that was processed during the sales-to-job conversion.
  • IsHandled: Set to true to skip the standard success message display.

KVSPSAOnCheckGetWBSHeaderOnBeforeModifyCreatedWBSHeader(Record KVSPSAJobPSPHeader) :#

Summary: Event fired before modifying a created WBS header during WBS header checking and processing. Allows extensions to modify WBS header properties before updates. This event enables custom modifications to job PSP headers after they have been created but before they are saved during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCheckGetWBSHeaderOnBeforeModifyCreatedWBSHeader(var JobPSPHeader: Record "KVSPSAJobPSPHeader"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCheckGetWBSHeaderOnBeforeModifyCreatedWBSHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnCheckGetWBSHeaderOnBeforeModifyCreatedWBSHeader(var JobPSPHeader: Record "KVSPSAJobPSPHeader")
begin
end;

Parameters:

  • JobPSPHeader: The job PSP header about to be modified. Can be modified by extensions.

KVSPSAOnCheckPrepareLinesAfterCheckPrepareLine(Record KVSPSASalesLineWBSPrepare) :#

Summary: Event fired after checking a preparation line during sales line preparation processing. Allows extensions to perform additional validation or processing on preparation lines. This event enables custom post-processing actions after sales line WBS preparation records have been validated and checked during sales document to job management workflows.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCheckPrepareLinesAfterCheckPrepareLine(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCheckPrepareLinesAfterCheckPrepareLine', '', false, false)]
local procedure DoSomethingKVSPSAOnCheckPrepareLinesAfterCheckPrepareLine(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare")
begin
end;

Parameters:

  • SalesLineWBSPrepare: The sales line WBS preparation record that was checked. Can be modified by extensions.

KVSPSAOnConnectSalesHeaderWithJobNoOnBeforeModifySalesHeader(Record Sales Header, Code[20]) :#

Summary: Event fired before modifying a sales header when connecting it with a job number. Allows extensions to perform additional processing before the job connection is saved. This event enables custom modifications to sales headers before they are updated with job number connections during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnConnectSalesHeaderWithJobNoOnBeforeModifySalesHeader(var SalesHeader: Record "Sales Header"; JobNo: Code[20]): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnConnectSalesHeaderWithJobNoOnBeforeModifySalesHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnConnectSalesHeaderWithJobNoOnBeforeModifySalesHeader(var SalesHeader: Record "Sales Header"; JobNo: Code[20])
begin
end;

Parameters:

  • SalesHeader: The sales header about to be modified with the job connection. Can be modified by extensions.
  • JobNo: The job number being connected to the sales header.

KVSPSAOnConnectSalesLineWithJobBudgetLineOnBeforeModifySalesLine(Record Sales Line, Record KVSPSAJobPSPLine, Record KVSPSA Job Budget Line) :#

Summary: Event fired before modifying a sales line when connecting it with a job budget line. Allows extensions to perform additional processing before the budget line connection is saved. This event enables custom modifications to sales lines before they are updated with job budget line connections during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnConnectSalesLineWithJobBudgetLineOnBeforeModifySalesLine(var SalesLine: Record "Sales Line"; JobPSPLine: Record "KVSPSAJobPSPLine"; JobBudgetLine: Record "KVSPSA Job Budget Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnConnectSalesLineWithJobBudgetLineOnBeforeModifySalesLine', '', false, false)]
local procedure DoSomethingKVSPSAOnConnectSalesLineWithJobBudgetLineOnBeforeModifySalesLine(var SalesLine: Record "Sales Line"; JobPSPLine: Record "KVSPSAJobPSPLine"; JobBudgetLine: Record "KVSPSA Job Budget Line")
begin
end;

Parameters:

  • SalesLine: The sales line about to be modified with the budget line connection. Can be modified by extensions.
  • JobPSPLine: The job PSP line providing context for the budget line connection.
  • JobBudgetLine: The job budget line being connected to the sales line.

KVSPSAOnConnectSalesLineWithPSPLineOnBeforeModifySalesLine(Record Sales Line, Record KVSPSAJobPSPLine) :#

Summary: Event fired before modifying a sales line when connecting it with a PSP (Project Structure Plan) line. Allows extensions to perform additional processing before the PSP connection is saved. This event enables custom modifications to sales lines before they are updated with job PSP line connections during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnConnectSalesLineWithPSPLineOnBeforeModifySalesLine(var SalesLine: Record "Sales Line"; JobPSPLine: Record "KVSPSAJobPSPLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnConnectSalesLineWithPSPLineOnBeforeModifySalesLine', '', false, false)]
local procedure DoSomethingKVSPSAOnConnectSalesLineWithPSPLineOnBeforeModifySalesLine(var SalesLine: Record "Sales Line"; JobPSPLine: Record "KVSPSAJobPSPLine")
begin
end;

Parameters:

  • SalesLine: The sales line about to be modified with the PSP line connection. Can be modified by extensions.
  • JobPSPLine: The job PSP line being connected to the sales line.

KVSPSAOnCopySalesDocumentTextFromSalesHeaderToJobOnBeforeSearchForTexts(Record Sales Header, Enum KVSKBATextPosition, Boolean) :#

Summary: Event fired before searching for texts when copying sales document text from sales header to job. Allows extensions to customize or skip the text search process. This event enables custom text handling logic when copying document texts from sales headers to job records during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCopySalesDocumentTextFromSalesHeaderToJobOnBeforeSearchForTexts(SalesHeader: Record "Sales Header"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCopySalesDocumentTextFromSalesHeaderToJobOnBeforeSearchForTexts', '', false, false)]
local procedure DoSomethingKVSPSAOnCopySalesDocumentTextFromSalesHeaderToJobOnBeforeSearchForTexts(SalesHeader: Record "Sales Header"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesHeader: The sales header containing the source text to be copied.
  • KVSKBATextPosition: The text position enumeration defining where the text should be placed in the job.
  • IsHandled: Set to true to skip the standard text search and copying process.

KVSPSAOnCopySalesDocumentTextFromSalesHeaderToPSPLineOnBeforeDeleteExistingJobTexts(Record Sales Header, Enum KVSKBATextPosition, Boolean) :#

Summary: Event fired before deleting existing job texts when copying sales document text from sales header to PSP line. Allows extensions to customize or skip the text deletion process. This event enables custom text handling logic when preparing to copy document texts from sales headers to job PSP lines, allowing control over existing text cleanup.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCopySalesDocumentTextFromSalesHeaderToPSPLineOnBeforeDeleteExistingJobTexts(SalesHeader: Record "Sales Header"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCopySalesDocumentTextFromSalesHeaderToPSPLineOnBeforeDeleteExistingJobTexts', '', false, false)]
local procedure DoSomethingKVSPSAOnCopySalesDocumentTextFromSalesHeaderToPSPLineOnBeforeDeleteExistingJobTexts(SalesHeader: Record "Sales Header"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesHeader: The sales header containing the source text to be copied.
  • KVSKBATextPosition: The text position enumeration defining where the text should be placed in the PSP line.
  • IsHandled: Set to true to skip the standard existing text deletion process.

KVSPSAOnCopySalesDocumentTextFromSalesLineToBudgetLineOnBeforeDeleteExistingJobTexts(Record Sales Line, Record KVSPSA Job Budget Line, Enum KVSKBATextPosition, Boolean) :#

Summary: Event fired before deleting existing job texts when copying sales document text from sales line to budget line. Allows extensions to customize or skip the text deletion process. This event enables custom text handling logic when preparing to copy document texts from sales lines to job budget lines, allowing control over existing text cleanup.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCopySalesDocumentTextFromSalesLineToBudgetLineOnBeforeDeleteExistingJobTexts(SalesLine: Record "Sales Line"; JobBudgetLine: Record "KVSPSA Job Budget Line"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCopySalesDocumentTextFromSalesLineToBudgetLineOnBeforeDeleteExistingJobTexts', '', false, false)]
local procedure DoSomethingKVSPSAOnCopySalesDocumentTextFromSalesLineToBudgetLineOnBeforeDeleteExistingJobTexts(SalesLine: Record "Sales Line"; JobBudgetLine: Record "KVSPSA Job Budget Line"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesLine: The sales line containing the source text to be copied.
  • JobBudgetLine: The job budget line that will receive the copied text.
  • KVSKBATextPosition: The text position enumeration defining where the text should be placed in the budget line.
  • IsHandled: Set to true to skip the standard existing text deletion process.

KVSPSAOnCopySalesDocumentTextFromSalesLineToBudgetLineOnBeforeSearchForTexts(Record Sales Line, Record KVSPSA Job Budget Line, Enum KVSKBATextPosition, Boolean) :#

Summary: Event fired before searching for texts when copying sales document text from sales line to budget line. Allows extensions to customize or skip the text search process. This event enables custom text handling logic when copying document texts from sales lines to job budget lines during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCopySalesDocumentTextFromSalesLineToBudgetLineOnBeforeSearchForTexts(SalesLine: Record "Sales Line"; JobBudgetLine: Record "KVSPSA Job Budget Line"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var Ishandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCopySalesDocumentTextFromSalesLineToBudgetLineOnBeforeSearchForTexts', '', false, false)]
local procedure DoSomethingKVSPSAOnCopySalesDocumentTextFromSalesLineToBudgetLineOnBeforeSearchForTexts(SalesLine: Record "Sales Line"; JobBudgetLine: Record "KVSPSA Job Budget Line"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var Ishandled: Boolean)
begin
end;

Parameters:

  • SalesLine: The sales line containing the source text to be copied.
  • JobBudgetLine: The job budget line that will receive the copied text.
  • KVSKBATextPosition: The text position enumeration defining where the text should be placed in the budget line.
  • Ishandled: Set to true to skip the standard text search and copying process.

KVSPSAOnCopySalesDocumentTextFromSalesLineToPSPLineOnBeforeDeleteExistingJobTexts(Record Sales Line, Record KVSPSAJobPSPLine, Enum KVSKBATextPosition, Boolean) :#

Summary: Event fired before deleting existing job texts when copying sales document text from sales line to PSP line. Allows extensions to customize or skip the text deletion process. This event enables custom text handling logic when preparing to copy document texts from sales lines to job PSP lines, allowing control over existing text cleanup.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCopySalesDocumentTextFromSalesLineToPSPLineOnBeforeDeleteExistingJobTexts(SalesLine: Record "Sales Line"; JobPSPLine: Record "KVSPSAJobPSPLine"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCopySalesDocumentTextFromSalesLineToPSPLineOnBeforeDeleteExistingJobTexts', '', false, false)]
local procedure DoSomethingKVSPSAOnCopySalesDocumentTextFromSalesLineToPSPLineOnBeforeDeleteExistingJobTexts(SalesLine: Record "Sales Line"; JobPSPLine: Record "KVSPSAJobPSPLine"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesLine: The sales line containing the source text to be copied.
  • JobPSPLine: The job PSP line that will receive the copied text.
  • KVSKBATextPosition: The text position enumeration defining where the text should be placed in the PSP line.
  • IsHandled: Set to true to skip the standard existing text deletion process.

KVSPSAOnCopySalesDocumentTextFromSalesLineToPSPLineOnBeforeSearchForTexts(Record Sales Line, Record KVSPSAJobPSPLine, Enum KVSKBATextPosition, Boolean) :#

Summary: Event fired before searching for texts when copying sales document text from sales line to PSP line. Allows extensions to customize or skip the text search process. This event enables custom text handling logic when copying document texts from sales lines to job PSP lines during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCopySalesDocumentTextFromSalesLineToPSPLineOnBeforeSearchForTexts(SalesLine: Record "Sales Line"; JobPSPLine: Record "KVSPSAJobPSPLine"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var Ishandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCopySalesDocumentTextFromSalesLineToPSPLineOnBeforeSearchForTexts', '', false, false)]
local procedure DoSomethingKVSPSAOnCopySalesDocumentTextFromSalesLineToPSPLineOnBeforeSearchForTexts(SalesLine: Record "Sales Line"; JobPSPLine: Record "KVSPSAJobPSPLine"; KVSKBATextPosition: Enum "KVSKBATextPosition"; var Ishandled: Boolean)
begin
end;

Parameters:

  • SalesLine: The sales line containing the source text to be copied.
  • JobPSPLine: The job PSP line that will receive the copied text.
  • KVSKBATextPosition: The text position enumeration defining where the text should be placed in the PSP line.
  • Ishandled: Set to true to skip the standard text search and copying process.

KVSPSAOnCreateBudgetLineOnBeforeModifyPreparedJobBudgetLine(Record KVSPSASalesLineWBSPrepare, Record Sales Line, Record KVSPSA Job Budget Line) :#

Summary: Event fired before modifying a prepared job budget line during budget line creation. Allows extensions to customize the job budget line before it is finalized. This event enables custom modifications to job budget lines after they have been prepared but before they are saved during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCreateBudgetLineOnBeforeModifyPreparedJobBudgetLine(SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesLine: Record "Sales Line"; var KVSPSAJobBudgetLine: Record "KVSPSA Job Budget Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCreateBudgetLineOnBeforeModifyPreparedJobBudgetLine', '', false, false)]
local procedure DoSomethingKVSPSAOnCreateBudgetLineOnBeforeModifyPreparedJobBudgetLine(SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesLine: Record "Sales Line"; var KVSPSAJobBudgetLine: Record "KVSPSA Job Budget Line")
begin
end;

Parameters:

  • SalesLineWBSPrepare: The sales line WBS preparation record providing context for the budget line creation.
  • SalesLine: The sales line providing data for the budget line creation.
  • KVSPSAJobBudgetLine: The prepared job budget line that can be modified by extensions.

KVSPSAOnCreateBudgetLineOnUnknownSalesLineType(Record KVSPSASalesLineWBSPrepare, Record KVSPSAJobPSPLine, Record Sales Line, Record KVSPSA Job Budget Line, Boolean) :#

Summary: Event fired when processing an unknown sales line type during budget line creation. Allows extensions to handle custom sales line types not supported by standard logic. This event enables extensions to implement custom budget line creation logic for specialized sales line types during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCreateBudgetLineOnUnknownSalesLineType(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; JobPSPLine: Record "KVSPSAJobPSPLine"; var SalesLine: Record "Sales Line"; var JobBudgetLine: Record "KVSPSA Job Budget Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCreateBudgetLineOnUnknownSalesLineType', '', false, false)]
local procedure DoSomethingKVSPSAOnCreateBudgetLineOnUnknownSalesLineType(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; JobPSPLine: Record "KVSPSAJobPSPLine"; var SalesLine: Record "Sales Line"; var JobBudgetLine: Record "KVSPSA Job Budget Line"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesLineWBSPrepare: The sales line WBS preparation record for the unknown line type. Can be modified by extensions.
  • JobPSPLine: The related job PSP line providing context for the budget line creation.
  • SalesLine: The sales line with the unknown type that needs processing. Can be modified by extensions.
  • JobBudgetLine: The job budget line being created for the unknown sales line type. Can be modified by extensions.
  • IsHandled: Set to true to indicate that the unknown sales line type has been handled by the extension.

KVSPSAOnCreateBudgetLineOnUnknownTargetResourceType(Record KVSPSASalesLineWBSPrepare, Record KVSPSAJobPSPLine, Record Sales Line, Record KVSPSA Job Budget Line, Boolean) :#

Summary: Event fired when processing an unknown target resource type during budget line creation. Allows extensions to handle custom resource types not supported by standard logic. This event enables extensions to implement custom budget line creation logic for specialized resource types during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCreateBudgetLineOnUnknownTargetResourceType(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; JobPSPLine: Record "KVSPSAJobPSPLine"; var SalesLine: Record "Sales Line"; var JobBudgetLine: Record "KVSPSA Job Budget Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCreateBudgetLineOnUnknownTargetResourceType', '', false, false)]
local procedure DoSomethingKVSPSAOnCreateBudgetLineOnUnknownTargetResourceType(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; JobPSPLine: Record "KVSPSAJobPSPLine"; var SalesLine: Record "Sales Line"; var JobBudgetLine: Record "KVSPSA Job Budget Line"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesLineWBSPrepare: The sales line WBS preparation record for the unknown resource type. Can be modified by extensions.
  • JobPSPLine: The related job PSP line providing context for the budget line creation.
  • SalesLine: The sales line with the unknown target resource type. Can be modified by extensions.
  • JobBudgetLine: The job budget line being created for the unknown resource type. Can be modified by extensions.
  • IsHandled: Set to true to indicate that the unknown target resource type has been handled by the extension.

KVSPSAOnCreateWBSFromPreparedLinesOnAfterSetFilters(Record Sales Header, Code[20], Record KVSPSASalesLineWBSPrepare) :#

Summary: Event fired after setting filters when creating WBS from prepared lines. Allows extensions to modify the filtering criteria for sales line WBS preparation processing. This event enables custom filter modifications to control which sales line WBS preparation records are processed during WBS creation from prepared lines.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCreateWBSFromPreparedLinesOnAfterSetFilters(SalesHeader: Record "Sales Header"; JobNo: Code[20]; var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCreateWBSFromPreparedLinesOnAfterSetFilters', '', false, false)]
local procedure DoSomethingKVSPSAOnCreateWBSFromPreparedLinesOnAfterSetFilters(SalesHeader: Record "Sales Header"; JobNo: Code[20]; var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare")
begin
end;

Parameters:

  • SalesHeader: The sales header providing context for the WBS creation process.
  • JobNo: The job number for which WBS lines are being created.
  • SalesLineWBSPrepare: The sales line WBS preparation record with filters applied. Filters can be modified by extensions.

KVSPSAOnCreateWBSOrBudgetLineOnUnknownTargetWBSLevel(Record KVSPSASalesLineWBSPrepare, Record KVSPSASalesLineWBSPrepare, Boolean) :#

Summary: Event fired when processing an unknown target WBS level during WBS or budget line creation. Allows extensions to handle custom WBS levels not supported by standard logic. This event enables extensions to implement custom logic for specialized WBS levels during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCreateWBSOrBudgetLineOnUnknownTargetWBSLevel(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var LastSalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCreateWBSOrBudgetLineOnUnknownTargetWBSLevel', '', false, false)]
local procedure DoSomethingKVSPSAOnCreateWBSOrBudgetLineOnUnknownTargetWBSLevel(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var LastSalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesLineWBSPrepare: The current sales line WBS preparation record being processed. Can be modified by extensions.
  • LastSalesLineWBSPrepare: The previous sales line WBS preparation record for context. Can be modified by extensions.
  • IsHandled: Set to true to indicate that the unknown target WBS level has been handled by the extension.

KVSPSAOnInitWBSLineOnUnknownSalesLineType(Record KVSPSAJobPSPLine, Record KVSPSASalesLineWBSPrepare, Boolean) :#

Summary: Event fired when initializing a WBS line for an unknown sales line type. Allows extensions to handle custom sales line types not supported by standard WBS line initialization. This event enables extensions to implement custom WBS line initialization logic for specialized sales line types during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnInitWBSLineOnUnknownSalesLineType(var JobPSPLine: Record "KVSPSAJobPSPLine"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnInitWBSLineOnUnknownSalesLineType', '', false, false)]
local procedure DoSomethingKVSPSAOnInitWBSLineOnUnknownSalesLineType(var JobPSPLine: Record "KVSPSAJobPSPLine"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var IsHandled: Boolean)
begin
end;

Parameters:

  • JobPSPLine: The job PSP line being initialized for the unknown sales line type. Can be modified by extensions.
  • SalesLineWBSPrepare: The sales line WBS preparation record containing the unknown sales line type data.
  • IsHandled: Set to true to indicate that the unknown sales line type has been handled by the extension.

KVSPSAOnSetJobBudgetQuantitiesOnUnknownJobBudgetLineType(Record KVSPSA Job Budget Line, Decimal, Boolean) :#

Summary: Event fired when setting job budget quantities for an unknown job budget line type. Allows extensions to handle custom job budget line types not supported by standard quantity calculations. This event enables extensions to implement custom quantity calculation logic for specialized job budget line types during job quantity processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnSetJobBudgetQuantitiesOnUnknownJobBudgetLineType(var JobBudgetLine: Record "KVSPSA Job Budget Line"; var QtyPerBase: Decimal; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnSetJobBudgetQuantitiesOnUnknownJobBudgetLineType', '', false, false)]
local procedure DoSomethingKVSPSAOnSetJobBudgetQuantitiesOnUnknownJobBudgetLineType(var JobBudgetLine: Record "KVSPSA Job Budget Line"; var QtyPerBase: Decimal; var IsHandled: Boolean)
begin
end;

Parameters:

  • JobBudgetLine: The job budget line with the unknown type. Can be modified by extensions.
  • QtyPerBase: The calculated quantity per base unit. Can be modified by extensions.
  • IsHandled: Set to true to indicate that the unknown job budget line type has been handled by the extension.

KVSPSAOnAfterFindExistingPriceListLine(Record Price List Line, Boolean) :#

Summary: Event fired after finding an existing price list line during price list processing. Allows extensions to modify the found line or change the found status. This event enables custom processing when existing price list lines are located during sales document to job management price list operations.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterFindExistingPriceListLine(var PriceListLine: Record "Price List Line"; var FoundExistingLine: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterFindExistingPriceListLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterFindExistingPriceListLine(var PriceListLine: Record "Price List Line"; var FoundExistingLine: Boolean)
begin
end;

Parameters:

  • PriceListLine: The price list line that was found (or not found). Can be modified by extensions.
  • FoundExistingLine: Indicates whether an existing line was found. Can be modified by extensions to change the search result.

KVSPSAOnAfterInitNewPriceListLine(Record Sales Line, Record KVSPSASalesLineWBSPrepare, Record Price List Header, Record Price List Line) :#

Summary: Event fired after initializing a new price list line during price list creation. Allows extensions to modify the newly initialized price list line before further processing. This event enables custom field initialization and business logic to be applied to new price list lines created from sales document data during job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterInitNewPriceListLine(SalesLine: Record "Sales Line"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; PriceListHeader: Record "Price List Header"; var PriceListLine: Record "Price List Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnAfterInitNewPriceListLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterInitNewPriceListLine(SalesLine: Record "Sales Line"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; PriceListHeader: Record "Price List Header"; var PriceListLine: Record "Price List Line")
begin
end;

Parameters:

  • SalesLine: The sales line providing data for the price list line initialization.
  • SalesLineWBSPrepare: The sales line WBS preparation record providing context for the price list line.
  • PriceListHeader: The price list header that will contain the new price list line.
  • PriceListLine: The newly initialized price list line. Can be modified by extensions.

KVSPSAOnBeforeClosePriceList(Record Price List Header, Boolean) :#

Obsolete

This Element will be removed or changed with a future Version of the App.

[Obsolete('Use "KVSPSAOnBeforeClosePriceListAfterGetPriceListHeader" instead.', '23.1')]
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeClosePriceList(varPriceListHeader: Record "Price List Header"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeClosePriceList', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeClosePriceList(varPriceListHeader: Record "Price List Header"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeClosePriceListAfterGetPriceListHeader(Record Price List Header, Boolean) :#

Summary: Event fired before closing a price list after getting the price list header. Allows extensions to customize or skip the price list closing process. This event enables custom price list management logic when closing price lists after they have been retrieved during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeClosePriceListAfterGetPriceListHeader(var PriceListHeader: Record "Price List Header"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeClosePriceListAfterGetPriceListHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeClosePriceListAfterGetPriceListHeader(var PriceListHeader: Record "Price List Header"; var IsHandled: Boolean)
begin
end;

Parameters:

  • PriceListHeader: The price list header about to be closed.
  • IsHandled: Set to true to skip the standard price list closing process.

KVSPSAOnBeforeCreateJobPriceForWBSPrepareLineSalesLineWBSPrepare(Record KVSPSASalesLineWBSPrepare, Boolean) :#

Summary: Event fired before creating job price for WBS preparation line. Allows extensions to customize or skip the job price creation process. This event enables custom price creation logic when creating job prices from sales line WBS preparation data during sales document to job management processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCreateJobPriceForWBSPrepareLineSalesLineWBSPrepare(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeCreateJobPriceForWBSPrepareLineSalesLineWBSPrepare', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCreateJobPriceForWBSPrepareLineSalesLineWBSPrepare(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesLineWBSPrepare: The sales line WBS preparation record being processed for job price creation.
  • IsHandled: Set to true to skip the standard job price creation process.

KVSPSAOnBeforeOpenPriceList(Record Price List Header, Boolean) :#

Summary: Event fired before opening a price list during price list processing. Allows extensions to customize or skip the price list opening process. This event enables custom price list management logic when opening price lists during sales document to job management price processing operations.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeOpenPriceList(var PriceListHeader: Record "Price List Header"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnBeforeOpenPriceList', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeOpenPriceList(var PriceListHeader: Record "Price List Header"; var IsHandled: Boolean)
begin
end;

Parameters:

  • PriceListHeader: The price list header about to be opened.
  • IsHandled: Set to true to skip the standard price list opening process.

KVSPSAOnCreateLineDiscountPriceListLineOnBeforeInsertNewPriceListLine(Record Sales Line, Record KVSPSASalesLineWBSPrepare, Record Sales Header, Record Price List Header, Record Price List Line) :#

Summary: Event fired before inserting a new line discount price list line. Allows extensions to modify the price list line before insertion. This event enables custom modifications to line discount price list lines before they are inserted during sales document to job management price processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCreateLineDiscountPriceListLineOnBeforeInsertNewPriceListLine(SalesLine: Record "Sales Line"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesHeader: Record "Sales Header"; PriceListHeader: Record "Price List Header"; var PriceListLine: Record "Price List Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCreateLineDiscountPriceListLineOnBeforeInsertNewPriceListLine', '', false, false)]
local procedure DoSomethingKVSPSAOnCreateLineDiscountPriceListLineOnBeforeInsertNewPriceListLine(SalesLine: Record "Sales Line"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesHeader: Record "Sales Header"; PriceListHeader: Record "Price List Header"; var PriceListLine: Record "Price List Line")
begin
end;

Parameters:

  • SalesLine: The sales line providing data for the line discount price list line.
  • SalesLineWBSPrepare: The sales line WBS preparation record providing context for the price list line.
  • SalesHeader: The sales header providing additional context for the price list line creation.
  • PriceListHeader: The price list header that will contain the new price list line.
  • PriceListLine: The price list line about to be inserted. Can be modified by extensions.

KVSPSAOnCreateUnitPriceListLineOnBeforeFindExistingPriceListLine(Record Sales Line, Record KVSPSASalesLineWBSPrepare, Record Sales Header, Record Price List Header, Record Price List Line) :#

Summary: Event fired before finding an existing price list line during unit price list line creation. Allows extensions to modify the search criteria or price list line. This event enables custom price list line search logic when looking for existing unit price list lines during sales document to job management price processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCreateUnitPriceListLineOnBeforeFindExistingPriceListLine(SalesLine: Record "Sales Line"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesHeader: Record "Sales Header"; PriceListHeader: Record "Price List Header"; var PriceListLine: Record "Price List Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCreateUnitPriceListLineOnBeforeFindExistingPriceListLine', '', false, false)]
local procedure DoSomethingKVSPSAOnCreateUnitPriceListLineOnBeforeFindExistingPriceListLine(SalesLine: Record "Sales Line"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesHeader: Record "Sales Header"; PriceListHeader: Record "Price List Header"; var PriceListLine: Record "Price List Line")
begin
end;

Parameters:

  • SalesLine: The sales line providing data for the price list line search.
  • SalesLineWBSPrepare: The sales line WBS preparation record providing context for the price list line search.
  • SalesHeader: The sales header providing additional context for the price list line search.
  • PriceListHeader: The price list header being searched for existing price list lines.
  • PriceListLine: The price list line being used for the search. Can be modified by extensions.

KVSPSAOnCreateUnitPriceListLineOnBeforeInsertNewPriceListLine(Record Sales Line, Record KVSPSASalesLineWBSPrepare, Record Sales Header, Record Price List Header, Record Price List Line) :#

Summary: Event fired before inserting a new unit price list line. Allows extensions to modify the price list line before insertion. This event enables custom modifications to unit price list lines before they are inserted during sales document to job management price processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCreateUnitPriceListLineOnBeforeInsertNewPriceListLine(SalesLine: Record "Sales Line"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesHeader: Record "Sales Header"; PriceListHeader: Record "Price List Header"; var PriceListLine: Record "Price List Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnCreateUnitPriceListLineOnBeforeInsertNewPriceListLine', '', false, false)]
local procedure DoSomethingKVSPSAOnCreateUnitPriceListLineOnBeforeInsertNewPriceListLine(SalesLine: Record "Sales Line"; SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesHeader: Record "Sales Header"; PriceListHeader: Record "Price List Header"; var PriceListLine: Record "Price List Line")
begin
end;

Parameters:

  • SalesLine: The sales line providing data for the unit price list line.
  • SalesLineWBSPrepare: The sales line WBS preparation record providing context for the price list line.
  • SalesHeader: The sales header providing additional context for the price list line creation.
  • PriceListHeader: The price list header that will contain the new price list line.
  • PriceListLine: The price list line about to be inserted. Can be modified by extensions.

KVSPSAOnGetPriceListHeaderOnBeforeInsertNewPriceListHeader(Code[20], Code[10], Boolean, Record Price List Header) :#

Summary: Event fired before inserting a new price list header during price list header creation. Allows extensions to modify the price list header before insertion. This event enables custom modifications to price list headers before they are inserted during sales document to job management price list processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnGetPriceListHeaderOnBeforeInsertNewPriceListHeader(JobNo: Code[20]; CurrencyCode: Code[10]; ForDiscount: Boolean; var PriceListHeader: Record "Price List Header"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnGetPriceListHeaderOnBeforeInsertNewPriceListHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnGetPriceListHeaderOnBeforeInsertNewPriceListHeader(JobNo: Code[20]; CurrencyCode: Code[10]; ForDiscount: Boolean; var PriceListHeader: Record "Price List Header")
begin
end;

Parameters:

  • JobNo: The job number associated with the price list header.
  • CurrencyCode: The currency code for the price list header.
  • ForDiscount: Indicates whether the price list header is for discount purposes.
  • PriceListHeader: The price list header about to be inserted. Can be modified by extensions.

KVSPSAOnGetPriceListHeaderOnBeforeModifyNewPriceListHeader(Code[20], Code[10], Boolean, Record Price List Header) :#

Summary: Event fired before modifying a new price list header during price list header creation. Allows extensions to modify the price list header before it is saved. This event enables custom modifications to price list headers before they are modified and saved during sales document to job management price list processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnGetPriceListHeaderOnBeforeModifyNewPriceListHeader(JobNo: Code[20]; CurrencyCode: Code[10]; ForDiscount: Boolean; var PriceListHeader: Record "Price List Header"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnGetPriceListHeaderOnBeforeModifyNewPriceListHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnGetPriceListHeaderOnBeforeModifyNewPriceListHeader(JobNo: Code[20]; CurrencyCode: Code[10]; ForDiscount: Boolean; var PriceListHeader: Record "Price List Header")
begin
end;

Parameters:

  • JobNo: The job number associated with the price list header.
  • CurrencyCode: The currency code for the price list header.
  • ForDiscount: Indicates whether the price list header is for discount purposes.
  • PriceListHeader: The price list header about to be modified. Can be modified by extensions.

KVSPSAOnGetPriceListHeaderOnFindExistingPriceListHeader(Code[20], Code[10], Boolean, Record Price List Header) :#

Summary: Event fired when finding an existing price list header during price list header retrieval. Allows extensions to modify the search criteria or found header. This event enables custom price list header search logic when looking for existing price list headers during sales document to job management price processing.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnGetPriceListHeaderOnFindExistingPriceListHeader(JobNo: Code[20]; CurrencyCode: Code[10]; ForDiscount: Boolean; var PriceListHeader: Record "Price List Header"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnGetPriceListHeaderOnFindExistingPriceListHeader', '', false, false)]
local procedure DoSomethingKVSPSAOnGetPriceListHeaderOnFindExistingPriceListHeader(JobNo: Code[20]; CurrencyCode: Code[10]; ForDiscount: Boolean; var PriceListHeader: Record "Price List Header")
begin
end;

Parameters:

  • JobNo: The job number used in the price list header search.
  • CurrencyCode: The currency code used in the price list header search.
  • ForDiscount: Indicates whether the search is for discount price list headers.
  • PriceListHeader: The price list header being used for the search. Can be modified by extensions.

KVSPSAOnUpdateSalesLineWBSPrepareAfterFoundTargetWorkPackage(Record KVSPSASalesLineWBSPrepare, Record Sales Line, Code[20], Boolean) :#

Summary: Event fired after finding a target work package during sales line WBS preparation updates. Allows extensions to customize the target work package processing. This event enables custom processing when target work packages are found and assigned during sales line WBS preparation updates in sales document to job management workflows.

[IntegrationEvent(false, false)]
local procedure KVSPSAOnUpdateSalesLineWBSPrepareAfterFoundTargetWorkPackage(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesLine: Record "Sales Line"; var TargetWorkPackageCode: Code[20]; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSASalesDocToJobMgt", 'KVSPSAOnUpdateSalesLineWBSPrepareAfterFoundTargetWorkPackage', '', false, false)]
local procedure DoSomethingKVSPSAOnUpdateSalesLineWBSPrepareAfterFoundTargetWorkPackage(var SalesLineWBSPrepare: Record "KVSPSASalesLineWBSPrepare"; SalesLine: Record "Sales Line"; var TargetWorkPackageCode: Code[20]; var IsHandled: Boolean)
begin
end;

Parameters:

  • SalesLineWBSPrepare: The sales line WBS preparation record being updated. Can be modified by extensions.
  • SalesLine: The sales line providing context for the target work package processing.
  • TargetWorkPackageCode: The target work package code that was found. Can be modified by extensions.
  • IsHandled: Set to true to skip the standard target work package processing.