tablePlatform, DevOps & Performanceofficial - Microsoftderived - from the source, no model text

Table 9650 "Custom Report Layout"

Base Application · Microsoft.Foundation.Reporting

Across versions

  1. BC23present
  2. BC241 fields changed
  3. BC252 procedures added
  4. BC26-27unchanged
  5. BC281 procedures changed, 1 events changed
  6. BC299 fields changed
  7. BC30unchanged

Neighbourhood 19 connected objects and pages

Page 9650 "Custom Report Layouts" (pages and codeunits on it, 3 links)Custom Report LayoutsPage 9653 "Report Layouts Part" (pages and codeunits on it)Report Layouts PartCodeunit 4100 "Temp Blob" (calls, 20 links)Temp BlobCodeunit 9651 "Document Report Mgt." (calls, 7 links)Document Report Mgt.Codeunit 419 "File Management" (calls, 4 links)File ManagementTable 9657 "Custom Report Selection" (referenced by, 4 links)Custom Report SelectionTable 77 "Report Selections" (referenced by, 3 links)Report SelectionsTable 5103 "Interaction Tmpl. Language" (referenced by, 2 links)Interaction Tmpl. LanguageTable 9651 "Report Layout Selection" (referenced by, 2 links)Report Layout Selection(Obsolete) Create and modify custom report layouts (Learn pages)(Obsolete) Import and Export Custom Report Layouts (Learn pages)(Obsolete) Import and Export…(Obsolete) Set the Layout Used by a Report (Learn pages)(Obsolete) Set the Layout Us…(Obsolete) Update Custom Report Layouts (Learn pages)(Obsolete) Update Custom Rep…Assign document layouts to customers or vendors (Learn pages)Assign document layouts to c…Get started creating report layouts (Learn pages)Get started creating report …Report and document layouts overview (Learn pages)Set the Layout Used by a Report in Business Central (Learn pages)Working with Excel layouts (Learn pages)Working with RDLC Layouts (Learn pages)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

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): Text
  • ValidateLayout(useConfirm: Boolean; UpdateContext: Boolean): Boolean
  • UpdateReportLayout(ContinueOnError: Boolean; IgnoreDelete: Boolean): Boolean
  • TryUpdateLayout(IgnoreDelete: Boolean): Text
  • ExportSchema(DefaultFileName: Text; ShowFileDialog: Boolean): Text
  • GetFileExtension(): Text[4]
  • GetWordXmlPart(ReportID: Integer): Text
  • RunCustomReport()
  • 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(): Boolean
  • NewExtensionLayout(ExtensionAppId: Guid; LayoutDataTable: DotNet DataTable)
  • HasLayout(): Boolean
  • HasCustomXmlPart(): Boolean
  • GetLayout(): Text
  • GetCustomXmlPart(): Text
  • GetLayoutBlob(var TempBlob: Codeunit "Temp Blob")
  • ClearLayout()
  • ClearCustomXmlPart()
  • CanModify(): Boolean
  • TestLayout()
  • 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

Referenced by

11 fields in 4 objects relate to this table (TableRelation or CalcFormula).

Pages and codeunits on this 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.

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.

Evidence 1 sources