Table of Contents

KVSKBASalesDraftInvoice

Procedures

OnUpdateRequestPageSettings(Enum KVSKBADocumentInitEventType, Boolean, Integer, Boolean, Boolean, Boolean, Boolean, Boolean, Option, Boolean, Boolean, Option) :

OBSOLETE

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

Summary: Raised during request page lifecycle events to allow customization of report options.

[Obsolete('Not intended for public use. Will be internal in future releases. This does only affect procedure caller not subscribers. The event remains in place.', '26.4')]
[IntegrationEvent(true, false)]
procedure OnUpdateRequestPageSettings(InitEventType: Enum "KVSKBADocumentInitEventType"; RequestPageAlreadyOpen: Boolean; var NoOfCopies: Integer; var ShowInternalInfo: Boolean; var ArchiveDocument: Boolean; var LogInteraction: Boolean; var PrintOnNotePaper: Boolean; var DisplayAssemblyInfo: Boolean; var ShowItemTracking: Option; var ShowTariffNo: Boolean; var ShowCountryOfOrigin: Boolean; var QuantityType: Option): 

Parameters:

  • InitEventType: The lifecycle event type that triggered this call (OnOpenPage, OnClosePage, OnBeforeOnPreReport, OnAfterOnPreReport).
  • RequestPageAlreadyOpen: Indicates whether the request page has already been opened in this session.
  • NoOfCopies: The number of additional copies to print. Can be modified by subscribers.
  • ShowInternalInfo: Specifies whether internal information is shown. Can be modified by subscribers.
  • ArchiveDocument: Specifies whether the document is archived when printed. Can be modified by subscribers.
  • LogInteraction: Specifies whether the print action is logged as an interaction. Can be modified by subscribers.
  • PrintOnNotePaper: Specifies whether the report prints on business letterhead paper. Can be modified by subscribers.
  • DisplayAssemblyInfo: Reserved for future assembly display logic. Can be modified by subscribers.
  • ShowItemTracking: Specifies whether item tracking is shown: None, DocLines, or ItemTrackingTable. Can be modified by subscribers.
  • ShowTariffNo: Specifies whether the tariff number is printed beneath each item line. Can be modified by subscribers.
  • ShowCountryOfOrigin: Specifies whether the country/region of origin is printed beneath each item line. Can be modified by subscribers.
  • QuantityType: Specifies which quantity field is used: General, Qty. to Invoice, or Qty. to Ship. Can be modified by subscribers.

Remarks: DEPRECATED: This procedure is declared as a non-local (public) procedure and carries an [Obsolete] attribute ('Not intended for public use. Will be internal in future releases.'). Subscribers should still bind to it normally — the obsolete notice only affects direct callers. It has 12 parameters (the most of any KBA document report) and is guarded by #pragma warning disable AL0432. Fired on OnOpenPage, OnClosePage, OnBeforeOnPreReport and OnAfterOnPreReport.

Events

OnUpdateRequestPageSettings(Enum KVSKBADocumentInitEventType, Boolean, Integer, Boolean, Boolean, Boolean, Boolean, Boolean, Option, Boolean, Boolean, Option) :

OBSOLETE

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

Summary: Raised during request page lifecycle events to allow customization of report options.

[Obsolete('Not intended for public use. Will be internal in future releases. This does only affect procedure caller not subscribers. The event remains in place.', '26.4')]
[IntegrationEvent(true, false)]
procedure OnUpdateRequestPageSettings(InitEventType: Enum "KVSKBADocumentInitEventType"; RequestPageAlreadyOpen: Boolean; var NoOfCopies: Integer; var ShowInternalInfo: Boolean; var ArchiveDocument: Boolean; var LogInteraction: Boolean; var PrintOnNotePaper: Boolean; var DisplayAssemblyInfo: Boolean; var ShowItemTracking: Option; var ShowTariffNo: Boolean; var ShowCountryOfOrigin: Boolean; var QuantityType: Option): 

Parameters:

  • InitEventType: The lifecycle event type that triggered this call (OnOpenPage, OnClosePage, OnBeforeOnPreReport, OnAfterOnPreReport).
  • RequestPageAlreadyOpen: Indicates whether the request page has already been opened in this session.
  • NoOfCopies: The number of additional copies to print. Can be modified by subscribers.
  • ShowInternalInfo: Specifies whether internal information is shown. Can be modified by subscribers.
  • ArchiveDocument: Specifies whether the document is archived when printed. Can be modified by subscribers.
  • LogInteraction: Specifies whether the print action is logged as an interaction. Can be modified by subscribers.
  • PrintOnNotePaper: Specifies whether the report prints on business letterhead paper. Can be modified by subscribers.
  • DisplayAssemblyInfo: Reserved for future assembly display logic. Can be modified by subscribers.
  • ShowItemTracking: Specifies whether item tracking is shown: None, DocLines, or ItemTrackingTable. Can be modified by subscribers.
  • ShowTariffNo: Specifies whether the tariff number is printed beneath each item line. Can be modified by subscribers.
  • ShowCountryOfOrigin: Specifies whether the country/region of origin is printed beneath each item line. Can be modified by subscribers.
  • QuantityType: Specifies which quantity field is used: General, Qty. to Invoice, or Qty. to Ship. Can be modified by subscribers.

Remarks: DEPRECATED: This procedure is declared as a non-local (public) procedure and carries an [Obsolete] attribute ('Not intended for public use. Will be internal in future releases.'). Subscribers should still bind to it normally — the obsolete notice only affects direct callers. It has 12 parameters (the most of any KBA document report) and is guarded by #pragma warning disable AL0432. Fired on OnOpenPage, OnClosePage, OnBeforeOnPreReport and OnAfterOnPreReport.

OnBeforeCheckDocStructureOnAfterGetRecord(Record Sales Header, Boolean) :

Summary: Raised before the document structure check (position numbers, total structure) is performed in the DocHeader OnAfterGetRecord trigger.

[IntegrationEvent(true, false)]
local procedure OnBeforeCheckDocStructureOnAfterGetRecord(var DocumentHeader: Record "Sales Header"; var Handled: Boolean): 

Parameters:

  • DocumentHeader: The sales header record (Invoice) currently being processed.
  • Handled: Set to true to skip the default structure validation (RunCalcPosNoInSalesLines, CheckTotalStructureInSalesLine, CheckPosNoNotEmptyInSalesLine).

Remarks: The default logic recalculates position numbers for open documents if needed, validates total structure of sales lines, and optionally checks that position numbers are not empty (based on SalesSetup.KVSKBACheckPosNoInSalesLines). Set Handled to true to bypass all structure validation.

OnBeforeCalculateInvoiceNo(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Code[20], Code[20], Text[50], Boolean, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCalculateInvoiceNo(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var InvoiceNo: Code[20]; var OrderNo: Code[20]; var OrderNoCaption: Text[50]; var Handled: Boolean; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeCreateDocumentHeader(Record KVSKBADocumentHeaderBuffer, Boolean, Record Sales Header, Codeunit KVSKBAMasterDoc, Code[20], Code[20], Text[50]) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentHeader(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"; var InvoiceNo: Code[20]; var OrderNo: Code[20]; var OrderNoCaption: Text[50]): 

OnBeforeCreateDocumentAddress(Record KVSKBADocumentHeaderBuffer, Boolean, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentAddress(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddDocHeader(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnBeforeAddDocHeader(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeCreateDocumentHeading(Record KVSKBADocumentHeaderBuffer, Boolean, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentHeading(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterCreateDocumentHeading(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnAfterCreateDocumentHeading(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPreDataItemDocHeaderText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnPreDataItemDocHeaderText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPostDataItemDocHeaderText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnPostDataItemDocHeaderText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPreDataItemDocFooterText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnPreDataItemDocFooterText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPostDataItemDocFooterText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnPostDataItemDocFooterText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnDocFooterFinished(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnDocFooterFinished(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeCheckForPageAndBlockBreak(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Record Sales Line, Boolean, Boolean, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeCheckForPageAndBlockBreak(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var skipLine: Boolean; var isHandled: Boolean; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddDocumentLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddDocumentLine(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterAddDocumentLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnAfterAddDocumentLine(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeInitBySalesLine(Record KVSKBADocumentLineBuffer, Record KVSKBADocumentHeaderBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeInitBySalesLine(var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterInitBySalesLine(Record KVSKBADocumentLineBuffer, Record KVSKBADocumentHeaderBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnAfterInitBySalesLine(var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddTariffNoAndCountryOfOriginInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc, Boolean, Boolean) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddTariffNoAndCountryOfOriginInfo(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"; var ShowCountryOfOrigin: Boolean; var ShowTariffNo: Boolean): 

OnBeforeAddItemAttributeInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddItemAttributeInfo(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddSubscriptionLineInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Sales Line, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddSubscriptionLineInfo(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var IsHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; TempServiceCommitmentForLine: Record "Sales Line" temporary; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddChargeAssignmentInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Sales Line, Record Item Charge Assignment (Sales), Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddChargeAssignmentInfo(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var ItemChargeAssignment: Record "Item Charge Assignment (Sales)"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterAddDocLineInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnAfterAddDocLineInfo(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPreDataItemHeadLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnPreDataItemHeadLineText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPostDataItemHeadLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnPostDataItemHeadLineText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPreDataItemFootLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnPreDataItemFootLineText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPostDataItemFootLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnPostDataItemFootLineText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddSubscriptionTotalInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Name/Value Buffer, Record Name/Value Buffer, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddSubscriptionTotalInfo(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var IsHandled: Boolean; var DocumentHeader: Record "Sales Header"; var TempServiceCommitmentsGroup: Record "Name/Value Buffer" temporary; var TempServiceCommitmentsGroupPerPeriod: Record "Name/Value Buffer" temporary; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddShipmentMethod(Record KVSKBADocumentHeaderBuffer, Record Shipment Method, Boolean, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddShipmentMethod(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var ShipmentMethod: Record "Shipment Method"; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterAddShipmentMethod(Record KVSKBADocumentHeaderBuffer, Record Shipment Method, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnAfterAddShipmentMethod(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var ShipmentMethod: Record "Shipment Method"; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddPaymentTerms(Record KVSKBADocumentHeaderBuffer, Record Payment Terms, Boolean, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddPaymentTerms(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var PaymentTerms: Record "Payment Terms"; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterAddPaymentTerms(Record KVSKBADocumentHeaderBuffer, Record Payment Terms, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnAfterAddPaymentTerms(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var PaymentTerms: Record "Payment Terms"; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnCasePrintVatSpecificationOnCaseElse(Enum KVSKBAPrintVatSpecification, Record VAT Amount Line, Boolean) :

Summary: Raised in the else-branch of the VAT specification case statement, allowing subscribers to define custom suppression logic for non-standard KVSKBAPrintVatSpecification values.

[IntegrationEvent(false, false)]
local procedure OnCasePrintVatSpecificationOnCaseElse(PrintVatSpecification: Enum "KVSKBAPrintVatSpecification"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var SkipVATSpecVerification: Boolean): 

Parameters:

  • PrintVatSpecification: The current value of CompanyInfo.KVSKBAPrintVatSpecificonDocs that matched the else-branch.
  • TempVATAmountLine: The temporary VAT amount line buffer. Can be filtered or modified by subscribers.
  • SkipVATSpecVerification: Set to true to break the VATSpec data item (suppress the VAT specification block) for this custom value.

Remarks: The VATSpec check in this report uses the accumulated VATAmount variable (set in CopyLoop OnAfterGetRecord) rather than GetTotalVATAmount(): the check is (VATAmount = 0 AND Count() = 0), then Count() ≤ 1. Note that VATClauseSpec uses a separate TempVATAmountLineVATClause buffer (copied from TempGlobalVATAmountLine via MasterDoc.CopyVATAmountLines).

OnPreDataItemVATSpec(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Record VAT Amount Line, Boolean, Boolean, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnPreDataItemVATSpec(var KVSKBADocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var SkipVATSpecVerification: Boolean; var IsHandled: Boolean; var KVSKBAMasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddDocVATSpecLine(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Record VAT Amount Line, Boolean, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddDocVATSpecLine(var KVSKBADocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var isHandled: Boolean; var KVSKBAMasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPreDataItemVATSpecLCY(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Record VAT Amount Line, Boolean, Boolean, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnPreDataItemVATSpecLCY(var KVSKBADocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var SkipVATSpecVerification: Boolean; var IsHandled: Boolean; var KVSKBAMasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddDocVATSpecLineLCY(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Record VAT Amount Line, Boolean, Text[50], Decimal, Decimal, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddDocVATSpecLineLCY(var KVSKBADocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var isHandled: Boolean; var VALExchRate: Text[50]; var VALVATBaseLCY: Decimal; var VALVATAmountLCY: Decimal; var KVSKBAMasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPreDataItemVATClauseSpec(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Record VAT Amount Line, Boolean, Record VAT Clause, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnPreDataItemVATClauseSpec(var KVSKBADocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var IsHandled: Boolean; var VATClause: Record "VAT Clause"; var KVSKBAMasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddDocVATClause(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Record VAT Amount Line, Boolean, Record VAT Clause, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddDocVATClause(var KVSKBADocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var IsHandled: Boolean; var VATClause: Record "VAT Clause"; var KVSKBAMasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddItemTrackingAppendix(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Option, Record Tracking Specification, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(true, false)]
local procedure OnBeforeAddItemTrackingAppendix(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var IsHandled: Boolean; var DocumentHeader: Record "Sales Header"; var ShowItemTracking: Option; var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddItemTrackingAppendixLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Sales Invoice Line, Record Tracking Specification, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddItemTrackingAppendixLine(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var IsHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Invoice Line"; var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddItemTrackingLines(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Sales Line, Record Tracking Specification, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddItemTrackingLines(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var IsHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddItemTrackingHeading(Record KVSKBADocumentHeaderBuffer, Enum KVSKBADocumentTableType, Integer, Text[250], Text[50], Text[50], Text[30], Record Tracking Specification, Boolean, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddItemTrackingHeading(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; DocumentTableType: Enum "KVSKBADocumentTableType"; var LineNo: Integer; Format: Text[250]; var LotNoCaption: Text[50]; var SerialNoCaption: Text[50]; var QuantityCaption: Text[30]; var TempTrackingSpecification: Record "Tracking Specification" temporary; var SkipStandardCode: Boolean; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddItemTrackingLine(Record KVSKBADocumentHeaderBuffer, Enum KVSKBADocumentTableType, Integer, Text[250], Code[20], Text[250], Code[20], Record Tracking Specification, Text[30], Boolean, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddItemTrackingLine(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; DocumentTableType: Enum "KVSKBADocumentTableType"; var LineNo: Integer; Format: Text[250]; PositionNo: Code[20]; Description: Text[250]; ItemNo: Code[20]; var TempTrackingSpecification: Record "Tracking Specification" temporary; SortTrigger: Text[30]; var SkipStandardCode: Boolean; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterGetRecordCopyLoop(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnAfterGetRecordCopyLoop(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterGetRecordCopyLoop2(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Codeunit KVSKBAMasterDoc, Integer) :

[IntegrationEvent(false, false)]
local procedure OnAfterGetRecordCopyLoop2(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"; CopyLoopNumber: Integer): 

OnBeforeSetLanguageFormatAddress(Record Sales Header, Boolean) :

Summary: Raised before FormatAddress.SetLanguageCode is called with the sales header's language code.

[IntegrationEvent(false, false)]
local procedure OnBeforeSetLanguageFormatAddress(DocHeader: Record "Sales Header"; var IsHandled: Boolean): 

Parameters:

  • DocHeader: The sales header record currently being processed.
  • IsHandled: Set to true to skip the default FormatAddress.SetLanguageCode call.

Remarks: Fired in the DocHeader OnAfterGetRecord trigger before the document structure check, invoice number calculation, and address formatting begin.

OnBeforeResetLanguageFormatAddress(Record Sales Header, Boolean) :

Summary: Raised before FormatAddress.SetLanguageCode is called with an empty string to reset the address language after heading creation.

[IntegrationEvent(false, false)]
local procedure OnBeforeResetLanguageFormatAddress(DocHeader: Record "Sales Header"; var GlobalIsHandled: Boolean): 

Parameters:

  • DocHeader: The sales header record currently being processed.
  • GlobalIsHandled: Set to true to skip the default FormatAddress.SetLanguageCode('') reset call.

Remarks: Fired in the DocHeader OnAfterGetRecord trigger after CreateDocumentHeading and OnAfterCreateDocumentHeading have run, and before the subscription billing fill procedures.

OnAfterTransferTotalAmount(Record KVSKBADocumentHeaderBuffer, Record VAT Amount Line) :

Summary: Raised after all VAT total amounts have been transferred to the document header buffer in the RoundLoop OnPostDataItem trigger.

[IntegrationEvent(false, false)]
local procedure OnAfterTransferTotalAmount(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempVATAmountLine: Record "VAT Amount Line" temporary): 

Parameters:

  • TempDocumentHeaderBuffer: The temporary document header buffer, already updated with VAT Amount, Total excl. VAT, Total incl. VAT, Total LCY, Payment Disc. on VAT, Total LineAmount, Inv. Disc. Amount, VAT Amount Caption, Prepayment Total Amount, and Prepayment VAT Amount.
  • TempVATAmountLine: The temporary VAT amount line buffer containing the accumulated totals.

Remarks: Fired before MasterDoc.UpdateDocHeader. Prepayment payment terms description is also set before UpdateDocHeader when PrepmtTotalAmountInclVAT ≠ 0. Use this event to modify or extend the total fields on DocumentHeaderBuffer before they are committed to the master document.

OnBeforeAddTariffNoAndCountryOfOriginInfoDocLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddTariffNoAndCountryOfOriginInfoDocLineText(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; DocumentHeader: Record "Sales Header"; DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterAddTariffNoAndCountryOfOriginInfoDocLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnAfterAddTariffNoAndCountryOfOriginInfoDocLineText(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; DocumentHeader: Record "Sales Header"; DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeAddChargeAssignmentInfoDocLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnBeforeAddChargeAssignmentInfoDocLine(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; DocumentHeader: Record "Sales Header"; DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterAddChargeAssignmentInfoDocLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Record Sales Line, Codeunit KVSKBAMasterDoc) :

[IntegrationEvent(false, false)]
local procedure OnAfterAddChargeAssignmentInfoDocLine(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; DocumentHeader: Record "Sales Header"; DocumentLine: Record "Sales Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnBeforeFillSubscriptionLinesForLine(Record Sales Header, Record Sales Line, Record Name/Value Buffer) :

Summary: Raised before FillServiceCommitmentsForLine fills the subscription line buffers for the current sales header.

[IntegrationEvent(false, false)]
local procedure OnBeforeFillSubscriptionLinesForLine(DocHeader: Record "Sales Header"; var SubscriptionLineForLine: Record "Sales Line"; var SubscriptionLineForLineCaption: Record "Name/Value Buffer"): 

Parameters:

  • DocHeader: The sales header record currently being processed. Passed by value.
  • SubscriptionLineForLine: The temporary Sales Line buffer to be filled with subscription (service commitment) lines per invoice line. Modify or pre-populate to override the default GlobalSalesReportPrintoutMgmt.FillServiceCommitmentsForLine call.
  • SubscriptionLineForLineCaption: The temporary Name/Value Buffer to be filled with caption entries for the subscription lines. Modify or pre-populate to override defaults.

Remarks: Fired in the local FillServiceCommitmentsForLine procedure, which is called from DocHeader OnAfterGetRecord. Both buffers are deleted before this event fires. The default logic calls GlobalSalesReportPrintoutMgmt.FillServiceCommitmentsForLine after this event. This event does not have an IsHandled parameter — the default code always runs after the event.

OnBeforeFillSubscriptionLinesGroupPerPeriod(Record Sales Header, Record Name/Value Buffer) :

Summary: Raised before FillServiceCommitmentsGroupPerPeriod fills the subscription group-per-period buffer for the current sales header.

[IntegrationEvent(false, false)]
local procedure OnBeforeFillSubscriptionLinesGroupPerPeriod(DocHeader: Record "Sales Header"; var SubscriptionLinesGroupPerPeriod: Record "Name/Value Buffer"): 

Parameters:

  • DocHeader: The sales header record currently being processed. Passed by value.
  • SubscriptionLinesGroupPerPeriod: The temporary Name/Value Buffer to be filled with subscription commitment entries grouped by billing period. Modify or pre-populate to override the default GlobalSalesReportPrintoutMgmt.FillServiceCommitmentsGroups call.

Remarks: Fired in the local FillServiceCommitmentsGroupPerPeriod procedure, called from DocHeader OnAfterGetRecord after FillServiceCommitmentsForLine. The buffer is deleted before this event fires. The default logic calls GlobalSalesReportPrintoutMgmt.FillServiceCommitmentsGroups after this event. This event does not have an IsHandled parameter — the default code always runs after the event.

Protected Variables

GlobalArchiveDocument

Type: Boolean

GlobalDisplayAssemblyInfo

Type: Boolean

GlobalLogInteraction

Type: Boolean

GlobalPrintOnNotePaper

Type: Boolean

GlobalShowCountryOfOrigin

Type: Boolean

GlobalShowInternalInfo

Type: Boolean

GlobalShowTariffNo

Type: Boolean

GlobalNoOfCopies

Type: Integer

GlobalQuantityType

Type: Option

GlobalShowItemTracking

Type: Option