KVSKBAPurchaseCreditMemo
Events
OnAfterGetLineType(Record Purch. Cr. Memo Line, Enum KVSKBADocumentLineType) :
Summary: Raised after the line type for a posted purchase credit memo line has been determined, allowing subscribers to override the resolved KVSKBADocumentLineType.
[IntegrationEvent(false, false)]
local procedure OnAfterGetLineType(PurchCrMemoLine: Record "Purch. Cr. Memo Line"; var KVSKBADocumentLineType: Enum "KVSKBADocumentLineType"):
Parameters:
PurchCrMemoLine: The posted purchase credit memo line record being evaluated. Passed by value.KVSKBADocumentLineType: The line type resolved by the default logic. Can be replaced by subscribers with a custom enum value.
Remarks: The default logic maps Type = " " to CommentLine, KVSKBAHeading to HeaderLine, KVSKBASubtotal to SubtotalHeader, KVSKBABundle to BundleHeader, KVSKBAEndSubtotalBundle to SubtotalBundleFooter, and all others to StandardLine. Use this event to map additional or custom line types without replacing the entire GetLineType procedure.
OnUpdateRequestPageSettings(Enum KVSKBADocumentInitEventType, Boolean, Integer, Boolean, Boolean, Boolean, Boolean, Boolean) :
Summary: Raised during request page lifecycle events to allow customization of report options.
[IntegrationEvent(true, false)]
local procedure OnUpdateRequestPageSettings(InitEventType: Enum "KVSKBADocumentInitEventType"; RequestPageAlreadyOpen: Boolean; var NoOfCopies: Integer; var ShowInternalInfo: Boolean; var LogInteraction: Boolean; var PrintOnNotePaper: Boolean; var ShowTariffNo: Boolean; var ShowCountryOfOrigin: Boolean):
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.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.ShowTariffNo: Specifies whether tariff numbers are printed as comment lines. Can be modified by subscribers.ShowCountryOfOrigin: Specifies whether country/region of origin is printed as comment lines. Can be modified by subscribers.
Remarks: Fired on OnOpenPage, OnClosePage, OnBeforeOnPreReport and OnAfterOnPreReport. Use InitEventType to react to specific lifecycle phases only. No ArchiveDocument or ShowItemTracking parameter exists for purchase credit memos.
OnBeforeCreateDocumentHeader(Record KVSKBADocumentHeaderBuffer, Boolean, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentHeader(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeCreateDocumentAddress(Record KVSKBADocumentHeaderBuffer, Boolean, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentAddress(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeAddDocHeader(Record KVSKBADocumentHeaderBuffer, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeAddDocHeader(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeCreateDocumentHeading(Record KVSKBADocumentHeaderBuffer, Boolean, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentHeading(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnAfterCreateDocumentHeading(Record KVSKBADocumentHeaderBuffer, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnAfterCreateDocumentHeading(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPreDataItemDocHeaderText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnPreDataItemDocHeaderText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var isHandled: Boolean; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPostDataItemDocHeaderText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnPostDataItemDocHeaderText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPreDataItemDocFooterText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
OnPostDataItemDocFooterText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
OnDocFooterFinished(Record KVSKBADocumentHeaderBuffer, Record Purch. Cr. Memo Hdr., Codeunit KVSKBAMasterDoc) :
OnBeforeCheckForPageAndBlockBreak(Record KVSKBADocumentHeaderBuffer, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo Line, Boolean, Boolean, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnBeforeCheckForPageAndBlockBreak(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var skipLine: Boolean; var isHandled: Boolean; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeAddDocumentLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnBeforeAddDocumentLine(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnAfterAddDocumentLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnAfterAddDocumentLine(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeAddTariffNoAndCountryOfOriginInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo 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 "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"; var ShowCountryOfOrigin: Boolean; var ShowTariffNo: Boolean):
OnBeforeAddTariffNoAndCountryOfOriginInfoDocLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnBeforeAddTariffNoAndCountryOfOriginInfoDocLineText(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; DocumentHeader: Record "Purch. Cr. Memo Hdr."; DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnAfterAddTariffNoAndCountryOfOriginInfoDocLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnAfterAddTariffNoAndCountryOfOriginInfoDocLineText(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; DocumentHeader: Record "Purch. Cr. Memo Hdr."; DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeAddItemAttributeInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo 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 "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnAfterAddDocLineInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnAfterAddDocLineInfo(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPreDataItemHeadLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo 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 "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPostDataItemHeadLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnPostDataItemHeadLineText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPreDataItemFootLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo 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 "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnPostDataItemFootLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Cr. Memo Hdr., Record Purch. Cr. Memo Line, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnPostDataItemFootLineText(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var DocumentHeader: Record "Purch. Cr. Memo Hdr."; var DocumentLine: Record "Purch. Cr. Memo Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeSetLanguageFormatAddress(Record Purch. Cr. Memo Hdr., Boolean) :
Summary: Raised before FormatAddress.SetLanguageCode is called with the credit memo's language code.
[IntegrationEvent(false, false)]
local procedure OnBeforeSetLanguageFormatAddress(DocHeader: Record "Purch. Cr. Memo Hdr."; var IsHandled: Boolean):
Parameters:
DocHeader: The posted purchase credit memo header record currently being processed.IsHandled: Set to true to skip the default FormatAddress.SetLanguageCode call.
Remarks: Fired in the DocHeader OnAfterGetRecord trigger before address formatting begins. Setting a custom language code here affects how FormatAddress resolves country name translations and address block layouts for purchase credit memo documents.
OnBeforeResetLanguageFormatAddress(Record Purch. Cr. Memo Hdr., 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 "Purch. Cr. Memo Hdr."; var GlobalIsHandled: Boolean):
Parameters:
DocHeader: The posted purchase credit memo 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. Resetting the language ensures that subsequent FormatAddress calls elsewhere in the report use the system default rather than the document language.
OnAfterTransferTotalAmount(Record KVSKBADocumentHeaderBuffer, Record VAT Amount Line) :
Summary: Raised after all VAT 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 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, and VAT Amount Caption.TempVATAmountLine: The temporary VAT amount line buffer containing the accumulated totals.
Remarks: Fired before MasterDoc.UpdateDocHeader. No shipment method or payment terms total rows are added for purchase credit memos by default. Use this event to modify or extend the total fields on DocumentHeaderBuffer before they are committed to the master document.
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: Only raised when CompanyInfo.KVSKBAPrintVatSpecificonDocs does not match the OnlywithdiffVATIdentifier case. The VATSpec data item also breaks automatically when VAT amount is zero or there is only one VAT line, before this event is reached.
Protected Variables
Item
Type: Record Item
GlobalLogInteraction
Type: Boolean
GlobalPrintOnNotePaper
Type: Boolean
GlobalShowCountryOfOrigin
Type: Boolean
GlobalShowInternalInfo
Type: Boolean
GlobalShowTariffNo
Type: Boolean
GlobalNoOfCopies
Type: Integer