Outline panel
The outline shows the declarations of the current object as a tree under the heading Outline: fields, keys, controls, actions, triggers, procedures, event publishers and subscribers, and so on. It also lists the page and database trigger events that have subscribers. Use it to see an object's structure at a glance and to jump to a declaration. Select a node to go to its declaration in the current view of the Objects page.
Opening it
- It is the right panel of the Objects page, and follows the current object.
- When it is hidden, select View › Show › Outline in the Workspace window.
- Select View › Outline, or press Ctrl+O, to open the outline of the current object in a window of its own, titled with the object and outline. That window stays on the object it was opened for, so you can keep outlines of several objects open.
| # | Name | Description |
|---|---|---|
| 1 | Collapse all nodes | Collapses every node. |
| 2 | Expand all nodes | Expands every node. |
| 3 | Reveal selected node in outline panel | Scrolls the outline to the selected node and expands the nodes above it. Available while a node is selected. |
| 4 | Toggle search box | Shows or hides the search box. |
| 5 | Filter and display | Opens the filter popup. The icon turns into a filled, accent colored filter while the filter differs from the default. See Filter and display. |
| 6 | Search | Narrows the outline as you type. See Search and Showing X of Y. |
| 7 | Pinned row | The nodes above the top row stay pinned while you scroll. See Selection and pinned rows. |
| 8 | FlowField | A mark before a field's name shows that it is a FlowField; another mark shows a FlowFilter. Point at a mark to see which. |
Search and Showing X of Y
| # | Name | Description |
|---|---|---|
| 1 | Search | The search text. The outline narrows as you type. |
| 2 | Showing X of Y | How many nodes the filter and the search leave. Point at it to see what hides nodes (Types, Access, Obsolete, Extensions, Search); select it to open the filter popup. |
| 3 | Reset | Resets the filter to the outline's default types. The search stays. Shown while the filter differs from the default. |
| 4 | Matching node | A node that matches, with the nodes above it. |
A node matches by its name; a field also matches by its field number. A node stays visible when it or a node below it matches, so you always see where a match sits. The search box uses the Filter/search syntax chosen under Search syntax in the filter popup; point at the box for a reminder of the wildcards.
The Showing X of Y line appears only while the filter differs from the default or a search is typed.
Selection and pinned rows
- Select a node to go to its declaration. Double-click a node to go to it again after you have scrolled away.
- When you go to a procedure or another declaration in the object view, by a link or from search results, the outline selects its node and scrolls to it.
- While you scroll, the nodes above the top row stay pinned at the top, so you always see where you are. Select a pinned row to go to it, or select its chevron to collapse it.
Context menus
Right-click a node's name for the same context menu the declaration has in the Object view; see Declaration context menu and Procedure context menu. A field's menu in the outline has these items:
Right-click elsewhere on a row for a short menu with Go to Source and Go to Line in Visual Studio Code.
Filter and display
Select Filter and display, or the Showing X of Y line, to choose which nodes the outline shows and how it shows them. Your choices apply as you select them.
| # | Name | Description |
|---|---|---|
| 1 | Presets | Choose a set of node types in one selection. See Presets. |
| 2 | Reset to default | Returns this object type to the default node types, every procedure access and Any obsolete state, and turns off Only changes from extensions. The search, the display switches and the search syntax are not affected. |
| 3 | Node types | A check box per node type the object has, with its icon and count, grouped under Code, Data, Layout and Metadata. See Node types. |
| 4 | Only | Appears beside the node type you point at: select it to show that type alone. |
| 5 | Procedure access | Public, Internal, Protected and Local, with counts. See Procedure access and obsolete members. |
| 6 | Obsolete (n) | Any, Hide or Only. See Procedure access and obsolete members. |
| 7 | Only changes from extensions | Shows only what extensions add or change. See Only changes from extensions. |
| 8 | Display | Kinds, Types, Property values, Field numbers and Groups. See Display and search syntax. |
| 9 | Search syntax | Substring, Whole name or Fuzzy. See Display and search syntax. |
| 10 | Node count | Showing X of Y nodes · applies as you click. |
The popup shows only what applies to the current object: the node types it has, Procedure access when its procedures have more than one access, Obsolete when it has obsolete members, and Only changes from extensions when extensions change it. A choice saved earlier that still narrows the outline keeps its section visible.
Presets
Prism offers only the presets that make a difference for the current object, so a codeunit gets no Data model and a table no Layout. A preset shows the types it names that the object has and hides the others.
| Preset | Shows |
|---|---|
| All | Every node type the object has, including the ones hidden by default. |
| Data model | The Data types: fields, keys, field groups and values. |
| Layout | The Layout types: controls, actions, views, data items, columns, filters, layouts, the request page, report labels, elements and attributes. |
| Code | Procedures, event publishers, event subscribers, events, triggers and trigger events. |
| Events | Event publishers, event subscribers, events and trigger events. |
| API surface | Public and protected procedures, event publishers and events. Event publishers show whatever their access, since a local event can still be subscribed to. |
When you change a check box yourself, no preset is selected.
Node types
| Group | Node types | Hidden by default |
|---|---|---|
| Code | Procedures, Event publishers, Event subscribers, Events, Triggers, Trigger events, Variables, Used global variables, Parameters, Labels | Variables, Used global variables, Parameters, Labels |
| Data | Fields, Keys, Field groups, Values | None |
| Layout | Controls, Actions, Views, Data items, Columns, Filters, Layouts, Request page, Report labels, Elements, Attributes | None |
| Metadata | Properties, Annotations | Properties, Annotations |
Hiding a type hides its nodes and everything under them. Nodes of no type in the list, such as namespaces and groups, always show. An event publisher is filtered as an event publisher, not as a procedure.
Used global variables are the global variables each procedure and trigger uses. Prism finds them only while Show used global variables is on, on the Settings page. It is off by default.
Procedure access and obsolete members
- Procedure access: select Public, Internal, Protected or Local to show or hide procedures of that access. The count is the number of such procedures in the object. Event publishers are not affected.
- Obsolete (n), where n is the number of obsolete members: Any (the default) shows all members, Hide hides obsolete members and everything under them, and Only shows only obsolete members, with the nodes above them.
Only changes from extensions
Only changes from extensions shows only the fields, controls, actions and code that extensions add to or change in this object. It is offered only when the outline contains such changes, that is, in the Extended view of an object that extensions extend, and it never empties the outline of an object without them.

| # | Name | Description |
|---|---|---|
| 1 | Added field | A field an extension adds to the table. |
| 2 | Filter and display | Filled and accent colored while the filter differs from the default. |
Display and search syntax
The Display switches and the Search syntax apply at once, to every outline.
| Option | Default | Effect |
|---|---|---|
| Kinds | On | Shows each node's kind beside it, such as Local Procedure or Field. |
| Types | Off | Shows the data type of fields, variables, parameters and return values. |
| Property values | Off | Shows the values of properties. Available while Properties are shown. |
| Field numbers | Off | Shows field numbers. Available while Fields are shown. |
| Groups | Off | Shows groups such as Procedures and Fields as nodes, with their members under them. |
| Search syntax | Substring | How the search box matches: Substring matches anywhere in a name, Whole name matches the whole name, and Fuzzy matches names that contain the typed characters in order, with anything between them. In Substring and Whole name, * matches any run of characters and ? any single character; see Filter/search syntax. |
What Prism remembers
- Prism remembers the node types, procedure access, obsolete choice and Only changes from extensions per object type: what you choose for a table applies to every table, and a codeunit keeps its own choice. A type the current object lacks keeps its saved choice.
- The Display switches and the Search syntax are the same for every outline.
- Reset to default in the popup, or Reset under the search box, returns the current object type to the defaults.
Overloaded procedures
Overloaded procedures carry a counter and navigation arrows that show whether more overloads come before or after a procedure. Select an arrow to go to the previous or next overload.

| # | Name | Description |
|---|---|---|
| 1 | Overloaded procedure | The first of the overloads, with its counter and the arrow to the next one. |
Show only the fields of a table
Use this to read a table's data model without its triggers and code.
- Open the table and select Filter and display in the outline.
- Select the Data model preset for fields, keys and field groups, or point at Fields and select Only for fields alone.
- Optionally, switch on Field numbers and Types under Display.
The outline shows only those nodes, and every table you open afterwards does the same until you select Reset.
See what a codeunit offers other objects
Use this to see what other objects can call in a codeunit, and which events they can subscribe to.
- Open the codeunit and select Filter and display in the outline.
- Select the API surface preset.
The outline lists the public and protected procedures and the event publishers.