Skip to main content

Field Groups

Field groups define logical groupings of fields that can be placed on forms and reports as a unit. Instead of adding individual fields to a form, a developer adds a field group — and every field in that group appears together. When a field is later added to or removed from the group in the AOT, every form and report referencing that group is automatically updated. This is one of the most important maintainability features in D365 F&O development.

Why Field Groups Matter

Without field groups, adding a new field to a table would require updating every form that displays that table. With field groups, you add the field to the appropriate group once, and all consuming forms pick it up automatically. Microsoft design guidelines strongly recommend:

  • Always add new fields to at least one field group.
  • Use field groups (not individual fields) when building form designs.
  • Keep field groups organised by functional area (e.g., identification, dimensions, dates, amounts).

System Field Groups

Every table has a set of system-defined field groups that are populated automatically or serve special framework purposes. Understanding these groups is critical for proper form and report behaviour.

AutoReport

The AutoReport field group determines which fields appear when a user triggers the auto-report functionality (print the current list from a form). The runtime uses this group to generate a quick report of the data currently displayed.

Best practice: Include the key identifying fields and the most commonly needed data columns. Keep it concise — a report with too many columns becomes unreadable.

AutoLookup

The AutoLookup field group controls which columns appear in lookup forms — the dropdown lists that appear when a user clicks a foreign-key reference field. When a reference group control resolves a relation, it queries the related table and displays the fields from AutoLookup.

Best practice: Include the primary key field, the description/name field, and perhaps one or two additional identifying fields. Lookups should help the user identify the correct record quickly.

AutoIdentification

The AutoIdentification field group is used by the ReplacementKey framework. When a table has a ReplacementKey index set, the fields from AutoIdentification are shown in place of RecId in reference controls and entity keys. This is what makes a form display "CUST-001 — Contoso" instead of a raw 64-bit integer.

Best practice: The fields in AutoIdentification should match the fields in the ReplacementKey index. The system uses this group to present a human-readable identifier for each record.

AutoSummary

The AutoSummary field group defines which fields appear in the FactBox (preview pane) area of list pages. When a user selects a record in a list, the FactBox automatically displays a summary using the fields from this group.

Best practice: Include the most important summary-level data — key identifiers, status, primary amounts, and dates. This gives users a quick overview without opening the detail form.

AutoBrowse

The AutoBrowse field group determines the default columns shown in grid views when a form is auto-generated or when no explicit grid design is provided. Fields in this group are the default "columns" a developer would see in a quick browse view of the table.


Custom Field Groups

Beyond the system groups, developers create custom field groups to organise fields by business area. For example, a SalesOrder table might have groups like:

  • IdentificationSalesId, SalesName, CustAccount
  • DatesOrderDate, DeliveryDate, ConfirmDate
  • AmountsSubTotal, TaxAmount, TotalAmount
  • StatusSalesStatus, DocumentStatus

These custom groups can then be dropped onto form designs as units, maintaining consistency and easing future changes.


Properties

9/9 properties
PropertyDisplay NameTypeDescription
Field GroupAxTableFieldGroup
NameNameStringThe name of the element.
LabelLabelStringDescriptive label for the field group.
AutoPopulateAuto PopulateNoYesMakes the field group read-only and populates it with the selected ReplacementKey property of the table. Values: No (0), Yes (1).
IsSystemGeneratedIs System GeneratedNoYesIndicates whether the element was system-generated. Values: No (0), Yes (1).
IsManuallyUpdatedIs Manually UpdatedNoYesIndicates whether the element was manually updated. Values: No (0), Yes (1).
Field Group FieldAxTableFieldGroupField
NameNameStringThe name of the element.
DataFieldData FieldStringThe table field referenced by this group entry.
PositionTypePosition TypeExtensionItemPositionTypePositioning relative to other fields in the group. Values: Begin (0), End (1), AfterItem (2).
PreviousSiblingPrevious SiblingStringThe sibling field after which this entry is positioned (when PositionType is AfterItem).