Table of Contents

KVSKBASalesCreditMemo

Events

OnAfterGetLineType(Record Sales Cr.Memo Line, Enum KVSKBADocumentLineType) :

Summary: Raised after the document line type has been resolved for a sales credit memo line, allowing subscribers to override or extend the KVSKBADocumentLineType mapping.

[IntegrationEvent(false, false)]
local procedure OnAfterGetLineType(SalesCrMemoLine: Record "Sales Cr.Memo Line"; var KVSKBADocumentLineType: Enum "KVSKBADocumentLineType"): 

Parameters:

  • SalesCrMemoLine: The sales credit memo line record whose line type has just been resolved.
  • KVSKBADocumentLineType: The resolved document line type. Modify this to change how the line is formatted and rendered in the master document.

Remarks: The default mapping translates Sales Cr.Memo Line types as follows: blank → CommentLine, KVSKBAHeading → HeaderLine, KVSKBASubtotal → SubtotalHeader, KVSKBABundle → BundleHeader, KVSKBAEndSubtotalBundle → SubtotalBundleFooter. For all other types, StandardLine is set first; if KVSKBANotBillable/KVSKBANullPosition is set the type is upgraded to NullPosition; if KVSKBAAlternative is set the type is upgraded to AlternativeLine. The NotBillable check is feature-flag-guarded (#if not CLEAN29).

OnUpdateRequestPageSettings(Enum KVSKBADocumentInitEventType, Boolean, Integer, 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 ShowZeroQuantityLines: 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.
  • ShowZeroQuantityLines: Specifies whether credit memo lines with quantity = 0 are printed. Can be modified by subscribers.

Remarks: Fired on OnOpenPage, OnClosePage, OnBeforeOnPreReport and OnAfterOnPreReport. ShowZeroQuantityLines is specific to posted sales documents and controls the HideZeroQuantities filter. There is no ArchiveDocument or PrintOrderCancelation parameter for posted credit memos.

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

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

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

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

OnBeforeAddDocHeader(Record KVSKBADocumentHeaderBuffer, Record Sales Cr.Memo Header, Codeunit KVSKBAMasterDoc) :

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

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

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

OnAfterCreateDocumentHeading(Record KVSKBADocumentHeaderBuffer, Record Sales Cr.Memo Header, Codeunit KVSKBAMasterDoc) :

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

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

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

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

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

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

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

OnDocFooterFinished(Record KVSKBADocumentHeaderBuffer, Record Sales Cr.Memo Header, Codeunit KVSKBAMasterDoc) :

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

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

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

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

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

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

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

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

OnBeforeAddShipmentInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Cr.Memo Header, Record Sales Cr.Memo Line, Codeunit KVSKBAMasterDoc) :

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

OnBeforeAddChargeAssignmentInfo(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Cr.Memo Header, Record Sales Cr.Memo 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 Cr.Memo Header"; var DocumentLine: Record "Sales Cr.Memo Line"; var ItemChargeAssignment: Record "Item Charge Assignment (Sales)"; var MasterDoc: Codeunit "KVSKBAMasterDoc"): 

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

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

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

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

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

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

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

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

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

[IntegrationEvent(false, false)]
local procedure OnAfterAddPaymentTerms(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var PaymentTerms: Record "Payment Terms"; var DocumentHeader: Record "Sales Cr.Memo 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: Only raised when CompanyInfo.KVSKBAPrintVatSpecificonDocs does not match the OnlywithdiffVATIdentifier case. The standard check in this report is (GetTotalVATAmount() = 0 AND Count() = 0) OR Count() ≤ 1.

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

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

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

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

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

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

OnBeforeAddDocVATSpecLineLCY(Record KVSKBADocumentHeaderBuffer, Record Sales Cr.Memo 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 Cr.Memo 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 Cr.Memo 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 Cr.Memo 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 Cr.Memo 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 Cr.Memo Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var IsHandled: Boolean; var VATClause: Record "VAT Clause"; var KVSKBAMasterDoc: Codeunit "KVSKBAMasterDoc"): 

OnAfterGetRecordCopyLoop(Record KVSKBADocumentHeaderBuffer, Record Sales Cr.Memo Header, Codeunit KVSKBAMasterDoc) :

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

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

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

OnBeforeHideZeroQuantities(Record Sales Cr.Memo Line, Boolean, Boolean) :

Summary: Raised in the local HideZeroQuantities procedure before the built-in zero-quantity suppression logic is applied.

[IntegrationEvent(false, false)]
local procedure OnBeforeHideZeroQuantities(DocLine: Record "Sales Cr.Memo Line"; var HideZeroQuantity: Boolean; var IsHandled: Boolean): 

Parameters:

  • DocLine: The sales credit memo line record being evaluated for suppression.
  • HideZeroQuantity: Set to true to suppress the line (return true from HideZeroQuantities), or false to display it. Only effective when IsHandled is also set to true.
  • IsHandled: Set to true to use the HideZeroQuantity value instead of the default logic.

Remarks: The default logic suppresses lines with Quantity = 0 for types Fixed Asset, G/L Account, Item, Resource, Charge (Item), and Allocation Account when GlobalShowZeroQuantityLines is false. When a line has "Attached to Line No." set, the function recurses to evaluate the attached line instead. Set IsHandled to true to fully override the suppression decision for the current line.

OnBeforeSetLanguageFormatAddress(Record Sales Cr.Memo Header, Boolean) :

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

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

Parameters:

  • DocHeader: The sales 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 and heading creation begin.

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

Parameters:

  • DocHeader: The sales 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.

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, 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. Use this event to modify or extend the total fields on DocumentHeaderBuffer before they are committed to the master document.

OnBeforeAddShipmentInfoDocLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Cr.Memo Header, Record Sales Cr.Memo Line, Codeunit KVSKBAMasterDoc) :

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

OnAfterAddShipmentInfoDocLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Cr.Memo Header, Record Sales Cr.Memo Line, Codeunit KVSKBAMasterDoc) :

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

OnBeforeAddChargeAssignmentInfoDocLIne(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Cr.Memo Header, Record Sales Cr.Memo Line, Codeunit KVSKBAMasterDoc) :

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

OnAfterAddChargeAssignmentInfoDocLIne(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Cr.Memo Header, Record Sales Cr.Memo Line, Codeunit KVSKBAMasterDoc) :

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

OnAfterOnOpenRequestPage(Text, Record Sales Cr.Memo Header) :

Summary: Raised at the end of the request page OnOpenPage trigger, allowing subscribers to override the request page caption dynamically.

[IntegrationEvent(false, false)]
local procedure OnAfterOnOpenRequestPage(var RequestPageCaption: Text; var SalesCrMemoHeader: Record "Sales Cr.Memo Header"): 

Parameters:

  • RequestPageCaption: The caption to display on the request page. Set this to a non-empty value to replace the default caption defined in the report metadata.
  • SalesCrMemoHeader: The sales credit memo header filter record as set on the request page. Can be read to determine context (e.g. whether a specific credit memo is pre-selected).

Remarks: Fired after the standard OnUpdateRequestPageSettings calls and the option values setup. If RequestPageCaption is set to a non-empty string, Caption(RequestPageCaption) is called on the request page to replace the default title. This is the only KBA report in this series with an OnOpenPage-specific extension event.

Protected Variables

GlobalLogInteraction

Type: Boolean

GlobalPrintOnNotePaper

Type: Boolean

GlobalShowInternalInfo

Type: Boolean

GlobalShowZeroQuantityLines

Type: Boolean

GlobalNoOfCopies

Type: Integer