Table of Contents

KVSKBADocumentTotalBuffer

Fields

Name Type Note
Doc Scope Enum (KVSKBADocumentScope)
Doc Type Enum (KVSKBADocumentType)
No. Code[20]
Doc. No. Occurrence Integer
Version No. Integer
Entry No. Integer
Line Type Option OptionMembers: TotalText,TotalAmount,FeeText,SignatureBlock,TotalFormattedText,FeeAmount,FeeFormattedText,,HeadingComment,ServiceComment
Text Text[250]
Amount Decimal
Currency Code Code[10]
Date Date
Formatted Text Blob
Custom Fields Blob

Procedures

BuildFieldDataList(Record KVSKBADocumentHeaderBuffer) :

procedure BuildFieldDataList(var tmpDocHeader: Record "KVSKBADocumentHeaderBuffer"): 

GetFieldDataText() : Text

procedure GetFieldDataText(): Text

AddCustomFields(Codeunit KVSKBAMasterDocFieldData) :

procedure AddCustomFields(var CustomFieldsDataList: Codeunit "KVSKBAMasterDocFieldData"): 

GetTableType() : Enum

Summary: Determines the document table type based on the line type of the current record.

procedure GetTableType(): Enum KVSKBADocumentTableType

Returns: The corresponding KVSKBADocumentTableType enum value for the line type.

Remarks: This procedure maps the "Line Type" option of the current record to a specific document table type (KVSKBADocumentTableType). Before applying the default mapping, it raises the OnBeforeGetTableType integration event, allowing subscribers to override the mapping logic for extensibility.

         If not handled externally, the procedure uses a case statement to map each line type (e.g., TotalText,
         TotalAmount, FeeText, SignatureBlock, etc.) to its corresponding table type (e.g., TotalTable, FeeTable,
         SignatureTable, ServiceHeadingTable, ServiceCommentTable). If the line type does not match any known value,
         TotalTable is returned as the default.
        
         This mapping is used to control layout and formatting logic for document totals, fees, headings, and comments
         in reports and printouts. It enables flexible and maintainable document rendering by separating line type logic
         from table layout logic.

GetLineType() : Enum

procedure GetLineType(): Enum KVSKBADocumentLineType

GetBlobText() : Text

procedure GetBlobText(): Text

SetBlobText(Text) :

procedure SetBlobText(WriteText: Text): 

UpdateCustomFields() : Boolean

procedure UpdateCustomFields(): Boolean

ClearCustomFields() :

procedure ClearCustomFields(): 

GetCustomFields() : Text

procedure GetCustomFields(): Text

SetCustomFields(Text) :

procedure SetCustomFields(WriteText: Text): 

AddCustomFieldText(Text, Text) :

procedure AddCustomFieldText(Key: Text; Value: Text): 

Events

OnBeforeGetLineType(Record KVSKBADocumentTotalBuffer, Enum KVSKBADocumentLineType, Boolean) :

[IntegrationEvent(false, false)]
local procedure OnBeforeGetLineType(KVSKBADocumentTotalBuffer: Record "KVSKBADocumentTotalBuffer"; var KVSKBADocumentLineType: Enum "KVSKBADocumentLineType"; var IsHandled: Boolean): 

OnBeforeGetTableType(Record KVSKBADocumentTotalBuffer, Enum KVSKBADocumentTableType, Boolean) :

Summary: Integration event: Allows subscribers to override the default table type mapping for a document total line.

[IntegrationEvent(false, false)]
local procedure OnBeforeGetTableType(DocumentTotalBuffer: Record "KVSKBADocumentTotalBuffer"; var DocumentTableType: Enum "KVSKBADocumentTableType"; var IsHandled: Boolean): 

Parameters:

  • DocumentTotalBuffer: The current KVSKBADocumentTotalBuffer record.
  • DocumentTableType: The document table type to be set by the subscriber.
  • IsHandled: Set to true by the subscriber to indicate that custom logic was applied and default processing should be skipped.

Remarks: This integration event is raised before the standard logic in GetTableType is executed. Subscribers can use this event to provide custom mapping from line type to document table type, for example to support additional line types or implement company-specific layout rules. If a subscriber sets IsHandled to true, the default mapping logic is bypassed and the value assigned to DocumentTableType by the subscriber is used instead. This enables extensibility for report and document layout scenarios without modifying the base table logic.