Table 61 "Electronic Document Format"
Base Application · Microsoft.Foundation.Reporting
Across versions
- BC23present
- BC242 fields changed, 1 procedures added
- BC257 events added, 5 procedures added
- BC26unchanged
- BC271 events added, 1 events removed
- BC283 procedures removed, 3 events removed
- BC297 fields changed, 1 events changed
- BC30unchanged
Neighbourhood 10 connected objects and pages
Base Application · Microsoft.Foundation.Reporting · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Electronic Document Format |
| DataClassification | CustomerContent |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Code Δ BC29 | Code[20] | Specifies a code to identify the electronic document format in the system. | NotBlank |
| 2 | Usage Δ BC29 | Enum “Electronic Document Format Usage” | Specifies if the electronic document format is used for sales invoices or sales credit memos. | enum Enum 61 “Electronic Document Format Usage” |
| 4 | Description Δ BC29 | Text[250] | Specifies the electronic document format. | |
| 5 | Codeunit ID Δ BC29 | Integer | Specifies which codeunit is used to manage electronic document sending for this document sending method. | TableRelation AllObjWithCaption.“Object ID” where(“Object Type” = const(Codeunit)); NotBlank |
| 6 | Codeunit Caption Δ BC24 Δ BC29 | Text[250] | Specifies the name of the codeunit. | FlowField: lookup(AllObjWithCaption.“Object Caption” where(“Object Type” = const(Codeunit), “Object ID” = field(“Codeunit ID”))); not editable |
| 7 | Delivery Codeunit ID Δ BC29 | Integer | Specifies which delivery codeunit is used to manage electronic document sending for this document sending method. | TableRelation AllObjWithCaption.“Object ID” where(“Object Type” = const(Codeunit)) |
| 8 | Delivery Codeunit Caption Δ BC24 Δ BC29 | Text[250] | Specifies the name of the delivery codeunit. | FlowField: lookup(AllObjWithCaption.“Object Caption” where(“Object Type” = const(Codeunit), “Object ID” = field(“Delivery Codeunit ID”))); not editable |
Keys
- Key1: Code, Usage (clustered)
Events published
OnDiscoverElectronicFormat()(integration)OnBeforeGetDocumentFormatUsage(ElectronicDocumentFormat: Record "Electronic Document Format"; DocumentVariant: Variant; var DocumentFormatUsage: Enum "Electronic Document Format Usage"; var IsHandled: Boolean)+ BC25 (integration)OnBeforeGetDocumentFormatUsageForSalesHeader(ElectronicDocumentFormat: Record "Electronic Document Format"; SalesHeader: Record "Sales Header"; var DocumentUsage: Enum "Electronic Document Format Usage"; var IsHandled: Boolean)+ BC25 (integration)OnGetDocumentNoCaseElse(DocumentVariant: Variant; var DocumentNo: Code[20]; var IsHandled: Boolean; DocumentRecordRef: RecordRef)+ BC25 − BC25 (integration)- subscribers: Codeunit 6464 “Serv. Electr. Doc. Format” OnGetDocumentNoCaseElse
OnGetDocumentTypeCaseElse(DocumentVariant: Variant; var DocumentTypeText: Text[50]; DocumentRecordRef: RecordRef)+ BC25 − BC25 (integration)- subscribers: Codeunit 6464 “Serv. Electr. Doc. Format” OnGetDocumentTypeCaseElse
OnSendElectronicallyOnBeforeDeleteAll(var RecordExportBuffer: Record "Record Export Buffer"; var ClientFileName: Text[250]; DocumentVariant: Variant)(integration)OnSendElectronicallyOnBeforeRecordExportBufferInsert(var RecordExportBuffer: Record "Record Export Buffer"; RecRef: RecordRef)(integration)OnSendElectronicallyOnAfterRecRefGetTable(ElectronicDocumentFormat: Record "Electronic Document Format"; var RecRef: RecordRef)+ BC27 − BC27 (integration)OnBeforeGetAttachmentFileName(RecordVariant: Variant; DocumentNo: Code[20]; DocumentType: Text; Extension: Code[3]; var IsHandled: Boolean; var FileName: Text[250])(integration)OnGetDocumentFormatUsageCaseElse(DocumentRecordRef: RecordRef; var DocumentFormatUsage: Enum "Electronic Document Format Usage"; var IsHandled: Boolean)+ BC25 (integration)- subscribers: Codeunit 6464 “Serv. Electr. Doc. Format” OnGetDocumentUsageCaseElse
OnAfterShouldLogUptake(var ElectronicDocumentFormat: Record "Electronic Document Format"; var Result: Boolean)+ BC25 Δ BC29 (integration, obsolete 29.0)- subscribers: Codeunit 6464 “Serv. Electr. Doc. Format” OnAfterShouldLogUptake
OnSendElectronicallyOnAfterRecordExportBufferFileGenerated(var RecordExportBuffer: Record "Record Export Buffer"; RecRef: RecordRef)+ BC28 (integration)OnAfterSendElectronically(var ElectronicDocumentFormat: Record "Electronic Document Format"; var ClientFileName: Text[250]; DocumentVariant: Variant; ElectronicFormat: Code[20])+ BC28 (integration)
Procedures
SendElectronically(var TempBlob: Codeunit "Temp Blob"; var ClientFileName: Text[250]; DocumentVariant: Variant; ElectronicFormat: Code[20])ValidateElectronicSalesDocument(SalesHeader: Record "Sales Header"; ElectronicFormat: Code[20])ValidateElectronicJobsDocument(Job: Record Job; ElectronicFormat: Code[20])ValidateElectronicJobTasksDocument(JobTask: Record "Job Task"; ElectronicFormat: Code[20])+ BC24GetAttachmentFileName(RecordVariant: Variant; DocumentNo: Code[20]; DocumentType: Text; Extension: Code[3]): Text[250]GetDocumentFormatUsage(var DocumentFormatUsage: Enum "Electronic Document Format Usage"; DocumentVariant: Variant)+ BC25GetDocumentNo(DocumentVariant: Variant): Code[20]ValidateElectronicFormat(ElectronicFormat: Code[20])GetDocumentType(DocumentVariant: Variant): Text[50]InsertElectronicFormat(InsertElectronicFormatCode: Code[20]; InsertElectronicFormatDescription: Text[250]; CodeunitID: Integer; DeliveryCodeunitID: Integer; InsertElectronicFormatUsage: Option)
Plus 3 local procedures.
Triggers
OnInsert, OnModify
Relations
- lookup page Page 363 “Electronic Document Format”
Referenced by
4 fields in 2 objects relate to this table (TableRelation or CalcFormula).
- Table 60 “Document Sending Profile”: Disk Format, E-Mail Format, Electronic Format
- Table 62 “Record Export Buffer”: Electronic Document Format
Pages and codeunits on this table
- Page 363 “Electronic Document Format” (source table)
- Page 366 “Electronic Document Formats” (source table)
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 425 “Data Compression” (4 calls:
SendElectronically → AddEntry,SendElectronically → CloseZipArchive,SendElectronically → CreateZipArchive, …) - Codeunit 4100 “Temp Blob” (2 calls:
SendElectronically → CreateInStream,SendElectronically → CreateOutStream) - Codeunit 53 “Translation Helper” (2 calls:
GetDocumentType → RestoreGlobalLanguage,GetDocumentType → SetGlobalLanguageByCode) - Codeunit 419 “File Management” (1 call:
GetAttachmentFileName → StripNotsupportChrInFileName) - Codeunit 452 “Report Distribution Management” (1 call:
GetDocumentType → GetDocumentLanguageCode)
Recent changes
- 2026-09-29 #11774 Use lower case file extensions for document attachment file names (main, BC30, fix)
Deprecations
- procedure ShouldLogUptake: guarded (#if not CLEAN29)
- procedure OnAfterShouldLogUptake: Pending 29.0 (#if not CLEAN29), “Peppol functionality is replaced by PEPPOL App. This event will be removed in future versions.”
Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).
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: "table", object_name: "Electronic Document Format"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.