Table of Contents

KVSKBASalesQuote

Events

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

Summary: Raised at multiple stages of request page initialization so that subscribers can read or modify report option settings.

[IntegrationEvent(true, false)]
local 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): 

Parameters:

  • InitEventType: Identifies the lifecycle stage at which the event is raised (e.g. OnOpenPage, OnClosePage, OnBeforeOnPreReport, OnAfterOnPreReport).
  • RequestPageAlreadyOpen: Indicates whether the request page has already been shown to the user in the current session (managed via KVSKBADocDispSingleInstance).
  • NoOfCopies: The number of additional copies to print. Modifiable by subscribers.
  • ShowInternalInfo: Specifies whether internal information should be printed. Modifiable by subscribers.
  • ArchiveDocument: Specifies whether the document should be archived. Modifiable by subscribers.
  • LogInteraction: Specifies whether the print action should be logged as an interaction. Modifiable by subscribers.
  • PrintOnNotePaper: Specifies whether the report should suppress the company logo so that pre-printed letterhead paper can be used. Modifiable by subscribers.
  • DisplayAssemblyInfo: Specifies whether assembly BOM information is shown on report lines. Modifiable by subscribers.
  • ShowItemTracking: Controls how serial/lot numbers are displayed (None / DocLines / ItemTrackingTable). Modifiable by subscribers.
  • ShowTariffNo: Specifies whether the tariff/commodity code is printed on item lines. Modifiable by subscribers.
  • ShowCountryOfOrigin: Specifies whether the country/region of origin is printed on item lines. Modifiable by subscribers.

Remarks: Raised in OnOpenPage, OnClosePage, OnPreReport (before and after applying DocumentDispSingleInstance.GetPrintWithLogo logic). For preview-without-logo scenarios the overrides are applied between the two OnPreReport raises.

OnAfterInitOptionsOnOpenPage(Record Sales Header, Boolean, Boolean) :

Summary: Raised during the OnInit trigger of the request page after the standard visibility flags for ShowTariffNo and ShowCountryOfOrigin are initialized.

[IntegrationEvent(true, false)]
local procedure OnAfterInitOptionsOnOpenPage(var DocHeader: Record "Sales Header"; var ShowTariffNoVisible: Boolean; var ShowCountryOfOriginVisible: Boolean): 

Parameters:

  • DocHeader: The sales header data item (not yet filtered at this stage). Provided for context only.
  • ShowTariffNoVisible: Controls whether the ShowTariffNo field is visible on the request page. Modifiable by subscribers.
  • ShowCountryOfOriginVisible: Controls whether the ShowCountryOfOrigin field is visible on the request page. Modifiable by subscribers.

Remarks: Fires after the standard initialization sets both visibility flags to false. Subscribers can set them to true to expose the corresponding request-page fields to the user.

OnBeforeCheckDocStatusOnAfterGetRecord(Record Sales Header, Boolean, Integer) :

Summary: Raised before the document status check is performed in the DocHeader OnAfterGetRecord trigger.

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

Parameters:

  • DocumentHeader: The sales header currently being processed.
  • Handled: Set to true to skip the standard status validation (TestField Status = Released).
  • NoOfRecords: The total number of sales headers selected for processing. Modifiable by subscribers.

Remarks: When Handled is true, the standard TestField(Status, Status::Released) call is skipped entirely. Use this event to allow printing of quotes in non-released states or to apply custom validation logic.

OnBeforeCheckDocStructureOnAfterGetRecord(Record Sales Header, Boolean) :

Summary: Raised before the document structure validation logic is executed in the DocHeader OnAfterGetRecord trigger.

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

Parameters:

  • DocumentHeader: The sales header currently being processed.
  • Handled: Set to true to skip the standard structure validation (position-number calculation and check, SalesLib.CheckTotalStructureInSalesLine).

Remarks: When Handled is true, neither the position number recalculation (SalesLib.RunCalcPosNoInSalesLines) nor the structure check (SalesLib.CheckTotalStructureInSalesLine) is executed.

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

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

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"): 

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

[IntegrationEvent(false, false)]
local procedure OnBeforeAddAssemblyInfo(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"): 

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

[IntegrationEvent(false, false)]
local procedure OnBeforeAddItemTrackingLines(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var TrackingSpecBuffer: Record "Tracking Specification" 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 KVSKBAPrintVatSpecificonDocs case statement in the VATSpec OnPreDataItem trigger.

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

Parameters:

  • PrintVatSpecification: The current company-level setting for when the VAT specification table should be printed.
  • TempVATAmountLine: The temporary VAT amount line buffer. Modifiable by subscribers.
  • SkipVATSpecVerification: Set to true to suppress the VAT spec table (equivalent to CurrReport.Break). Modifiable by subscribers.

Remarks: Called only when CompanyInfo.KVSKBAPrintVatSpecificonDocs does not match any explicitly handled case. Subscribers can implement custom suppression logic by setting SkipVATSpecVerification = true.

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"): 

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; TableType: 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; TableType: 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"): 

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

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

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

[IntegrationEvent(false, false)]
local procedure OnBeforeAddItemTrackingAppendixLine(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var TrackingSpecBuffer: Record "Tracking Specification" temporary; 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 the language code for FormatAddress is set from the document header in DocHeader OnAfterGetRecord.

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

Parameters:

  • DocHeader: The sales header whose Language Code will be passed to FormatAddress.SetLanguageCode.
  • IsHandled: Set to true to skip the standard FormatAddress.SetLanguageCode(DocHeader."Language Code") call.

Remarks: This event allows subscribers to apply a different language or to prevent the language override entirely. The language reset (FormatAddress.SetLanguageCode('')) is controlled separately by OnBeforeResetLanguageFormatAddress.

OnCopyLoopOnAfterGetRecordOnBeforeCalcVATAmountLine(Record Sales Header, Record Sales Line, Record VAT Amount Line) :

Summary: Raised in the CopyLoop OnAfterGetRecord trigger before TempSalesLine.CalcVATAmountLines is called, allowing subscribers to modify the sales line buffer or the VAT amount line buffer before VAT is calculated.

[IntegrationEvent(false, false)]
local procedure OnCopyLoopOnAfterGetRecordOnBeforeCalcVATAmountLine(DocumentHeader: Record "Sales Header"; var TempSalesLine: Record "Sales Line" temporary; var TempGlobalVATAmountLine: Record "VAT Amount Line" temporary): 

Parameters:

  • DocumentHeader: The sales header being processed.
  • TempSalesLine: The temporary sales line buffer populated by SalesPost.GetSalesLines. Modifiable by subscribers.
  • TempGlobalVATAmountLine: The temporary VAT amount line buffer (empty at this point). Modifiable by subscribers.

Remarks: Fires after TempSalesLine has been populated and alternative lines have been merged, but before CalcVATAmountLines and UpdateVATOnLines are called. Changes to TempSalesLine at this point affect all VAT totals and the subsequent line output.

OnBeforeResetLanguageFormatAddress(Record Sales Header, Boolean) :

Summary: Raised before FormatAddress language is reset to empty at the end of DocHeader OnAfterGetRecord processing.

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

Parameters:

  • DocHeader: The sales header that has just been processed.
  • GlobalIsHandled: Set to true to skip the standard FormatAddress.SetLanguageCode('') reset call.

Remarks: The language is reset to empty after all header and heading processing is complete so that subsequent report triggers use the system language for internal text. Suppress the reset (set GlobalIsHandled = true) only if the remainder of the report must also operate in the document language.

OnAfterTransferTotalAmount(Record KVSKBADocumentHeaderBuffer, Record VAT Amount Line) :

Summary: Raised after the 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 document header buffer for the current document after the total amounts have been updated.
  • TempVATAmountLine: The temporary VAT amount line buffer containing the aggregated VAT totals.

Remarks: At this point NNC_ totals (NNC_TotalExclVAT, NNC_VATAmt, NNC_TotalInclVAT, etc.) have been updated and written into the document header buffer via MasterDoc.UpdateDocHeader. Subscribers can perform additional total calculations or audit the written amounts.

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"): 

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

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

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

[IntegrationEvent(false, false)]
local procedure OnAfterAddAssemblyInfoDocLine(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"): 

OnAfterOnOpenRequestPage(Text, Record Sales Header) :

Summary: Raised at the end of the request page OnOpenPage trigger, after all standard initialization is complete.

[IntegrationEvent(false, false)]
local procedure OnAfterOnOpenRequestPage(var RequestPageCaption: Text; var SalesHeader: Record "Sales Header"): 

Parameters:

  • RequestPageCaption: The caption to display on the request page. Set to a non-empty value to override the default report caption.
  • SalesHeader: The sales header data item. Not filtered at this stage; provided for context only.

Remarks: Use this event to customize the request page title shown to the user, e.g. based on a report variant or environment-specific label.

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

Summary: Raised before GlobalSalesReportPrintoutMgmt.FillServiceCommitmentsForLine is called in FillServiceCommitmentsForLine.

[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 for which subscription line data is being collected.
  • SubscriptionLineForLine: The temporary sales line buffer that will hold the service commitment entries per line. Modifiable by subscribers.
  • SubscriptionLineForLineCaption: The temporary name/value buffer that will hold captions for the subscription line columns. Modifiable by subscribers.

Remarks: Use this event to pre-populate or replace the subscription line data before the standard fill logic runs. Changes to SubscriptionLineForLine here affect which subscription rows are shown beneath each item line on the document.

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

Summary: Raised before GlobalSalesReportPrintoutMgmt.FillServiceCommitmentsGroups is called in FillServiceCommitmentsGroupPerPeriod.

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

Parameters:

  • DocHeader: The sales header for which subscription group totals are being collected.
  • SubscriptionLinesGroupPerPeriod: The temporary name/value buffer that will hold subscription totals grouped by billing period. Modifiable by subscribers.

Remarks: Use this event to pre-populate or replace the period-grouped subscription data before the standard fill logic runs. Changes here affect the subscription totals section at the bottom of the document.

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

GlobalShowItemTracking

Type: Option