KVSKBASalesProformaCrMemo
Procedures
AddItemTrackingLines() :
Summary: Adds item tracking heading and line rows inline beneath the current document line when GlobalShowItemTracking = DocLines.
procedure AddItemTrackingLines():
Remarks: Called from the DocLines OnAfterGetRecord trigger (after OnBeforeAddItemTrackingLines) when TempTrackingSpecBuffer has entries for the current line. TempTrackingSpecBuffer must already be filtered to the current line's Source Ref. No. before calling. The procedure first iterates TempTrackingSpecBuffer to determine which captions (LotNo, SerialNo, Quantity) are needed, then calls OnBeforeAddItemTrackingHeading / MasterDoc.AddItemTrackingHeading, and then iterates again calling OnBeforeAddItemTrackingLine / MasterDoc.AddItemTrackingLine for each entry. Declared as a public procedure (no access modifier) so that extension codeunits can call it when subscribing to OnBeforeAddItemTrackingLines.
OnUpdateRequestPageSettings(Enum KVSKBADocumentInitEventType, Boolean, Integer, Boolean, Boolean, Boolean, Boolean, Boolean, Option, Boolean, Boolean) :
OBSOLETE
This Element will be removed or changed with a future Version of the App.
Summary: Raised at multiple stages of request page initialization so that subscribers can read or modify report option settings.
[Obsolete('Not intended for public use. Will be internal in future releases. This does only affect procedure caller not subscribers. The event remains in place.', '26.4')]
[IntegrationEvent(true, false)]
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: This event is declared as public but is marked Obsolete; it will be changed to internal in a future release. Subscribers are not affected by the Obsolete tag. 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. The event is specific to this Pro Forma Credit Memo report and does not include a QuantityType parameter.
Events
OnUpdateRequestPageSettings(Enum KVSKBADocumentInitEventType, Boolean, Integer, Boolean, Boolean, Boolean, Boolean, Boolean, Option, Boolean, Boolean) :
OBSOLETE
This Element will be removed or changed with a future Version of the App.
Summary: Raised at multiple stages of request page initialization so that subscribers can read or modify report option settings.
[Obsolete('Not intended for public use. Will be internal in future releases. This does only affect procedure caller not subscribers. The event remains in place.', '26.4')]
[IntegrationEvent(true, false)]
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: This event is declared as public but is marked Obsolete; it will be changed to internal in a future release. Subscribers are not affected by the Obsolete tag. 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. The event is specific to this Pro Forma Credit Memo report and does not include a QuantityType parameter.
OnBeforeCheckDocStructureOnAfterGetRecord(Record Sales Header, Boolean, 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; PrintOutput: Boolean):
Parameters:
DocumentHeader: The sales header currently being processed (Return Order or Credit Memo).Handled: Set to true to skip the standard structure validation (position-number calculation and check, SalesLib.CheckTotalStructureInSalesLine).PrintOutput: Indicates whether the report will produce print output. False when the report runs in preview or e-mail-body context.
Remarks: This event includes the PrintOutput parameter, which is unique among the header events of this report family. Subscribers that need to conditionally suppress validation for non-print runs should check PrintOutput before setting Handled.
OnBeforeCalculateCrMemoNo(Record KVSKBADocumentHeaderBuffer, Record Sales Header, Code[20], Code[20], Text[50], Boolean, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeCalculateCrMemoNo(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var DocumentHeader: Record "Sales Header"; var CrMemoNo: Code[20]; var OrderNo: Code[20]; var OrderNoCaption: Text[50]; var Handled: Boolean; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeCreateDocumentHeader(Record KVSKBADocumentHeaderBuffer, Boolean, Record Sales Header, Codeunit KVSKBAMasterDoc, Code[20], Code[20], Text[50]) :
[IntegrationEvent(true, false)]
local procedure OnBeforeCreateDocumentHeader(var DocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var Handled: Boolean; var DocumentHeader: Record "Sales Header"; var MasterDoc: Codeunit "KVSKBAMasterDoc"; var CrMemoNo: Code[20]; var OrderNo: Code[20]; var OrderNoCaption: Text[50]):
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) :
OnPostDataItemDocFooterText(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Record Sales Header, Codeunit KVSKBAMasterDoc) :
OnDocFooterFinished(Record KVSKBADocumentHeaderBuffer, Record Sales Header, 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"):
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"):
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"):
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"):
OnPreDataItemVATClauseSpec(Record KVSKBADocumentHeaderBuffer, Record Sales 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 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 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 Header"; var TempVATAmountLine: Record "VAT Amount Line" temporary; var IsHandled: Boolean; var VATClause: Record "VAT Clause"; var KVSKBAMasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeAddItemTrackingAppendix(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Option, Record Tracking Specification, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(true, false)]
local procedure OnBeforeAddItemTrackingAppendix(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var IsHandled: Boolean; var DocumentHeader: Record "Sales Header"; var ShowItemTracking: Option; var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; var MasterDoc: Codeunit "KVSKBAMasterDoc"):
OnBeforeAddItemTrackingAppendixLine(Record KVSKBADocumentHeaderBuffer, Record KVSKBADocumentLineBuffer, Boolean, Record Sales Header, Record Sales Cr.Memo Line, Record Tracking Specification, Codeunit KVSKBAMasterDoc) :
[IntegrationEvent(false, false)]
local procedure OnBeforeAddItemTrackingAppendixLine(var TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var IsHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Cr.Memo Line"; var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; 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 TempDocumentHeaderBuffer: Record "KVSKBADocumentHeaderBuffer" temporary; var TempDocumentLineBuffer: Record "KVSKBADocumentLineBuffer" temporary; var IsHandled: Boolean; var DocumentHeader: Record "Sales Header"; var DocumentLine: Record "Sales Line"; var TempTrackingSpecBuffer: Record "Tracking Specification" temporary; var MasterDoc: 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; DocumentTableType: 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; DocumentTableType: 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"):
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):
OnAfterGetSalesPostGetSalesLines(Record Sales Header, Record Sales Line, Integer) :
Summary: Raised after SalesPost.GetSalesLines has populated TempGlobalSalesLine for the current document.
[IntegrationEvent(false, false)]
local procedure OnAfterGetSalesPostGetSalesLines(DocHeader: Record "Sales Header"; var TempSalesLine: Record "Sales Line" temporary; QtyType: Integer):
Parameters:
DocHeader: The sales header being processed (Return Order or Credit Memo).TempSalesLine: The temporary sales line buffer populated by SalesPost.GetSalesLines. Modifiable by subscribers. Changes affect all subsequent line processing including VAT calculation.QtyType: The quantity type code passed to GetSalesLines (0 = General). Not modifiable but provided for context.
Remarks: This event is unique to this Pro Forma Credit Memo report and does not exist in other sales document reports. It provides a hook to add, remove or modify lines in TempGlobalSalesLine before the VAT amount lines are calculated (TempGlobalSalesLine.CalcVATAmountLines and UpdateVATOnLines). Subscribers must be aware that modifying TempSalesLine at this point affects all downstream processing including totals, VAT and the line output loop.
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.
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. Prepayment amounts (PrepmtVATAmount, PrepmtTotalAmountInclVAT) are also available at this point. 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"):
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"):
Protected Variables
Item
Type: Record Item
GlobalItemChargeAssignment
Type: Record Item Charge Assignment (Sales)
TempDocHeaderBuffer
Type: Record (KVSKBADocumentHeaderBuffer) temporary
TempDocLineBuffer
Type: Record (KVSKBADocumentLineBuffer) temporary
DocLineFormatRec
Type: Record (KVSKBADocumentLineFormat)
SalesSetup
Type: Record Sales & Receivables Setup
GlobalMasterDoc
Type: Codeunit (KVSKBAMasterDoc)
KFWMasterDocReportMgt
Type: Codeunit (KVSKBAMasterDocReportMgt)
ReportUtils
Type: Codeunit (KVSKBAReportUtilities)
GlobalArchiveDocument
Type: Boolean
GlobalDisplayAssemblyInfo
Type: Boolean
GlobalLogInteraction
Type: Boolean
GlobalPrintOnNotePaper
Type: Boolean
GlobalShowCountryOfOrigin
Type: Boolean
GlobalShowInternalInfo
Type: Boolean
GlobalShowTariffNo
Type: Boolean
CrossRefNo
Type: Code[50]
GlobalNoOfCopies
Type: Integer
LineCounter
Type: Integer
GlobalShowItemTracking
Type: Option
TextBuffer
Type: Text