Select a form pattern

Important

Welcome to the documentation for Microsoft Dynamics 365 for Operations on docs.microsoft.com. We are migrating our content here from the Dynamics 365 for Operations Help Wiki.

This article provides information that will help you select the best form pattern for the forms that you migrate.

Introduction

The selection of a form pattern is an important step in the process of migrating a form. A pattern that is a good fit for the target form reduces the amount of migration work that is required. By contrast, a pattern that isn't a good fit can cause wasted time and effort. Therefore, it's important that you do some investigation, so that you can select the best form pattern for the form that you're migrating. Here is some guidance and tips for determining the appropriate pattern for a form:

  • Investigate the form’s metadata in the form designer. Pay close attention to the following details:
    • Form name
    • Form.Design.Style
    • Control names
    • The way that the controls are organized
    • The number and names of the data sources
  • Investigate the form’s visuals by running the form and looking at the way information is displayed.

Selecting a form pattern via metadata

Use Form.Design.Style for guidance

The Form.Design.Style property often contains the name of the pattern that was previously targeted for the form. If the Style property correctly matches the metadata, you can use the following table to find a pattern that is likely to be a good fit for the form.

Form.Design.Style value Corresponding pattern
DetailsFormMaster Details Master
DetailsFormTransaction Details Transaction
Dialog Dialog
DropDialog Drop Dialog
FormPart, where there are just fields Form Part FactBox Card
FormPart, where there is a grid Form Part FactBox Grid
ListPage List Page
Lookup Lookup
SimpleList Simple List
SimpleListDetails, where there are 2–3 fields in the navigation list (recommended) Simple List Details – List Grid
SimpleListDetails, where there are and 4–5 fields in the navigation list Simple List Details – Tabular Grid
SimpleListDetails, where there is a tree (rare) Simple List Details – Tree
TableOfContents Table of Contents
Auto, where there is an Overview tab, a **General **tab, and a single data source Task Single
Auto, where there are two sets of Overview **tabs, **General tabs, and/or headers plus lines Task Double
Auto, where there is focus on a single record Simple Details
Auto, where the form name ends in “Lookup” Lookup
Auto, where there is a single tab control and Next/Previous buttons Wizard
Auto, where the form name ends in “Wizard” Wizard
Auto, where there is just a grid and some buttons Simple List

When a form doesn't match the Style property

Sometimes, a form has an incorrect Form.Design.Style property value.

Form.Design.Style value What the form might actually be
DetailsFormMaster DetailsFormTransaction, if there is lines detail, or if controls have names that contain “lines"
SimpleList SimpleListDetails, if there is more than just a grid and some custom filter fields
SimpleListDetails SimpleList, if there is just a grid and some custom filter fields
SimpleList ListPage, if there are numerous FactBoxes in the Parts node, or if the form has a corresponding Details Form

Selecting a form pattern via visuals

Although this approach is less useful than looking at the form metadata, you can get a lot of information about a form by running and examining it. Use the form visuals as an additional data point to help you select a form pattern. Look through the screen shots of migrated forms to find a form that looks like the target form. Additionally, make sure that the description or intent of the pattern matches the description/intent of the form.

Form pattern reference guide

List of classes of top-level form patterns

Form pattern What it's used for
Details Master (two variants) A form that displays the details of a complex entity
Details Transaction A form that displays the details of a complex transaction entity and its lines (for example, and order and its lines)
Dialog (six variants) A form that is used as a dialog to gather a set of information
Drop Dialog (two variants) A form that is used as a drop dialog to gather a small set of information to provide context for an action
FactBox (two variants) A Microsoft Dynamics AX 2012 FactBox that displays information about a related record or set of records
List Page A Dynamics AX 2012 List Page
Lookup (three variants) A form that is used as a lookup
Simple Details (four variants) A form that is focused on a single record
Simple List A form that displays details for a simple entity as a grid that has fewer than 10 fields per record
Simple List & Details (three variants) A form that displays information about an entity of medium complexity
Table of Contents A form that displays setup information or loosely related information sets
Task (two variants) A legacy form pattern that is used to display master or transaction entities
Wizard A form that displays a set of tab pages to the user to gather information in a predetermined order
Operational Workspace A form that is used to display an overview of an activity and is meant to be a primary means of navigation
Workspace Panorama Sections (three variants) A form that is used to show content for a panorama section (via a Form Part Control) in the Operational Workspace

Finding forms that currently use a particular form pattern

For a full list of forms that are currently using a particular form pattern, generate the Form Patterns report from within Microsoft Visual Studio. On the Dynamics 365 **menu, expand the **Add-ins option, and click Run form patterns report. A background process generates the report. After several seconds, a message box appears in Visual Studio to indicate that the report has been generated and inform you about the location of the Form Patterns report file. You can filter this file by pattern to find forms that use a particular pattern.

Form pattern visuals and descriptions

For each form pattern class, information is provided about each variant. This information includes a short description and an illustration of an example form.

Details Master

Details Master[Default] This form pattern is used to display the details of a complex entity on FastTabs. It includes a grid view and a details view.

Form: CustTable

image001image002

Details Master w/ Standard Tabs Use this Details Master variant when your form has a large number of FastTabs (>15) that can be grouped into categories.

Form: HcmWorker

image003

HowToSelectAFormPattern (31)

Details Transaction

Details Transaction Use this form patter to show the details of a complex transaction entity and its lines (for example, an order and its lines).

Form: SalesTable

HowToSelectAFormPattern (32)

HowToSelectAFormPattern (33)

Dialog

Dialog – Basic[Default] This form pattern is used to gather or show a set of information.

Form: ProjTableCreate

HowToSelectAFormPattern (34)

Dialog – Read Only Use this Dialog variant when your Dialog just displays information that can't be edited. It has only a Close button.

Form: SalesTablePostings

HowToSelectAFormPattern (35)

Dialog – FastTabs Use this Dialog variant when your Dialog content is grouped into FastTabs.

None currently in product.

HowToSelectAFormPattern (36)

Dialog – Tabs Use this Dialog variant when your Dialog content must be grouped into tabs.

Form: CaseDetailCreate

HowToSelectAFormPattern (37)

Dialog – Double Tabs Use this Dialog variant when your Dialog content has two tabs that are stacked on top of each other.

Form: PurchTableReferences

HowToSelectAFormPattern (38)

Drop Dialog

Drop Dialog[Default] This form pattern is used to initiate actions when the number of fields is small (less than five).

Form: CustCollectionsNewActivityAction

HowToSelectAFormPattern (39)

Drop Dialog – Read Only Use this Drop Dialog variant when the fields in the Drop Dialog aren't editable. No OK/Close button is modeled.

No example currently exists in the product.

Factbox

Factbox Grid Use this Factbox variant to show a child collection of related information.

Form: ContactsInfoPart

HowToSelectAFormPattern (40)

Factbox Card Use this Factbox variant to show a set of related fields.

Form: CustStatisticsStatistics

HowToSelectAFormPattern (41)

List Page

List Page The Dynamics AX 2012 list page that is just a grid that is optimized for browsing records and acting on those records.

Form: SalesTableListPage

HowToSelectAFormPattern (42)

Lookup

Lookup Basic[Default] This form pattern is used if the lookup form is a grid or tree that has optional filters or buttons at the bottom.

Form: SysLanguageLookup

HowToSelectAFormPattern (43)

Lookup w/Preview Use this Lookup variant when, in addition to the basic pattern,a preview of the current record is also shown.

Form: HcmWorkerLookup

HowToSelectAFormPattern (44)

Lookup w/Tabs Use this Lookup variant when there are multiple views of a lookup (for example, a grid view/tree view or multiple filtered lists).

Form: CaseCategoryLookup

HowToSelectAFormPattern (45)

Panorama Section

Form Part Section List Use this form pattern to show a list in a workspace section. This should be modeled as a separate form and rendered in the workspace via a Form Part Control.

Form Part Section List - Double Use this variant when you must also show a secondary list. This secondary list isn't initially visible.

Hub Part Chart Use this variant to show a chart in a workspace section. This should be modeled as a separate form and rendered in the workspace via a Form Part Control.

Form: VendInvoiceJourCountChart

HowToSelectAFormPattern (1)

Simple Details

Simple Details w/Toolbar and Fields Use this form pattern tp show fields for a single base record.

Form: AgreementLine

HowToSelectAFormPattern (2)

Simple Details w/FastTabs Use this Simple Details variant when the record’s information is organized into FastTabs.

Form: PlanActivityServiceDetails

HowToSelectAFormPattern (3)

Simple Details w/Standard Tabs Use this Simple Details variant when the record’s information is organized into regular tabs.

Form: HcmEmploymentDateManager

HowToSelectAFormPattern (4)

Simple Details w/Panorama Use this Simple Details variant to display a record’s information in a horizontally scrolling panorama.

Form: PdsMRCEventTracker

HowToSelectAFormPattern (5)

Simple List

Simple List This form pattern is used to maintain data for simple entities.

Form: CustGroup

HowToSelectAFormPattern (6)

Simple List and Details

Simple List & Details – List Grid[Default] This form pattern is used to maintain data for entities of medium complexity. A list grid that has 2–3 fields in the navigation list is the preferred pattern for this form style in the current version.

Form: PaymTerm

HowToSelectAFormPattern (7)

Simple List & Details – Tabular Grid Use this Simple List & Details variant if you require more than three fields in the list part of the form.

Form: ExchangeRate

HowToSelectAFormPattern (8)

Simple List & Details – Tree Use this Simple List & Details variant if the list part of the form is a tree.

Form: FiscalCalendars

HowToSelectAFormPattern (9)

Table of Contents

Table of Contents Use this form pattern to show setup information or loosely related information sets.

Form: CustParameters

HowToSelectAFormPattern (10)

Task

Task Single This legacy form pattern is used to display entities. It should be used only for migration, not for new forms.

Form: LedgerJournalTable

HowToSelectAFormPattern (11)

Task Double This legacy form pattern is used to display transaction entities. It should be used only for migration, not for new forms.

Form: HRMAbsenceTableHistory

HowToSelectAFormPattern (12)

Wizard

Wizard This form pattern is used to display a set of page views to the user to gather information in a predetermined order.

Form: WrkCtrBulkResReqEditWizard

HowToSelectAFormPattern (13)

Workspace

Operational Workspace[Default] This is the preferred, performance-enhanced variant of the Workspace pattern.

Form: FmClerkWorkspace

HowToSelectAFormPattern (1)

Workspace This is the old Workspace pattern. It will be removed soon, so don't use it. It is included here only for completeness.

Do not use.

Subpattern reference guide

List of subpattern classes

Form pattern What it's used for
Custom Filters (two variants) Containers that display QuickFilters and any other modeled custom filters
Fields (five variants) Containers that primarily display individual fields
Dimension Expression Builder Containers that include a Dimension Expression Builder control
Dimension Entry Control Containers that include a Dimension Entry Control
List Panel Containers that display two lists that users move items between
Nested Simple List and Details Containers that are used to embed a simpler Simple List and Details form inside a section in a form
Toolbar and Fields Containers that display actions above a set of fields
Toolbar and List (two variants) Containers that display actions above 1–2 grids
Workspace-related (eight variants) Containers that correspond to various sections inside an Operational Workspace

Finding containers that require that a subpattern be applied on a form

When a form is open in the Visual Studio designer, you can easily search for containers that must still have subpatterns applied by searching for “unspecified” in the control search box at the top of the designer (as shown in the following screen shot).

HowToSelectAFormPattern (15)

Subpattern visuals and descriptions

For each subpattern class, information is provided about each variant. This information includes a short description and an illustration of an example form.

Custom Filters

Custom Filters Use this form pattern when custom filters are modeled. QuickFilter isn't required.

Form: LedgerJournalTable (TopFields)

HowToSelectAFormPattern (16)

Custom and Quick Filters Use this variant when a QuickFilter is required.

Form: CustTable (CustomFilterGroup)

HowToSelectAFormPattern (17)

Fields

Fields and Field Groups Use this form pattern to get a responsive layout for containers that contain only fields.

Form: InventLocation (LocationNames)

HowToSelectAFormPattern (18)

Tabular Fields Use this form pattern to get a structured layout of fields. It is intended primarily for totals.

Form: LedgerJournalTransVendPaym (Balances)

HowToSelectAFormPattern (19)

Fill Text Use this form pattern when a single input control requires full width.

Form: FmRental (Notes)

HowToSelectAFormPattern (20)

Horizontal Fields and Button Group Use this form pattern when a field has an inline action.

Form: SalesTable (GroupHeaderAddressHeaderOverview)

HowToSelectAFormPattern (21)

Image Preview Use this form pattern for containers that have image controls (and optional related fields).

Form: RetailVisualProfile (Login)

HowToSelectAFormPattern (22)

Toolbar and List

Toolbar and List Use this form pattern on containers that have only actions and a grid.

Form: VendTable (TabCommunication)

HowToSelectAFormPattern (23)

Toolbar and List – Double Use this Toolbar and List variant when the containers have two grids.

Form: SalesQuickQuote (TabPageExistingItems)

HowToSelectAFormPattern (24)

Section Tiles Use this variant to show a set of tiles/charts in a workspace section. This should be modeled in a tab page on the workspace form. Charts are defined by using Form Part Controls

Form: SalesOrderProcessingWorkspace

HowToSelectAFormPattern (25)

Section Related Links Use this variant to show a set of hyperlinks in a workspace section. This should be modeled in a tab page on the workspace form.

Form: SalesOrderProcessingWorkspace

HowToSelectAFormPattern (26)

Section Tabbed List Use this variant when multiple list variants must be included. Only one is shown at a time.

Section Stacked Chart Use this variant when you must include up to two charts in an Operational Workspace.

Section PowerBI Use this variant when a PowerBI section must be included.

Workspace Page Filter Group Use this form pattern to add a single filter to your workspace.

Filters and Toolbar – Stacked Use this subpattern in the Form Part Section List pattern, so that actions appear below filters.

Filters and Toolbar – Inline Use this subpattern in the Form Part Section List pattern, so that filters and actions appear on the same line.

Other

Nested Simple List & Details Use this form pattern to embed a simpler Simple List & Details form inside a tab or group.

Form: HcmJob (TaskTabPage)

HowToSelectAFormPattern (27)

List Panel Use this form pattern when users must move items back and forth between two lists.

Form: CLIControls_ListPanel (FormTabPageControl1)

HowToSelectAFormPattern (28)

Toolbar and Fields Use this form pattern on containers that have only actions and fields

Form: HcmPosition (WorkerAssignmentTabPage)

HowToSelectAFormPattern (29)

Dimension Entry Control Use this form pattern on tab pages that have only a Dimension Entry Control.

Form: CustTable (TabFinancialDimensions)

HowToSelectAFormPattern (30)

Dimension Expression Builder Use this form pattern on containers that include a Dimension Expression Builder control.