Universal Search
Universal Search is one box that finds objects, members, Prism Paths, lines of the open object, menu commands, workspace pages and the places you have recently been, with a preview of the selected result's source. You open it with the Search Everywhere command.
Opening Universal Search
Universal Search opens as a popup over the Workspace window. The popup closes when it loses focus or when you open a result. The Search menu items marked below open it pinned into a window of its own, which stays open.
| How | Opens |
|---|---|
| Search › Search Everywhere…, Ctrl+T, or the Search button in the title bar | The popup with an empty box. |
| Ctrl+Shift+S | The popup in the Members mode: a k:member pill. |
| Ctrl+Shift+P | The popup with >: menu commands. |
| Ctrl+Shift+O | The popup with @: the members of the open object. |
| Search › Symbols… | A pinned window with k:member. |
| Search › Fields by Name… | A pinned window with k:field. |
| Search › Procedures by Name… | A pinned window with k:procedure. |
| Search › Event Publishers… | A pinned window with is:publisher. |
The title bar button hides when the window is too narrow to show it beside the menus. In the workspace window, Ctrl+Shift+G opens the separate Go to Prism Path dialog; see Go to path and position.
Search box and results

cust.| # | Name | Description |
|---|---|---|
| 1 | Pills | Finished filter tokens. See Filter tokens. |
| 2 | Search box | Type a name, an id, a type and a name, or any form in Query syntax. |
| 3 | Pin into a window | Moves the search into a window of its own (Ctrl+Enter). Shown in the popup only. See Pinning into a window. |
| 4 | Search mode and Kinds | Narrow the search to objects, members or chosen kinds. See Search modes and kinds. |
| 5 | Group | Groups the results by kind or by object, or lists them as one. Select it to cycle Group: Kind, Group: Object and Group: None. |
| 6 | Results and preview | The matches in groups, and the source of the selected one. See Results and grouping and Opening results and actions. |
| 7 | Status | How many objects and members match and how many are shown, such as 20 of 1,204 objects · 50 of 9,876 members, or why nothing is listed. See Status messages. |
Before you type
With an empty box, Universal Search lists two groups. Select a row and press Enter to use it.

| # | Name | Description |
|---|---|---|
| 1 | Shortcuts | Each row puts its prefix or pill in the box. The key caps show the shortcut that does the same from the workspace window. |
| 2 | Recent | Up to ten places from the navigation history, newest first, each listed once. Opening one goes back there. |
| 3 | Status | Type a name, an id such as 18, or a type and a name such as cu sales; ? lists the rest |
| Shortcut row | Puts in the box | Key |
|---|---|---|
| Members | k:member | Ctrl+Shift+S |
| This object | @ | Ctrl+Shift+O |
| Commands | > | Ctrl+Shift+P |
| Prism Path | prism: | – |
| Go to line | : | – |
| Search code | Opens Code Lines over all objects | Ctrl+Shift+F |
| Filters and more | ? | – |
Query syntax

? typed: the syntax help.| # | Name | Description |
|---|---|---|
| 1 | ? | Lists the help in place of results. |
| 2 | Query forms | Each row shows an example and what it finds: names, quoted text, ids, types, pasted forms, Prism Paths, lines and members of the open object. See Prefixes and Names, ids and types. |
| 3 | Filter tokens | Each row shows a token and what it keeps. Select a row or press Enter on it: a whole token becomes a pill, and a key alone, such as of:, goes into the box to list its values. See Filter tokens. |
Type ? in the box to list the syntax in Universal Search itself. A plain name is matched letter
by letter, so cust finds Customer and Cust. Ledger Entry.
Prefixes
A prefix at the start of the text, after any pills, changes what Universal Search lists.
| Prefix | Lists |
|---|---|
? | The syntax help. |
> | Menu commands of the workspace window, as Menu › Item…, matched letter by letter; enabled commands only, up to 50. Enter runs the command. |
prism: | Prism Path completion: up to 20 objects, then up to 30 members of the object the path names. Tab puts the selected path in the box. When the text is a whole path, the first row is Go to that path. |
@ | The members of the open object, up to 500, such as @post. |
: and a number | Go to line of the open object, such as :120. |
Names, ids and types
| Example | Finds |
|---|---|
cust | Names matched letter by letter. Matches at word starts and capitals rank first. |
"sales line" | Names that contain the quoted text, ignoring case; no letter-by-letter matches. |
18, 50000..59999, 18|21, 18 21 36 | Objects by id, id range or alternatives. Ids separated by spaces read as alternatives. Ids match objects only. |
Sales*, Post? | Names by wildcard: * any run of characters, ? one character. Name patterns match objects and members. |
cu 80, t18, form 21, cu sales | An object type, then a name or an id. Type matches rank first, and the whole text is also matched as a name, so report selections still finds table Report Selections. |
| Type | Word | Abbreviation | Letter, before an id |
|---|---|---|---|
| Table | table | tab | t |
| Form | form | frm | f |
| Page | page | pag | p |
| Report | report | rep | r |
| Codeunit | codeunit | cu | c |
| Dataport | dataport | dp | d |
| XMLport | xmlport | xp | x |
| Query | query | – | q |
| MenuSuite | menusuite | ms | – |
A single letter counts as a type only when digits follow, as in t18 or t 18, so
t shirt is an ordinary name search.
Pasted forms
Paste an object the way code, an export or a client address names it, and Universal Search finds that object.
| Form | Example |
|---|---|
| An object as code | CODEUNIT::"Sales-Post", CODEUNIT::Sales-Post, DATABASE::Customer (a table) |
| An export header | OBJECT Codeunit 80 Sales-Post |
| A client address | A URL containing ?page=22 or &table=18; also report, query, codeunit, xmlport and form |
| A Prism Path | prism:Table/Customer/Field/Name; pasting into a box that holds only prism: replaces it |
Filter tokens
-
k:fieldFilter token, now a pill A key, a colon and a value. The space after it turns it into a pill. k: keeps one kind; field keeps fields. -
of:18The object it is limited to Keeps the members of the object with id 18. With k:field, that is table 18 Customer. A name or an id range works too. -
"credit"Quoted, exact text Matches names that contain the text, ignoring case, with no letter-by-letter matches. It stays text in the box.
credit.
k:codeunit pill, with is: typed and its values listed.| # | Name | Description |
|---|---|---|
| 1 | Pill | A finished token. Select its × to remove it, or press Backspace in an empty box to remove the last pill. |
| 2 | Key being typed | A key with no value yet lists the values it takes. |
| 3 | Roles | The is: roles: publisher, subscriber and procedure. |
| 4 | Flags | The is: flags. Select a value and press Tab or Enter to make it a pill. |
A filter token is a key, a colon and a value, such as k:table. Type a space after it and it
becomes a pill; pills combine. Values can be quoted (of:"Sales Header"), listed with commas
(k:table,cu) and written in the plural (k:fields).
Type a key alone, such as k:, to list its values; select one and press Tab. A value
Universal Search does not know shows Not understood in the status line.
| Token | Keeps | Values |
|---|---|---|
k: | Kinds | An object type (table, cu, …), field, procedure, trigger, key, variable, event, property, object or member. |
is: | Roles and flags | Roles publisher, subscriber, procedure. Flags obsolete, local, singleton (SingleInstance codeunits), global (tables with DataPerCompany = No), noprint (ProcessingOnly reports), norequest (reports without a request page). |
in: | Scope | in:view: the objects the object index filter shows. |
of: | One object's members | A name, an id or an id range, open ends allowed: of:Customer, of:50100, of:50000..59999. Offers up to 12 matches while you type. |
v: | Version List | A wildcard over the Version List tags, such as v:NAVW1*. Keeps the matching objects and their members. Offers up to 12 matches while you type. |
subtype: | Codeunits by SubType | The subtypes the workspace has, most common first. |
pagetype: | Pages by PageType | The page types the workspace has, most common first. |
Object kinds alone list objects only; member kinds alone list members only; a role or of:
lists members only. Properties are listed only with k:property. An event member reads
Variable :: Event, and a trigger on a field or control reads No. :: OnValidate.
Search modes and kinds

| # | Name | Description |
|---|---|---|
| 1 | Search mode | All, Objects, Members, Fields, Procedures or Publishers. |
| 2 | Kinds | Opens the checklist. Reads Kinds · N when N kinds are checked. |
| 3 | Object kinds | Table, Page, Codeunit, Report, Query, XmlPort, Form, MenuSuite, Dataport. |
| 4 | Member kinds | Field, Procedure, Trigger, Variable, Key, Event, Property. |
| 5 | Clear | Unchecks every kind. |
The search modes are shorthand for pills: choosing one replaces the other mode pills, and the selector shows the last mode pill in the box.
| Mode | Pill |
|---|---|
| All | None |
| Objects | k:object |
| Members | k:member |
| Fields | k:field |
| Procedures | k:procedure |
| Publishers | is:publisher |
Checking kinds writes one k: pill with all of them, such as k:table,page, in place
of any other k: pill. A k: pill you type yourself checks its kinds in the list.
Results and grouping

| # | Name | Description |
|---|---|---|
| 1 | Group header | The group's title and count, such as Objects · 20 of 1,204 when the list is capped. |
| 2 | Result | Icon, name with the matched letters in bold, and a caption such as the object number. Pills on the right show flags such as obsolete; more than fit fold into +N. Select the row or press Enter to open it. |
| 3 | More actions | Lists what you can do with the selected result (Tab). Shown on the selected row when it has actions. See Opening results and actions. |
| 4 | Preview | The first 40 lines of the selected result's source: the start of an object, or a member's declaration. |
| 5 | Preview owner | The type, number and name of the object the previewed source belongs to. |
For a search, Universal Search lists these groups in order:
- Completions, while you type the value of a filter token.
- The results: Objects and Members with Group: Kind; one group per object, such as Codeunit Sales-Post, then More, with Group: Object; one Results group with Group: None.
- Commands: the five best-matching menu commands, when no filter token is set.
- Pages: workspace pages whose title matches, when no filter token is set.
- Search further: Search code for "…" runs Code Lines over all objects.
| Grouping | Objects shown | Members shown |
|---|---|---|
| Group: Kind (default) | 20 | 50 |
| Group: Object, Group: None | 50 | 100 |
Results rank by how well they match, then by shorter name, object type and id. A capped list ends in a Show more row naming how many are not shown; each press lists five times as many. When a search leaves exactly one result, its actions are listed under it.
Opening results and actions

| # | Name | Description |
|---|---|---|
| 1 | Result | The result whose actions are listed, as the group header. |
| 2 | Open | Opens the result, as Enter on the result does. |
| 3 | Actions | The commands of the object's context menu that your license offers. Type to narrow the list; select one or press Enter to run it. |
| 4 | Status | Actions of … · Escape returns to the results. |
| Result | Opening it |
|---|---|
| Object | Switches to the Objects page and opens the object. |
| Member or Prism Path | Switches to the Objects page and goes to the declaration. |
| Recent place | Goes back to that place. |
| Page | Selects that page in the workspace window. |
| Command | Runs the menu command. |
| Search code | Opens Code Lines and, when there is text, searches for it. |
| Go to line | Moves the caret to that line of the open object. |
To act on a result without opening it, select it and press Tab, type > after
moving to it with the arrow keys, or select its More actions button. The status line reads
Actions of … · Escape returns to the results.
| Result | Actions |
|---|---|
| Object | Open, then the commands of the object's context menu, such as Find Usages and Explore Table Relations. Your license decides which are offered, as in the context menu. |
| Member | Open, Find Usages (when the member supports it and your license includes it) and Copy Prism Path. |
Shift+Tab or Escape returns to the results with the same result selected.
Pinning into a window

| # | Name | Description |
|---|---|---|
| 1 | Pill | The k:procedure pill the menu item set. |
| 2 | Expand all | Expands every group. |
| 3 | Collapse all | Collapses every group. |
| 4 | Copy results | Copies the results as tab-separated text with the columns Kind, Name, Object and Prism Path, one line per object or member. |
| 5 | Group: Object | One group per object. |
| 6 | Object group | The object the procedures below it belong to, with their count. |
Select Pin into a window or press Ctrl+Enter to move the search into a window of its own. The query, the pills, the grouping and the selected result carry over. The window is titled Search, followed by the query, such as Search: k:procedure post*.
| Behavior | Popup | Pinned window |
|---|---|---|
| Opening a result | Closes the popup. | Leaves the window open. |
| Escape | Closes the popup. | Clears the text. |
| Losing focus | Closes the popup. | Leaves the window open. |
| Size | Resizable; see Behavior. | 1100 × 750 to start; the list and preview fill the window. |
| Results shown | As in Results and grouping. | Once you pause typing, up to 5,000 objects and 10,000 members; Show more multiplies those by five. |
| List tools | – | Expand all, Collapse all and Copy results. |
Keyboard shortcuts
| Key | Action |
|---|---|
| Down / Up | Next or previous result; group headers and collapsed groups are skipped. |
| Page Down / Page Up | Ten results down or up. |
| Enter | Opens the selected result. |
| Ctrl+Enter | Pins the popup into a window. |
| Tab | Completes: a token value becomes a pill, a Prism Path goes into the box; otherwise lists the result's actions. |
| Shift+Tab | From the actions back to the results. |
| Escape | From the actions back to the results; in a pinned window, clears the text; otherwise closes the popup, whatever the Escape closes window setting. |
| Backspace in an empty box | Removes the last pill. |
> after moving to a result | Lists that result's actions. |
| Ctrl+T | Clears the pills and the text. |
| Ctrl+Shift+S | Selects the Members mode. |
| Ctrl+Shift+P | Sets the text to >. |
| Ctrl+Shift+G | Sets the text to prism:. |
| Ctrl+Shift+F | Searches the text in Code Lines, all objects. |
Status messages
| Status | Meaning |
|---|---|
| Nothing matches | No result for the text and pills. |
| Not understood: … | A filter token's value is not one Universal Search knows, such as k:tabel. |
| The objects are still being gathered; the list fills in when they are ready | The workspace is still loading; the results appear when it is done. |
| Search failed: … | The search stopped with the error shown. |
| Open an object to search its members | @ with no object open. |
| Nothing in this object matches | @ found no member of the open object. |
| Open an object to go to one of its lines | : with no object open. |
| Type a line number | : with no number after it. |
Open an object by name or number
Use this when you know an object's name, part of it, or its number.
- Press Ctrl+T.
- Type the type and the number, such as
cu 80, or part of the name, such assales post. - Press Enter to open the first result, or move to another with the arrow keys first.
The object opens on the Objects page and Universal Search closes.
Find a field by name across tables
Use this to find which tables have a field with a given name.
- Choose Search › Fields by Name…. A pinned window opens with a
k:fieldpill. - Type the field name, such as
"posting date"for names that contain it, orPosting*for a wildcard. - Select Group until it reads Group: Object to see the fields table by table.
- Select a field to go to its declaration; the window stays open for the next one.
List the event publishers of an object
Use this to see which events an object publishes before you write a subscriber.
- Press Ctrl+T.
- Type
is:publisherand thenof:"Sales-Post", each followed by a space so it becomes a pill. - Read the publishers in the list, or type part of a name to narrow it.
Use is:subscriber in the same way to list an object's event subscribers.
Run a menu command from the keyboard
- Press Ctrl+Shift+P. The box starts with
>. - Type part of the command's name, such as
code lines. - Press Enter to run the selected command.
Copy a list of results to a spreadsheet
Use this to hand a list of objects or members to a colleague or a spreadsheet.
- Search as usual, then press Ctrl+Enter to pin the search into a window.
- Wait for the list to widen once you stop typing, and select Show more if the list is still capped.
- Select Copy results and paste into the spreadsheet.
Behavior
- Position: the popup opens centered on the workspace window, near its top, never above the title bar.
- Size: drag the popup's left, right or bottom edge, or a lower corner, to resize it; the top edge is fixed. Prism keeps the size for next time. Double-click an edge to restore the default size.
- Preview: appears once the selection rests for a moment, colored at once, with semantic coloring after about half a second. The preview column is shown only when the list holds objects or members.
- Recent: the list follows the workspace window's navigation history.