Table 9650 "Custom Report Layout"
Base Application · Microsoft.Foundation.Reporting
Across versions
- BC23present
- BC241 fields changed
- BC252 procedures added
- BC26-27unchanged
- BC281 procedures changed, 1 events changed
- BC299 fields changed
- BC30unchanged
Neighbourhood 19 connected objects and pages
Base Application · Microsoft.Foundation.Reporting · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 9650 “Custom Report Layouts” (10 Learn pages).
Properties
| Property | Value |
|---|---|
| Caption | Custom Report Layout |
| DataClassification | CustomerContent |
| Permissions | TableData “Custom Report Layout” = rimd |
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 the Code. | |
| 2 | Report ID Δ BC29 | Integer | Specifies the object ID of the report. | TableRelation AllObjWithCaption.“Object ID” where(“Object Type” = const(Report)) |
| 3 | Report Name Δ BC24 Δ BC29 | Text[250] | Specifies the name of the report. | FlowField: lookup(AllObjWithCaption.“Object Caption” where(“Object Type” = const(Report), “Object ID” = field(“Report ID”))); not editable |
| 4 | Company Name Δ BC29 | Text[30] | Specifies the Business Central company that the report layout applies to. You to create report layouts that can only be used on reports when they are run for a specific to a company. If the field is blank, then the layout will be available for use in all companies. | TableRelation Company |
| 6 | Type Δ BC29 | Enum “Custom Report Layout Type” | Specifies the file type of the report layout. The following table includes the types that are available: | enum Enum 9656 “Custom Report Layout Type” |
| 7 | Layout | BLOB | — | |
| 8 | Last Modified Δ BC29 | DateTime | Specifies the date and time of the last change to the report layout entry. | not editable |
| 9 | Last Modified by User Δ BC29 | Code[50] | Specifies the user who made the last change to the report layout entry. | TableRelation User.“User Name”; not editable; DataClassification EndUserIdentifiableInformation |
| 10 | File Extension | Text[30] | — | not editable |
| 11 | Description Δ BC29 | Text[250] | Specifies a description of the report layout. | |
| 12 | Custom XML Part | BLOB | — | |
| 13 | App ID | Guid | — | not editable |
| 14 | Built-In Δ BC29 | Boolean | Specifies if the report layout is built-in or not. | not editable |
| 15 | Layout Last Updated | DateTime | Layout Last Modified caption | not editable |
Keys
- Key1: Code (clustered)
- Key2: Report ID, Company Name, Type
Events published
OnBeforeCanBeModified(var CustomReportLayout: Record "Custom Report Layout"; var IsHandled: Boolean)(integration)OnBeforeUpdateLayout(var LayoutUpdated: Boolean; var IsHandled: Boolean)(integration)OnBeforeExportReportLayout(CustomReportLayout: Record "Custom Report Layout"; var DefaultFileName: Text; ShowFileDialog: Boolean)(integration)OnBeforeExportSchema(CustomReportLayout: Record "Custom Report Layout"; var DefaultFileName: Text; ShowFileDialog: Boolean; var IsHandled: Boolean)(integration)OnCopyRecordOnBeforeInsertLayout(var ToCustomReportLayout: Record "Custom Report Layout"; FromCustomReportLayout: Record "Custom Report Layout")(integration)OnGetNonBuiltInLayout(CustomReportLayout: Record "Custom Report Layout"; var InStream: InStream)(integration)OnGetFileExtension(CustomReportLayout: Record "Custom Report Layout"; var FileExt: Text[4])(integration)OnImportLayoutBlob(CustomReportLayout: Record "Custom Report Layout"; var TempBlob: Codeunit "Temp Blob"; FileExtension: Text[30]; XmlPart: Text; DocumentOutStream: OutStream)(integration)OnImportLayoutSetFileFilter(CustomReportLayout: Record "Custom Report Layout"; var FileFilterTxt: Text)(integration)OnInitBuiltInLayout(var CustomReportLayout: Record "Custom Report Layout"; ReportID: Integer; LayoutType: Option)(integration)OnLookupLayoutOKOnBeforePageRun(var CustomReportLayout: Record "Custom Report Layout")Δ BC28 (integration, obsolete 28.0)
Procedures
InitBuiltInLayout(ReportID: Integer; LayoutType: Option): Code[20]CopyBuiltInReportLayout()CopyReportLayout(): Code[20]ImportReportLayout(DefaultFileName: Text)ImportLayoutBlob(var TempBlob: Codeunit "Temp Blob"; FileExtension: Text[30])ExportReportLayout(DefaultFileName: Text; ShowFileDialog: Boolean): TextValidateLayout(useConfirm: Boolean; UpdateContext: Boolean): BooleanUpdateReportLayout(ContinueOnError: Boolean; IgnoreDelete: Boolean): BooleanTryUpdateLayout(IgnoreDelete: Boolean): TextExportSchema(DefaultFileName: Text; ShowFileDialog: Boolean): TextGetFileExtension(): Text[4]GetWordXmlPart(ReportID: Integer): TextRunCustomReport()ApplyUpgrade(var ReportUpgrade: DotNet ReportUpgradeSet; var ReportChangeLogCollection: DotNet IReportChangeLogCollection; testOnly: Boolean)LookupLayoutOK(ReportID: Integer): BooleanΔ BC28 (obsolete 28.0: This procedure is obsolete because the lookup page 9650 Custom Report Layouts is obsoleted.)GetDefaultCode(ReportID: Integer): Code[20]CanBeModified(): BooleanNewExtensionLayout(ExtensionAppId: Guid; LayoutDataTable: DotNet DataTable)HasLayout(): BooleanHasCustomXmlPart(): BooleanGetLayout(): TextGetCustomXmlPart(): TextGetLayoutBlob(var TempBlob: Codeunit "Temp Blob")ClearLayout()ClearCustomXmlPart()CanModify(): BooleanTestLayout()TestCustomXmlPart()SetLayout(Content: Text)SetCustomXmlPart(Content: Text)SetDefaultCustomXmlPart()SetLayoutBlob(var TempBlob: Codeunit "Temp Blob")SetLayoutLastUpdated()(internal)
Plus 17 local procedures.
Triggers
OnDelete, OnInsert, OnModify
Relations
- drill-down page Page 9650 “Custom Report Layouts”
- lookup page Page 9650 “Custom Report Layouts”
Referenced by
11 fields in 4 objects relate to this table (TableRelation or CalcFormula).
- Table 9657 “Custom Report Selection”: Custom Report Description, Email Body Layout Description, Custom Report Layout Code, Email Body Layout Code
- Table 77 “Report Selections”: Email Body Layout Description, Custom Report Layout Code, Email Body Layout Code
- Table 5103 “Interaction Tmpl. Language”: Custom Layout Description, Custom Layout Code
- Table 9651 “Report Layout Selection”: Report Layout Description, Custom Report Layout Code
Pages and codeunits on this table
- Page 9650 “Custom Report Layouts” (source table)
- Page 9653 “Report Layouts Part” (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 4100 “Temp Blob” (20 calls:
ApplyUpgrade → CreateInStream,ApplyUpgrade → CreateOutStream,ApplyUpgrade → HasValue, …) - Codeunit 9651 “Document Report Mgt.” (7 calls:
ImportLayoutBlob → TryUpdateRdlcLayout,ImportLayoutBlob → TryUpdateWordLayout,ImportLayoutBlob → ValidateWordLayout, …) - Codeunit 419 “File Management” (4 calls:
ExportReportLayout → BLOBExport,ExportSchema → BLOBExport,ImportReportLayout → BLOBImportWithFilter, …)
Deprecations
- procedure FilterOnReport: guarded (#if not CLEAN28)
- procedure LookupLayoutOK: Pending 28.0 (#if not CLEAN28), “This procedure is obsolete because the lookup page 9650 Custom Report Layouts is obsoleted.”
- procedure OnLookupLayoutOKOnBeforePageRun: Pending 28.0 (#if not CLEAN28), “This procedure is obsolete because the procedure LookupLayoutOK is obsoleted.”
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: "Custom Report Layout"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.