Table of Contents

KVSKBAPurchaseReceipt

Events

OnAfterGetLineType(Record Purch. Rcpt. Line, Enum KVSKBADocumentLineType) :

Summary: Raised after the line type for a posted purchase receipt line has been determined, allowing subscribers to override the resolved KVSKBADocumentLineType.

[IntegrationEvent(false, false)]
local procedure OnAfterGetLineType(PurchRcptLine: Record "Purch. Rcpt. Line"; var KVSKBADocumentLineType: Enum "KVSKBADocumentLineType"): 

Parameters:

  • PurchRcptLine: The posted purchase receipt 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 ArchiveDocument: Boolean; var LogInteraction: Boolean; var PrintOnNotePaper: Boolean; var GlobalShowCorrectionLines: 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.
  • ArchiveDocument: Passed through for consistency with other report events but has no effect for purchase receipts, which are posted documents that cannot be archived at print time.
  • 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.
  • GlobalShowCorrectionLines: Specifies whether correction (negative) receipt lines are printed. Can be modified by subscribers. Note: the parameter is named GlobalShowCorrectionLines (with prefix) in the event signature.

Remarks: Fired on OnOpenPage, OnClosePage, OnBeforeOnPreReport and OnAfterOnPreReport. Use InitEventType to react to specific lifecycle phases only. Unlike order reports, no PrintOrderCancelation parameter exists. LogInteraction is also initialized by calling InitLogInteraction in OnOpenPage.

OnBeforeCreateDocumentHeader(Record KVSKBADocumentHeaderBuffer, Boolean, Record Purch. Rcpt. Header, Codeunit KVSKBAMasterDoc) :

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

OnBeforeCreateDocumentAddress(Record KVSKBADocumentHeaderBuffer, Boolean, Record Purch. Rcpt. Header, Codeunit KVSKBAMasterDoc) :

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

OnBeforeAddDocHeader(Record KVSKBADocumentHeaderBuffer, Record Purch. Rcpt. Header, Codeunit KVSKBAMasterDoc) :

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

OnBeforeCreateDocumentHeading(Record KVSKBADocumentHeaderBuffer, Boolean, Record Purch. Rcpt. Header, Codeunit KVSKBAMasterDoc) :

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

OnAfterCreateDocumentHeading(Record KVSKBADocumentHeaderBuffer, Record Purch. Rcpt. Header, Codeunit KVSKBAMasterDoc) :

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

OnPreDataItemDocHeaderText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Rcpt. 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 "Purch. Rcpt. Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPostDataItemDocHeaderText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Rcpt. Header, Codeunit KVSKBAMasterDoc) :

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

OnPreDataItemDocFooterText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Rcpt. 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 "Purch. Rcpt. Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPostDataItemDocFooterText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Rcpt. Header, Codeunit KVSKBAMasterDoc) :

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

OnDocFooterFinished(Record KVSKBADocumentHeaderBuffer, Record Purch. Rcpt. Header, Codeunit KVSKBAMasterDoc) :

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

OnBeforeCheckForPageAndBlockBreak(Record KVSKBADocumentHeaderBuffer, Record Purch. Rcpt. Header, Record Purch. Rcpt. Line, Boolean, Boolean, Codeunit KVSKBAMasterDoc) :

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

OnBeforeAddDocumentLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Rcpt. Header, Record Purch. Rcpt. Line, Codeunit KVSKBAMasterDoc) :

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

OnAfterAddDocumentLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Rcpt. Header, Record Purch. Rcpt. Line, Codeunit KVSKBAMasterDoc) :

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

OnBeforeAddItemAttributeInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Rcpt. Header, Record Purch. Rcpt. 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. Rcpt. Header"; var DocumentLine: Record "Purch. Rcpt. Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterAddDocLineInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Rcpt. Header, Record Purch. Rcpt. Line, Codeunit KVSKBAMasterDoc) :

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

OnPreDataItemHeadLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Rcpt. Header, Record Purch. Rcpt. 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. Rcpt. Header"; var DocumentLine: Record "Purch. Rcpt. Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPostDataItemHeadLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Rcpt. Header, Record Purch. Rcpt. Line, Codeunit KVSKBAMasterDoc) :

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

OnPreDataItemFootLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Purch. Rcpt. Header, Record Purch. Rcpt. 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. Rcpt. Header"; var DocumentLine: Record "Purch. Rcpt. Line"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnPostDataItemFootLineText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Purch. Rcpt. Header, Record Purch. Rcpt. Line, Codeunit KVSKBAMasterDoc) :

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

OnBeforeSetLanguageFormatAddress(Record Purch. Rcpt. Header, Boolean) :

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

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

Parameters:

  • DocHeader: The posted purchase receipt 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 receipt documents.

OnBeforeResetLanguageFormatAddress(Record Purch. Rcpt. 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 "Purch. Rcpt. Header"; var GlobalIsHandled: Boolean): 

Parameters:

  • DocHeader: The posted purchase receipt 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.

Protected Variables

GlobalArchiveDocument

Type: Boolean

GlobalLogInteraction

Type: Boolean

GlobalPrintOnNotePaper

Type: Boolean

GlobalShowCorrectionLines

Type: Boolean

GlobalShowInternalInfo

Type: Boolean

GlobalNoOfCopies

Type: Integer