Simple Object Designer Documentation
Index

Place Fields on Pages

Placing fields on pages makes them visible to users. This page explains how to add both new custom fields and existing system fields to Business Central pages.

Accessing Field Placement

There are multiple ways to access field placement — and which one you use depends on whether the field is new or already exists.

A newly created custom field is not placed from "Add existing fields to pages and reports". That task lists only fields that already exist in Business Central; your new field will not appear there. Place it from the Placed on pages column on the Add Fields page instead. This applies to every field type, including Option fields intended as drop-downs.

From Add Fields Page — for fields you just created

  1. Open Tasks > Create new fields
  2. Find the row for your new field
  3. Click the Not Placed value in the Placed on pages column
  4. Select where the field should appear

From Existing Fields Page — for fields that already exist

  1. Open Tasks > Add existing fields to pages and reports
  2. Browse all fields from all tables
  3. Select fields and configure placement

From Page Customization

  1. Open Inspect > Pages
  2. Select a page and click Customize Page
  3. Add fields from the Fields part

The Existing Fields Page

The Existing Fields page shows all fields that can be placed on pages:

Columns

Column Description
Table No. Source table ID
Table Name Source table name
Field No. Field ID
Field Name Field name
Type Data type
Field Class Normal, FlowField, FlowFilter
Properties Exists Has additional settings
Placed on pages Count of page placements
Field Transfers Has transfer configurations

Filtering

Use filters to find specific fields:

  • Filter by Table Name to see one table's fields
  • Filter by Type to find specific data types
  • Filter by "Placed on pages" = 0 to find unplaced fields

Four columns cannot be filtered because they are calculated:

  • Properties changed / Properties Exists
  • Placed on pages
  • Field Transfers
  • Placed on reports

This is a known limitation of the page.

Creating a Page Placement

Step 1: Select the Field

  1. Find the field you want to place
  2. Note the source table

Step 2: Choose the Target Page

  1. Click Place on Page or navigate to Page Placements
  2. Select the target page
  3. The page must have a source table compatible with your field

Step 3: Configure Placement Position

Set the placement type and anchor:

Placement Type Description
AddFirst Add at the beginning of a group
AddLast Add at the end of a group
AddBefore Add before a specific field
AddAfter Add after a specific field

Step 4: Select the Anchor

For AddBefore/AddAfter, select the anchor field:

  1. Click the Anchor Field lookup
  2. Select the field or group to position relative to
  3. Your field will appear before or after this anchor

For AddFirst/AddLast, select the container:

  1. Select the group, repeater, or section
  2. Your field appears first or last in that container

The Page Placements Page

The Page Placements page shows all configured placements:

Columns

Column Description
Page No. Target page ID
Page Name Target page name
Page Type Card, List, Document, etc.
Field No. Placed field ID
Field Name Placed field name
Placement Type AddFirst, AddLast, AddBefore, AddAfter
Anchor Field Reference point for placement
Placement Index Order within the anchor
Hidden Whether field is hidden
Readonly Whether field is read-only
Multiline Enable multiline editing
Field Style Visual styling

Placement Properties

Hidden

Set to Yes to add the field to the page but keep it hidden from users.

Use cases:

  • Fields needed for logic but not display
  • Fields to show conditionally
  • Preparation for future visibility

Readonly

Set to Yes to display the field but prevent editing.

Use cases:

  • Calculated or derived values
  • Reference information
  • Fields that shouldn't be changed from this page

Multiline

For text fields, enables multiline editing.

Use cases:

  • Long descriptions
  • Notes and comments
  • Address fields

This is the mechanism for making a large text field render as a taller, multi-line box instead of one small single-line edit box. Set Multiline = Yes on the field's page placement — not on the field definition — from the Page Placements page.

Two clarifications:

  • "Multiline" means multiple text lines. It does not change the field's data type or how it is stored. To show a long text, use a Text field (up to 2000 characters) with Multiline on its placement — not a Blob.
  • Multiline does not enable multi-select. Setting it on an Option or Enum field does not allow choosing more than one value; the field still forces a single selection. SOD has no multi-select field — see Field Types.

Field Style

Apply visual styling to highlight the field. Available styles and the rendering documented in the enum:

Style Appearance
None Standard appearance
Standard Standard
StandardAccent Blue
Strong Bold
StrongAccent Blue + Bold
Attention Red + Italic
AttentionAccent Blue + Italic
Favorable Bold + Green
Unfavorable Bold + Italic + Red
Ambiguous Yellow
Subordinate Grey

Understanding Anchors

Anchors are critical for correct field placement.

What Can Be an Anchor

  • Fields - Place relative to existing fields
  • Groups - Place in specific groups
  • Repeaters - Place in list views
  • Parts - Place relative to FactBoxes

Finding Valid Anchors

  1. Open the page in Business Central
  2. Note the field or group you want to place near
  3. Use the Anchor Field lookup to find it
  4. Select the appropriate anchor

Anchor Selection Tips

  • For Card pages, anchor to fields in the same section
  • For List pages, anchor to column headers
  • For Document pages, anchor to header or line fields appropriately

Placement on Different Page Types

Card Pages

Card pages show individual records with grouped fields.

Strategy:

  • Place related fields in appropriate groups
  • Use AddAfter to position near related fields
  • Consider creating new groups for multiple custom fields

List Pages

List pages show multiple records in columns.

Strategy:

  • New columns appear in the grid
  • Position matters for initial visibility
  • Use AddAfter to place near related columns

Worked example — showing a value in the list, not just inside the document. To display the sales order number on the Posted Sales Shipments list, use Add existing fields to pages and reports and place field 44 ("Order No.") on page 142.

The distinction matters: adding a field to a Card or Document header page shows it only once the document is open. Adding the same table's field to the corresponding List page shows it as a column in the overview, before anything is opened.

Repeaters (line lists)

A page whose rows come from a repeater needs the field placed inside the repeater, or it lands at the bottom of the page instead of in the list of rows.

Two ways to do it:

  • AddAfter targeting a field that is inside the repeater — AddAfter Description, for example
  • AddLast targeting the repeater control container itself. On the Planning Worksheet page the repeater control is named Control1.

Worked example — Planning Worksheet. The worksheet lines are based on the Requisition Line table (246), so custom fields (including FlowFields) must be added to that table. The Planning Worksheet Line List page is 99000860 and the Planning Worksheet page is 99000852. Extend the line list page and place the field with AddAfter Description or AddLast in Control1. A typical reason to do this is to let users filter worksheet rows before carrying out action messages.

Document Pages

Document pages have header and lines sections.

Strategy:

  • Header fields go in header groups
  • Line fields go in the lines subpage
  • Match field placement to data location

If a line field lands in the Totals part, set the Placement Type to AddAfter and choose an existing line field as the anchor.

Remember that placement only positions the field — it does not fill it. When the value comes from the record the line references (the Item on a Purchase Line, for example), the field must also be populated by a Field Transfer or a FlowField.

Role Centers

Role centers have cues, parts, activities, and actions.

Strategy:

  • Add to appropriate cue groups
  • Consider adding FactBox parts
  • Use the RoleCenter feature template to add actions (Embedding, Creation, Processing, Reporting) that open pages or run reports
  • Embed page parts (ListParts and CardParts) for inline content

Placing Multiple Fields

To place multiple fields efficiently:

  1. Open Existing Fields page
  2. Filter to your table
  3. Select multiple fields
  4. Use bulk placement options

Or use Page Customization:

  1. Open Inspect > Pages
  2. Select the target page
  3. Click Customize Page
  4. Add multiple fields from the Fields part

Verifying Placements

After configuring placements:

  1. Publish your extension
  2. Open the target page in Business Central
  3. Verify fields appear in correct positions
  4. Check hidden/readonly settings work correctly

Displaying Data From Another Table

A page is based on a single source table. To show a value stored in a different table you have two options:

  • FlowField — looks up or calculates the value through a defined table relationship. This requires a logical key relationship between the page's source table and the target table that identifies exactly one record. See FlowFields.
  • Field Transfer — copies and stores the value onto the record when it is created. See Field Transfers.

If neither applies, the remaining option is a code-based solution — a global variable plus AL code — which is beyond field configuration.

Whether cross-table display is achievable in SOD depends entirely on whether a valid relationship exists for the specific record being matched. With no logical key linking one source record to one target record, a FlowField is impossible.

Worked limitation. Adding the Approval for Payment field — stored in Purch. Inv. Header (122) — to the Purchase Credit Memo page (9309), which is based on Purchase Header (38), cannot be done cleanly. There is no reliable one-to-one relationship between a live Purchase Header and a posted Purch. Inv. Header; the link between credit memos and posted invoices is very loose, so no logical key matches the right record. A FlowField will not work and a plain lookup will not either — this needs custom code.

General rule: relationships between live documents and posted documents are typically not one-to-one, and generally cannot be bridged with FlowFields.

Which Table Relationships SOD Can See

SOD does not automatically discover every table connection.

  • It does know the relationships in standard Microsoft Business Central objects. Those connections were examined by hand and mapped into SOD manually.
  • It cannot discover connections that exist in third-party or partner extensions — custom fields, custom lookup or relation tables added by a partner. No such mapping exists for them.

Consequence: when a field on a page — a custom "Type" field on the Fixed Asset Card, say — relates to a table added by a partner, SOD will not offer that related page or its fields for placement, because it has no knowledge of the connection.

A field showing as Code in Page Zoom may well have an underlying table relation, but that does not help SOD detect it if the relation comes from a partner extension.

If SOD does not show the page you expect when placing a related field, this is why. Contact the partner who implemented the custom field or table — only they hold the connection details for their extension.

Custom Fields and the Mobile (Brick) View

On mobile, Business Central renders list rows with the Brick (tile) view, which shows fields by importance rather than every field on the page.

The behaviour to know: if a table does not define a Brick (or DropDown) field group in standard BC, and an extension adds a field to that group, Business Central creates the group dynamically containing only that field.

Consequence: adding a single custom field with Add to search drop down enabled to such a table makes the mobile tile view show only that custom field, hiding No., Description, Quantity, Posting Date and everything else — which renders the list unusable on mobile.

Known tables with no standard Brick/DropDown group: Assembly Header (900) and Posted Assembly Header (910), whose list pages are Assembly Orders (902) and Posted Assembly Orders (924).

Fix: disable Add to search drop down for the field(s) and republish. Business Central then falls back to its default mobile rendering.

Hidden is not a workaround. If placements are set to Hidden on a page whose Brick group has exactly one member that is no longer displayable, the tile view goes completely blank rather than falling back to the repeater's first columns.

Limitation: SOD's Add to search drop down governs only whether your field belongs to the Brick group. There is currently no way to author a complete Brick field group listing the standard identifying fields alongside a custom one — that requires a hand-written table extension. Doing it from SOD is a potential future enhancement.

Lookup Drop-Down Columns

Adding a custom field to the visible columns of an existing lookup drop-down — the list shown when picking a Customer No., with Name, City, Post Code and so on — is not currently supported.

The reason is that Microsoft only allows a field to be appended to the end of the lookup column list; inserting one at an arbitrary position is not permitted. This is on the product to-do list but is not available today.

Note this is entirely distinct from placing a field on a page as a visible field or column, which is supported and documented above. See also Lookup Fields.

Common Issues

Field Not Appearing

Check:

  • Is the placement configured?
  • Is the anchor valid?
  • Is the field marked as Hidden?
  • Is the extension published?
  • Browser cache — open the page in an Incognito / private window. The Business Central client caches aggressively, which is why a field can appear for one user and not another.
  • Page personalization — stale personalization can prevent a newly added field from displaying. Clear personalization for that page.

If none of these resolve it, send the generated .app file to support@hougaard.com, renamed to .txt so it passes mail filters.

Field in Wrong Position

Check:

  • Is the anchor correct?
  • Is the placement type correct (Before vs After)?
  • Are there multiple fields competing for the same position?
  • On a page with a repeater, does the anchor sit inside the repeater?

Field on Wrong Page

Check:

  • Verify the Page No. in placement settings
  • Check if field should be on subpage vs main page

Placement Lost After Changing a Field No.

Symptom: after changing a custom field's Field No., its placement on pages — and on subtable/subpage lists — disappears.

Cause: the placement and subtable configuration filter on the Field No., so changing the number disconnects them.

The data is not deleted. It remains in the table; it is only detached from the placement until a new field reuses the original number.

Action: re-verify and reconfigure page placement after changing any field's Field No. SOD does not currently update placement data automatically when a number changes; this is known behaviour under investigation.

The Target Page Does Not Appear

If you cannot find the page you want — a document line subform, for instance — when using "Add existing fields to pages and reports", the field probably needs to reach that table first.

Getting a master-table field onto a document line is not a page-placement problem: use a Field Transfer into the line table, or a Lookup FlowField on the line table. Once the field exists on the line table it can be placed normally.

Best Practices

Place related custom fields near each other:

  • Customer fields near customer information
  • Date fields near other dates
  • Amount fields near totals

Maintain Page Organization

Respect the page's existing organization:

  • Don't scatter fields randomly
  • Follow the page's logical grouping
  • Consider user workflow

Consider Mobile Views

Some placements may affect mobile experience:

  • Critical fields should be easily accessible
  • Test on different devices if relevant

Document Your Placements

Track where you've placed fields:

  • Use consistent naming
  • Keep records of anchor choices
  • Note any special configurations