Codeunit 9988 "Word Template Impl."
System Application · System.Integration.Word
Across versions
- BC23-30present
Neighbourhood 13 connected objects and pages
System Application · System.Integration.Word · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
| Permissions | tabledata “Word Template” = rim, tabledata “Word Template Field” = rimd, tabledata “Word Templates Table” = ri, tabledata “Word Templates Related Table” = rimd, tabledata AllObj = r, tabledata Field = r |
Event subscriptions
- OnSetTableNo subscribes to Page “Word Template Creation Wizard” OnSetTableNo
- OnAfterInsertWordTemplate subscribes to Table “Word Template” OnAfterInsertEvent
- OnBeforeDeleteWordTemplate subscribes to Table “Word Template” OnBeforeDeleteEvent
Procedures
DownloadTemplate()DownloadTemplate(WordTemplateRec: Record "Word Template")ConvertColNoToColName(ColumnNo: Integer): Text[10](internal): Used for getting the proper Column name corresponding to a column number. Excel columns goes from A..Z AB..AZ etc and not 1..999~DownloadDocument()Upload(var TemplateRecToUpdate: Record "Word Template"; var UploadedFileName: Text): Boolean(internal)Upload(var TemplateRecToUpdate: Record "Word Template")(internal)GetTemplate(var TemplateInStream: InStream)GetDocument(var DocumentInStream: InStream)GetDocumentSize(): IntegerCreate()Create(TableId: Integer; var TempWordTemplateFields: Record "Word Template Field" temporary)Create(TableId: Integer; RelatedTableIds: List of [Integer]; RelatedTableCodes: List of [Code[5]]; var TempWordTemplateFields: Record "Word Template Field" temporary)Create(MailMergeFields: List of [Text])Load(WordTemplateCode: Code[30])Load(TemplateInStream: InStream)Load(TemplateInStream: InStream; WordTemplateCode: Code[30])Merge(Data: Dictionary of [Text, Text]; SplitDocument: Boolean; SaveFormat: Enum "Word Templates Save Format")Merge(Data: Dictionary of [Text, Text]; SplitDocument: Boolean; SaveFormat: Enum "Word Templates Save Format"; EditDoc: Boolean; DocSharingConflictBehavior: Enum "Doc. Sharing Conflict Behavior")Merge(SplitDocument: Boolean; SaveFormat: Enum "Word Templates Save Format")Merge(RecordVariant: Variant; SplitDocument: Boolean; SaveFormat: Enum "Word Templates Save Format"; EditDoc: Boolean)Merge(RecordVariant: Variant; SplitDocument: Boolean; SaveFormat: Enum "Word Templates Save Format"; EditDoc: Boolean; ConflictBehavior: Enum "Doc. Sharing Conflict Behavior")SetFiltersOnRecord(var RecordRef: RecordRef)AddTable(TableId: Integer)AllowedTableExist(TableId: Integer): BooleanGetTableId(): Integer(internal)AddTable(): Integer(internal)GetTable(Caption: Text; var AllObjWithCaption: Record AllObjWithCaption; FilterExpression: Text): Boolean(internal)RunModalWordTemplatesRelated(TableId: Integer; RelatedCode: Code[30]; var WordTemplatesRelatedTable: Record "Word Templates Related Table"; FilterExpression: Text; EditOnly: Boolean; var TempWordTemplateField: Record "Word Template Field" temporary): Boolean(internal)GetField(Caption: Text; TableId: Integer; FilterExpression: Text): Integer(internal)GetTemplateName(FileExtension: Text): Text(internal)SelectTable(): IntegerRefreshTreeView(SourceTableId: Integer; var WordTemplatesRelatedBuffer: Record "Word Templates Related Buffer")(internal)RefreshTreeViewRecursively(var WordTemplatesRelatedBuffer: Record "Word Templates Related Buffer"; var Position: Integer; Depth: Integer; TableId: Integer)(internal)AddSelectedTable(var WordTemplatesRelatedBuffer: Record "Word Templates Related Buffer"; WordTemplateCode: Code[30]; var TempWordTemplateField: Record "Word Template Field" temporary): Boolean(internal)AddTable(var WordTemplatesRelatedBuffer: Record "Word Templates Related Buffer"; WordTemplateCode: Code[30]; SourceTableId: Integer; RecordSystemId: Guid; RelatedCode: Code[5]; var TempWordTemplateField: Record "Word Template Field" temporary): Boolean(internal)EditRelatedTable(var WordTemplatesRelatedBuffer: Record "Word Templates Related Buffer"; var TempWordTemplateField: Record "Word Template Field" temporary): Boolean(internal)IsRelatedTableCodeAndIdUnique(WordTemplateCode: Code[30]; TableCode: Code[5]; TableId: Integer): BooleanAddRelatedTable(var WordTemplatesRelatedBuffer: Record "Word Templates Related Buffer"; SourceTableId: Integer; FilterRelatedTables: Boolean; var TempWordTemplateField: Record "Word Template Field" temporary): Boolean(internal)AddRelatedTableToBuffer(var WordTemplatesRelatedBuffer: Record "Word Templates Related Buffer"; TempWordTemplatesRelatedTable: Record "Word Templates Related Table" temporary): Boolean(internal)VerifyRelatedTableCodeIsUnique(WordTemplateCode: Code[30]; RelatedTableCode: Code[5]; RelatedTableId: Integer; var TempWordTemplatesRelatedBuffer: Record "Word Templates Related Buffer" temporary)(internal)VerifyRelatedTableIdIsUnused(WordTemplateCode: Code[30]; RelatedTableId: Integer; var TempWordTemplatesRelatedBuffer: Record "Word Templates Related Buffer" temporary)(internal)AddRelatedTable(WordTemplateCode: Code[30]; RelatedCode: Code[5]; TableId: Integer; RelatedTableId: Integer; FieldNo: Integer): Boolean(internal)AddRelatedTable(var WordTemplatesRelatedTable: Record "Word Templates Related Table"; TempWordTemplatesRelatedTable: Record "Word Templates Related Table" temporary): Boolean(internal): Attempts to a add a related table. If the related table code or related table id already exists, the table is not added and a message is shown.GetChildren(WordTemplateCode: Code[30]; TableId: Integer): List of [Integer]RemoveTable(WordTemplateCode: Code[30]; TableId: Integer): Boolean(internal)UpdateRelatedEntity(WordTemplatesRelatedTable: Record "Word Templates Related Table"; TableId: Integer)(internal)InsertWordTemplate(var WordTemplateRec: Record "Word Template")(internal)GetCustomMergeFields(TableId: Integer; RelatedTableCode: Code[5]; var MailMergeFields: List of [Text]; var WordTemplateField: Record "Word Template Field")(internal)AddFieldRefToDataTable(var FieldRef: FieldRef; RecordExist: Boolean; WriteColumns: Boolean; RelatedTableCode: Code[5]; var Counter: Integer; var MailMergeFieldsCount: Dictionary of [Text, Integer]; var DataTable: DotNet DataTable; var RowsArrayList: DotNet ArrayList; var TempWordTemplateCustomField: Record "Word Template Custom Field" temporary)(internal)GetRelatedRecord(var RelatedRecord: RecordRef; Reference: Variant): Boolean(internal)GetByPrimaryKey(var RecordRef: RecordRef; ReferenceVariant: Variant): Boolean(internal)GetMergeFields(var Value: List of [Text])GetFieldNo(var FilterExpression: Text; ParentTableNo: Integer; RelatedTableNo: Integer): Integer(internal)GetRelatedTablesFilterExpression(TableNo: Integer): Text(internal)GenerateCode(ObjectCaption: Text[249]; ExistingCodes: Dictionary of [Code[5], Boolean]): Code[5](internal)GetExistingCodes(var TempWordTemplatesRelatedTable: Record "Word Templates Related Table" temporary): Dictionary of [Code[5], Boolean](internal)GetExistingCodes(var TempWordTemplatesRelatedBuffer: Record "Word Templates Related Buffer" temporary): Dictionary of [Code[5], Boolean](internal)
Plus 38 local procedures.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 4100 “Temp Blob” (22 calls:
DownloadDocument → CreateInStream,DownloadTemplate → CreateInStream,EditDocumentAfterMerge → CreateInStream, …) - Codeunit 425 “Data Compression” (14 calls:
GenerateSpreadsheetDataSource → AddEntry,GetFileFromZip → ExtractEntry,GetFileFromZip → GetEntryList, …) - Codeunit 8703 “Feature Telemetry” (5 calls:
ExecuteMerge → LogError,ExecuteMerge → LogUptake,ExecuteMerge → LogUsage, …) - Codeunit 9981 “Word Template Custom Field” (4 calls:
GetCustomMergeFields → GetCustomFields,GetCustomMergeFields → SetCurrentTableId,GetCustomTableColumns → GetCustomFields, …) - Codeunit 9989 “Word Template Field Selection” (4 calls:
AddRecordRefToDataTable → TableUsesDefaultFields,AddUnrelatedTable → SelectDefaultFieldsForTable,GetCustomMergeFields → IsCustomFieldSelected, …) - Codeunit 9987 “Word Template” (3 calls:
AddCustomValuesToDataTable → OnGetCustomRecordValues,GetCustomMergeFields → OnGetCustomFieldNames,GetCustomTableColumns → OnGetCustomFieldNames) - Codeunit 9560 “Document Sharing” (2 calls:
EditDocumentAfterMerge → Share,EditDocumentAfterMerge → ShareEnabled) - Codeunit 9983 “Word Template Field Value” (2 calls:
AddCustomValuesToDataTable → Initialize,AddCustomValuesToDataTable → SetCurrentRecord) - Codeunit 3960 “Regex” (1 call:
GetTemplateName → Replace) - Codeunit 9555 “Record Selection” (1 call:
AddSelectedTable → Open)
Called by
- Codeunit 9987 “Word Template” (15 calls:
AddRelatedTable → AddRelatedTable,AddTable → AddTable,AddUnrelatedTable → AddUnrelatedTable, …) - Page 9987 “Word Templates Related Part” (4 calls:
AddRelatedTable → AddRelatedTable,RefreshTreeView → RefreshTreeView,SetUnrelatedTable → AddTable, …) - Page 9986 “Word Templates Related Card” (1 call:
SetRelatedTable → GetFieldNo) - Page 9995 “Word Template Creation Wizard” (1 call:
SetMultipleTableNo → AddTable)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Word Template Impl."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.