KVSKBAServiceContractQuote
Events
OnUpdateRequestPageSettings(Enum KVSKBADocumentInitEventType, Boolean, Integer, Boolean, Boolean, 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 LogInteraction: Boolean; var PrintOnNotePaper: Boolean; var ShowComments: 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.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 for pre-printed letterhead paper. Modifiable by subscribers.ShowComments: Specifies whether service comment lines (DocLineComment data item) should be printed. Modifiable by subscribers.
Remarks: Raised in OnOpenPage, OnClosePage, and OnPreReport (before and after applying DocumentDispSingleInstance.GetPrintWithLogo logic). Note: ArchiveDocument is not exposed as a parameter here — it is set implicitly when LogInteraction is enabled on the request page (OnValidate).
OnBeforeCreateDocumentHeader(Record KVSKBADocumentHeaderBuffer, Boolean, Record Service Contract Header, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentHeader(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Service Contract Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeCreateDocumentAddress(Record KVSKBADocumentHeaderBuffer, Boolean, Record Service Contract Header, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentAddress(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Service Contract Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeAddDocHeader(Record KVSKBADocumentHeaderBuffer, Record Service Contract Header, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeAddDocHeader(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Service Contract Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeCreateDocumentHeading(Record KVSKBADocumentHeaderBuffer, Boolean, Record Service Contract Header, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentHeading(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Service Contract Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnAfterCreateDocumentHeading(Record KVSKBADocumentHeaderBuffer, Record Service Contract Header, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnAfterCreateDocumentHeading(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Service Contract Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPreDataItemDocHeaderText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Service Contract 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 "Service Contract Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPostDataItemDocHeaderText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Service Contract Header, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnPostDataItemDocHeaderText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Service Contract Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPreDataItemDocFooterText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Service Contract Header, Codeunit KVSKBAMasterDoc) :
OnPostDataItemDocFooterText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Service Contract Header, Codeunit KVSKBAMasterDoc) :
OnDocFooterFinished(Record KVSKBADocumentHeaderBuffer, Record Service Contract Header, Codeunit KVSKBAMasterDoc) :
OnBeforeAddDocumentLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Service Contract Header, Record Service Contract Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnBeforeAddDocumentLine(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Service Contract Header"; var DocumentLine: Record "Service Contract Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnAfterAddDocumentLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Service Contract Header, Record Service Contract Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnAfterAddDocumentLine(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Service Contract Header"; var DocumentLine: Record "Service Contract Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeAddDiscountLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Service Contract Header, Record Contract/Service Discount, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnBeforeAddDiscountLine(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Service Contract Header"; var DiscountLine: Record "Contract/Service Discount"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPreDataItemHeadLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Service Contract Header, Record Service Contract 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 "Service Contract Header"; var DocumentLine: Record "Service Contract Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPostDataItemHeadLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Service Contract Header, Record Service Contract Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnPostDataItemHeadLineText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Service Contract Header"; var DocumentLine: Record "Service Contract Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPreDataItemFootLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Service Contract Header, Record Service Contract 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 "Service Contract Header"; var DocumentLine: Record "Service Contract Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPostDataItemFootLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Service Contract Header, Record Service Contract Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnPostDataItemFootLineText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Service Contract Header"; var DocumentLine: Record "Service Contract Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeSetLanguageFormatAddress(Record Service Contract Header, Boolean) :
Summary: Raised before the language code for FormatAddress is set from the service contract quote header in DocHeader OnAfterGetRecord.
[IntegrationEvent(false, false)]
local procedure OnBeforeSetLanguageFormatAddress(DocHeader: Record "Service Contract Header"; var IsHandled: Boolean):
Parameters:
DocHeader: The service contract quote 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. Note: this report also uses ServiceFormatAddress (Codeunit "Service Format Address") for address generation; that codeunit is not affected by this event.
OnBeforeResetLanguageFormatAddress(Record Service Contract 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 "Service Contract Header"; var GlobalIsHandled: Boolean):
Parameters:
DocHeader: The service contract quote 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.
OnAfterTransferTotalAmount(Record KVSKBADocumentHeaderBuffer, Record VAT Amount Line) :
Summary: Raised after the total amounts have been transferred to the document header buffer in the DocLine 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 after the total amounts have been updated.TempVATAmountLine: The temporary VAT amount line buffer containing the aggregated totals.
Remarks: At this point NNC_VATAmt, NNC_TotalExclVAT, NNC_TotalInclVAT, NNC_TotalLCY, NNC_PmtDiscOnVAT, NNC_TotalLineAmt, NNC_TotalInvDiscAmt and the VAT Amount Caption have been written into TempDocHeaderBuffer. MasterDoc.UpdateDocHeader is called immediately after this event. Note: "Print VAT Totals" is set to false in CreateDocumentHeader, so VAT amount totals will not be rendered in the layout even if populated here. The ExclusiveVATTextLbl total-text row ("Amounts shown exclude VAT.") is also added after this event in OnPostDataItem.
Protected Variables
GlobalArchiveDocument
Type: Boolean
GlobalLogInteraction
Type: Boolean
GlobalPrintOnNotePaper
Type: Boolean
GlobalShowComments
Type: Boolean
GlobalShowInternalInfo
Type: Boolean
GlobalNoOfCopies
Type: Integer