Skip to content

KVSPSACreateInvoiceFromInvSug#

Procedures#

GetSuitableInvoiceResource(Code[20], Code[20]) : Code[20]#

Summary: Find a suitable billing resource for the given Gen. Prod. Posting Group. where "KVSPSABilling Resource" and "KVSPSAUseable in Sales" are set to "true" and "Blocked" is set to "false".

procedure GetSuitableInvoiceResource(GenProdPostingGroup: Code[20]; ResourceNoOrResourceGroupNo: Code[20]): Code[20]

Parameters:

  • GenProdPostingGroup: Gen. Prod. Posting Group from the source resource / resource group
  • ResourceNoOrResourceGroupNo: No. from the source resource / resource group

Returns:

MainFunction(Code[20], Code[20]) :#

procedure MainFunction(WorksheetTemplate: Code[20]; WorksheetName: Code[20]): 

SetSalesLineTypeAndNoByWorkPackage(Record Sales Line, Record KVSPSAWork Package) :#

Summary: Set the Invoice Type and Invoice No. by validate the fields with values from the WorkPackage.

procedure SetSalesLineTypeAndNoByWorkPackage(var SalesLine: Record "Sales Line"; WorkPackage: Record "KVSPSAWork Package"): 

Parameters:

  • SalesLine:
  • WorkPackage:

SetSalesLineTypeAndNoForInvoiceLedgerEntryTypeGLAccount(Record Sales Line, Record KVSPSAInvoice Ledger Entry) : Boolean#

Summary: The functions calls the Procedure SetSalesLineTypeAndNoByWorkPackage to set Type and No. based on Invoice Values. After that it may update the description from the PSP

procedure SetSalesLineTypeAndNoForInvoiceLedgerEntryTypeGLAccount(var SalesLine: Record "Sales Line"; InvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry"): Boolean

Parameters:

  • SalesLine:
  • InvoiceLedgerEntry:

Returns:

Events#

KVSPSAOnAfterCopyInvoiceSuggestionLineFieldToSalesLine(Record Sales Line, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCopyInvoiceSuggestionLineFieldToSalesLine(var SalesLine: Record "Sales Line"; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterCopyInvoiceSuggestionLineFieldToSalesLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCopyInvoiceSuggestionLineFieldToSalesLine(var SalesLine: Record "Sales Line"; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterCreateInvoiceEntryForPreparingSalesOrder(Record Sales Line, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCreateInvoiceEntryForPreparingSalesOrder(var SalesLine: Record "Sales Line"; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterCreateInvoiceEntryForPreparingSalesOrder', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCreateInvoiceEntryForPreparingSalesOrder(var SalesLine: Record "Sales Line"; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterCreateInvoiceLine(Record Sales Line, Record Sales Header, Integer, Decimal, Record KVSPSAInvoice Ledger Entry) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCreateInvoiceLine(var NewSalesLine: Record "Sales Line"; var TempSalesHeader: Record "Sales Header" temporary; NextLineNo: Integer; DeductionQty: Decimal; var TempInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterCreateInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCreateInvoiceLine(var NewSalesLine: Record "Sales Line"; var TempSalesHeader: Record "Sales Header" temporary; NextLineNo: Integer; DeductionQty: Decimal; var TempInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary)
begin
end;

KVSPSAOnAfterCreateInvoicesFromInvSugLines(Code[20], Code[20], Integer, Code[20], Code[20], Integer, Code[20], Integer, Code[20], Integer, Code[20], Code[20], Code[20]) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterCreateInvoicesFromInvSugLines(WorksheetTemplate: Code[20]; WorksheetName: Code[20]; var InvoiceCounter: Integer; var FirstInvoiceNo: Code[20]; var LastInvoiceNo: Code[20]; var PrepareCounter: Integer; var PreparedSalesOrderNo: Code[20]; var JobPaymInvoicesCounter: Integer; var JobPaymInvoiceNo: Code[20]; var JobPaymCrMemosCounter: Integer; var JobPaymCrMemoNo: Code[20]; var LastJobPaymentInvoiceNo: Code[20]; var LastJobPaymentCreditMemoNo: Code[20]): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterCreateInvoicesFromInvSugLines', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterCreateInvoicesFromInvSugLines(WorksheetTemplate: Code[20]; WorksheetName: Code[20]; var InvoiceCounter: Integer; var FirstInvoiceNo: Code[20]; var LastInvoiceNo: Code[20]; var PrepareCounter: Integer; var PreparedSalesOrderNo: Code[20]; var JobPaymInvoicesCounter: Integer; var JobPaymInvoiceNo: Code[20]; var JobPaymCrMemosCounter: Integer; var JobPaymCrMemoNo: Code[20]; var LastJobPaymentInvoiceNo: Code[20]; var LastJobPaymentCreditMemoNo: Code[20])
begin
end;

KVSPSAOnAfterDecideIfShouldCreateNewInvoiceInCreateInvoicesForJobPaymentPlan(Record KVSPSAInvoice Suggestion Line, Boolean, Record Sales Header, Code[20], Code[20], Record Sales Header) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterDecideIfShouldCreateNewInvoiceInCreateInvoicesForJobPaymentPlan(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var CreateNewInvoice: Boolean; var SalesHeader: Record "Sales Header"; var WorksheetTemplate: Code[20]; var WorksheetName: Code[20]; var TempSalesHeader: Record "Sales Header" temporary): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterDecideIfShouldCreateNewInvoiceInCreateInvoicesForJobPaymentPlan', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterDecideIfShouldCreateNewInvoiceInCreateInvoicesForJobPaymentPlan(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var CreateNewInvoice: Boolean; var SalesHeader: Record "Sales Header"; var WorksheetTemplate: Code[20]; var WorksheetName: Code[20]; var TempSalesHeader: Record "Sales Header" temporary)
begin
end;

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

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterGetDescriptionFromBudgetLineForSalesInvoiceLineCreatedFromInvoiceSuggestionLine(JobBudgetLine: Record "KVSPSA Job Budget Line"; var NewSalesLine: Record "Sales Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterGetDescriptionFromBudgetLineForSalesInvoiceLineCreatedFromInvoiceSuggestionLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterGetDescriptionFromBudgetLineForSalesInvoiceLineCreatedFromInvoiceSuggestionLine(JobBudgetLine: Record "KVSPSA Job Budget Line"; var NewSalesLine: Record "Sales Line")
begin
end;

KVSPSAOnAfterInsertInvoicesForJobPaymPlann(Record Sales Line, Record Sales Header, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterInsertInvoicesForJobPaymPlann(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterInsertInvoicesForJobPaymPlann', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterInsertInvoicesForJobPaymPlann(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterPrepareSalesOrder(Record Sales Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterPrepareSalesOrder(var TempSalesLine: Record "Sales Line" temporary): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterPrepareSalesOrder', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterPrepareSalesOrder(var TempSalesLine: Record "Sales Line" temporary)
begin
end;

KVSPSAOnAfterRemoveFiltersOnItemOrGLAccountTempGlobalInvoiceLedgerEntryAfterCreateCollectiveInvoiceLine(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterRemoveFiltersOnItemOrGLAccountTempGlobalInvoiceLedgerEntryAfterCreateCollectiveInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterRemoveFiltersOnItemOrGLAccountTempGlobalInvoiceLedgerEntryAfterCreateCollectiveInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterRemoveFiltersOnItemOrGLAccountTempGlobalInvoiceLedgerEntryAfterCreateCollectiveInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterRemoveFiltersOnItemOrGLAccountTempGlobalInvoiceLedgerEntryAfterCreateInvoiceLine(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterRemoveFiltersOnItemOrGLAccountTempGlobalInvoiceLedgerEntryAfterCreateInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterRemoveFiltersOnItemOrGLAccountTempGlobalInvoiceLedgerEntryAfterCreateInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterRemoveFiltersOnItemOrGLAccountTempGlobalInvoiceLedgerEntryAfterCreateInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterRemoveFiltersOnResourceTempGlobalInvoiceLedgerEntryAfterCreateCollectiveInvoiceLine(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterRemoveFiltersOnResourceTempGlobalInvoiceLedgerEntryAfterCreateCollectiveInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterRemoveFiltersOnResourceTempGlobalInvoiceLedgerEntryAfterCreateCollectiveInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterRemoveFiltersOnResourceTempGlobalInvoiceLedgerEntryAfterCreateCollectiveInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterRemoveFiltersOnResourceTempGlobalInvoiceLedgerEntryAfterCreateInvoiceLine(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterRemoveFiltersOnResourceTempGlobalInvoiceLedgerEntryAfterCreateInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterRemoveFiltersOnResourceTempGlobalInvoiceLedgerEntryAfterCreateInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterRemoveFiltersOnResourceTempGlobalInvoiceLedgerEntryAfterCreateInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterSetFilterOnItemOrGLAccountTempGlobalInvoiceLedgerEntryBeforeCreateCollectiveInvoiceLine(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterSetFilterOnItemOrGLAccountTempGlobalInvoiceLedgerEntryBeforeCreateCollectiveInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterSetFilterOnItemOrGLAccountTempGlobalInvoiceLedgerEntryBeforeCreateCollectiveInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterSetFilterOnItemOrGLAccountTempGlobalInvoiceLedgerEntryBeforeCreateCollectiveInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterSetFilterOnItemOrGLAccountTempGlobalInvoiceLedgerEntryBeforeCreateInvoiceLine(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterSetFilterOnItemOrGLAccountTempGlobalInvoiceLedgerEntryBeforeCreateInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterSetFilterOnItemOrGLAccountTempGlobalInvoiceLedgerEntryBeforeCreateInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterSetFilterOnItemOrGLAccountTempGlobalInvoiceLedgerEntryBeforeCreateInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterSetFilterOnResourceTempGlobalInvoiceLedgerEntryBeforeCreateCollectiveInvoiceLine(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterSetFilterOnResourceTempGlobalInvoiceLedgerEntryBeforeCreateCollectiveInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterSetFilterOnResourceTempGlobalInvoiceLedgerEntryBeforeCreateCollectiveInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterSetFilterOnResourceTempGlobalInvoiceLedgerEntryBeforeCreateCollectiveInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnAfterSetFilterOnResourceTempGlobalInvoiceLedgerEntryBeforeCreateInvoiceLine(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnAfterSetFilterOnResourceTempGlobalInvoiceLedgerEntryBeforeCreateInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnAfterSetFilterOnResourceTempGlobalInvoiceLedgerEntryBeforeCreateInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnAfterSetFilterOnResourceTempGlobalInvoiceLedgerEntryBeforeCreateInvoiceLine(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnBeforeCreateInvoiceFromInvSug(Code[20], Code[20], Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCreateInvoiceFromInvSug(WorksheetTemplate: Code[20]; WorksheetName: Code[20]; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeCreateInvoiceFromInvSug', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCreateInvoiceFromInvSug(WorksheetTemplate: Code[20]; WorksheetName: Code[20]; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeCreateInvoiceLine(Record Sales Header, Integer, Decimal, Record KVSPSAInvoice Ledger Entry, Boolean) :#

Obsolete

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

[Obsolete('This event is obsolete. Please use KVSPSAOnBeforeCreateInvoiceLine2 instead.', '23.4')]
[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCreateInvoiceLine(var TempSalesHeader: Record "Sales Header" temporary; NextLineNo: Integer; DeductionQty: Decimal; var TempInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeCreateInvoiceLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCreateInvoiceLine(var TempSalesHeader: Record "Sales Header" temporary; NextLineNo: Integer; DeductionQty: Decimal; var TempInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeCreateInvoiceLine2(Record Sales Header, Integer, Decimal, Record KVSPSAInvoice Ledger Entry, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCreateInvoiceLine2(var TempSalesHeader: Record "Sales Header" temporary; var NextLineNo: Integer; DeductionQty: Decimal; var TempInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeCreateInvoiceLine2', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCreateInvoiceLine2(var TempSalesHeader: Record "Sales Header" temporary; var NextLineNo: Integer; DeductionQty: Decimal; var TempInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeCreateInvoicesFromInvSugLines(Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCreateInvoicesFromInvSugLines(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeCreateInvoicesFromInvSugLines', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCreateInvoicesFromInvSugLines(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnBeforeCreateSalesInvoiceLineFromInvoiceSuggestLine(Record KVSPSAInvoice Suggestion Line, Record Sales Header, Integer) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeCreateSalesInvoiceLineFromInvoiceSuggestLine(InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; SalesHeader: Record "Sales Header"; var NextLineNo: Integer): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeCreateSalesInvoiceLineFromInvoiceSuggestLine', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeCreateSalesInvoiceLineFromInvoiceSuggestLine(InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; SalesHeader: Record "Sales Header"; var NextLineNo: Integer)
begin
end;

KVSPSAOnBeforeFillSalesCrMemoHeaderFields(Record Sales Header, Record KVSPSAInvoice Suggestion Line, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFillSalesCrMemoHeaderFields(var SalesHeader: Record "Sales Header"; var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeFillSalesCrMemoHeaderFields', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFillSalesCrMemoHeaderFields(var SalesHeader: Record "Sales Header"; var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeFillSalesInvHeaderFields(Record Sales Header, Record KVSPSAInvoice Suggestion Line, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFillSalesInvHeaderFields(var SalesHeader: Record "Sales Header"; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeFillSalesInvHeaderFields', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFillSalesInvHeaderFields(var SalesHeader: Record "Sales Header"; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeFindTempSalesCrMemoHeaderWhenUpdateCreditMemos(Record Sales Header, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFindTempSalesCrMemoHeaderWhenUpdateCreditMemos(var TempSalesHeader: Record "Sales Header" temporary; var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeFindTempSalesCrMemoHeaderWhenUpdateCreditMemos', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFindTempSalesCrMemoHeaderWhenUpdateCreditMemos(var TempSalesHeader: Record "Sales Header" temporary; var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnBeforeFindTempSalesInvHeaderForPSP(Record Sales Header, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFindTempSalesInvHeaderForPSP(var TempSalesHeader: Record "Sales Header" temporary; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeFindTempSalesInvHeaderForPSP', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFindTempSalesInvHeaderForPSP(var TempSalesHeader: Record "Sales Header" temporary; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnBeforeFindTempSalesInvoiceHeaderWhenUpdateInvoices(Record Sales Header, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeFindTempSalesInvoiceHeaderWhenUpdateInvoices(var TempSalesHeader: Record "Sales Header" temporary; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeFindTempSalesInvoiceHeaderWhenUpdateInvoices', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeFindTempSalesInvoiceHeaderWhenUpdateInvoices(var TempSalesHeader: Record "Sales Header" temporary; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnBeforeModifySalesHeaderInCreateInvoicesForJobPaymentPlan(Record KVSPSAInvoice Suggestion Line, Boolean, Record Sales Header, Code[20], Code[20], Record Sales Header) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeModifySalesHeaderInCreateInvoicesForJobPaymentPlan(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var CreateNewInvoice: Boolean; var SalesHeader: Record "Sales Header"; var WorksheetTemplate: Code[20]; var WorksheetName: Code[20]; var TempSalesHeader: Record "Sales Header" temporary): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeModifySalesHeaderInCreateInvoicesForJobPaymentPlan', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeModifySalesHeaderInCreateInvoicesForJobPaymentPlan(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var CreateNewInvoice: Boolean; var SalesHeader: Record "Sales Header"; var WorksheetTemplate: Code[20]; var WorksheetName: Code[20]; var TempSalesHeader: Record "Sales Header" temporary)
begin
end;

KVSPSAOnBeforeMoreQtyNeededToShipSalesOrderLineErr(Record Sales Line, Decimal, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeMoreQtyNeededToShipSalesOrderLineErr(SalesLine: Record "Sales Line"; QtyToInvoice: Decimal; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeMoreQtyNeededToShipSalesOrderLineErr', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeMoreQtyNeededToShipSalesOrderLineErr(SalesLine: Record "Sales Line"; QtyToInvoice: Decimal; var IsHandled: Boolean)
begin
end;

KVSPSAOnBeforeOpenDocument(Record Sales Header, Enum Sales Document Type, Code[20], Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeOpenDocument(GlobalSalesHeader: Record "Sales Header"; DocumentType: Enum "Sales Document Type"; DocumentNo: Code[20]; var Ishandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeOpenDocument', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeOpenDocument(GlobalSalesHeader: Record "Sales Header"; DocumentType: Enum "Sales Document Type"; DocumentNo: Code[20]; var Ishandled: Boolean)
begin
end;

KVSPSAOnBeforeSetCurrentKeyForInvoiceLines(Record KVSPSAInvoice Suggestion Line, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnBeforeSetCurrentKeyForInvoiceLines(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnBeforeSetCurrentKeyForInvoiceLines', '', false, false)]
local procedure DoSomethingKVSPSAOnBeforeSetCurrentKeyForInvoiceLines(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var IsHandled: Boolean)
begin
end;

KVSPSAOnCreateDirectInvoiceHeaderOnBeforeCreateSeparateSalesLine(Record KVSPSAInvoice Suggestion Line, Record Sales Line, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnCreateDirectInvoiceHeaderOnBeforeCreateSeparateSalesLine(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var TestSalesLine: Record "Sales Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnCreateDirectInvoiceHeaderOnBeforeCreateSeparateSalesLine', '', false, false)]
local procedure DoSomethingKVSPSAOnCreateDirectInvoiceHeaderOnBeforeCreateSeparateSalesLine(var InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var TestSalesLine: Record "Sales Line"; var IsHandled: Boolean)
begin
end;

KVSPSAOnFillSalesInvHeaderFieldsForPSP(Record Sales Header, Record KVSPSAInvoice Suggestion Line, Boolean) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnFillSalesInvHeaderFieldsForPSP(var SalesHeader: Record "Sales Header"; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnFillSalesInvHeaderFieldsForPSP', '', false, false)]
local procedure DoSomethingKVSPSAOnFillSalesInvHeaderFieldsForPSP(var SalesHeader: Record "Sales Header"; InvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"; var IsHandled: Boolean)
begin
end;

KVSPSAOnUpdateInvoicesOnAfterSetCurrentKeyOnTempGlobalInvoiceLedgerEntryFindSetForItemOrGLAccount(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnUpdateInvoicesOnAfterSetCurrentKeyOnTempGlobalInvoiceLedgerEntryFindSetForItemOrGLAccount(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnUpdateInvoicesOnAfterSetCurrentKeyOnTempGlobalInvoiceLedgerEntryFindSetForItemOrGLAccount', '', false, false)]
local procedure DoSomethingKVSPSAOnUpdateInvoicesOnAfterSetCurrentKeyOnTempGlobalInvoiceLedgerEntryFindSetForItemOrGLAccount(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;

KVSPSAOnUpdateInvoicesOnAfterSetCurrentKeyOnTempGlobalInvoiceLedgerEntryFindSetForResource(Record KVSPSAInvoice Ledger Entry, Record KVSPSAInvoice Suggestion Line) :#

[IntegrationEvent(false, false)]
local procedure KVSPSAOnUpdateInvoicesOnAfterSetCurrentKeyOnTempGlobalInvoiceLedgerEntryFindSetForResource(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSPSACreateInvoiceFromInvSug", 'KVSPSAOnUpdateInvoicesOnAfterSetCurrentKeyOnTempGlobalInvoiceLedgerEntryFindSetForResource', '', false, false)]
local procedure DoSomethingKVSPSAOnUpdateInvoicesOnAfterSetCurrentKeyOnTempGlobalInvoiceLedgerEntryFindSetForResource(var TempGlobalInvoiceLedgerEntry: Record "KVSPSAInvoice Ledger Entry" temporary; var GlobalInvoiceSuggestionLine: Record "KVSPSAInvoice Suggestion Line")
begin
end;