Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Important
The finance and operations (Dynamics 365) mobile app and platform are no longer supported. The platform components supporting the mobile app will be removed in a future update. The mobile app has also been removed from app stores. Previously installed instances of the app will continue to work. For more information, see Removed or deprecated platform features.
Provides ability to access and configure various metadata elements under the application workspace.
Hierarchy
MetadataService
Index
Properties
Methods
- addControl
- compareVersion
- configureAction
- configureControl
- configureEntity
- configureLookup
- configurePage
- configureWorkspace
- findAction
- findControl
- findPage
- getFilterExpression
- getFormReference
- hideNavigation
Properties
version
version: string
(Read-only) Gets the version of the platform currently running.
Methods
addControl
addControl(componentName: string, controlName: string, controlType: ControlType, parentContainerName?: string, options?: ControlMetadata): any
Parameters
| Name | Type | Description |
|---|---|---|
| componentName | string | |
| controlName | string | |
| controlType | ControlType | |
| parentContainerName? | string | |
| options? | ControlMetadata |
Returns any
compareVersion
compareVersion(versionToCompare: string): 1 | -1
Compares the current platform version with a reference version.
Parameters
| Name | Type | Description |
|---|---|---|
| versionToCompare | string | The reference version to compare with |
Returns 1 | -1
1 to indicate the platform version is older than the reference version, -1 to indicate that the platform version is newer or same as the reference version
configureAction
configureAction(actionName: string, options: PageMetadata): any
Configuring an action allows specifying or overriding certain behaviors specific to actions. Example:
metadataService.configureAction('Edit-Reservation', { properties-to-set });
Parameters
| Name | Type | Description |
|---|---|---|
| actionName | string | The action whose behavior is to be changed |
| options | PageMetadata | The property bag containing the properties to set on the action |
Returns any
configureControl
configureControl(componentName: string, controlName: string, options: ControlMetadata): any
Configuring a control allows specifying or overriding certain behaviors specific to the control. Note that the available behaviors vary by control type. Example:
metadataService.configureControl('All-Customers', 'FMCustomer_RecId', { properties-to-set });
Parameters
| Name | Type | Description |
|---|---|---|
| componentName | string | A page or action that contains the control |
| controlName | string | The control whose behavior is to be changed |
| options | ControlMetadata | The property bag containing the properties to set on the control |
Returns any
configureEntity
configureEntity(entityName: string, options: any): any
Configuring an entity allows specifying or overriding certain behaviors specific to the entity. Example:
metadataService.configureEntity("FMCustomer", { properties-to-set });
Parameters
| Name | Type | Description |
|---|---|---|
| entityName | string | An entity name |
| options | any | The property bag containing the properties to set on the entity |
Returns any
configureLookup
configureLookup(taskName: string, lookupControlName: string, options: LookupMetadata): any
Configures a field on an action to behave as a lookup. Requires using an existing page which contains a list control. Example:
metadataService.configureLookup('Add-Reservation', 'FMRental_Customer', { lookupPage: 'All-Customers', valueField: 'FMCustomer_RecId', displayField: 'FMCustomer_FullName'});
Parameters
| Name | Type | Description |
|---|---|---|
| taskName | string | Action name |
| lookupControlName | string | The control name of the field to be given lookup behavior |
| options | LookupMetadata | Lookup configuration object |
Returns any
configurePage
configurePage(pageName: string, options: PageMetadata): any
Configuring a Page allows specifying or overriding certain behaviors specific to the Page. Example:
metadataService.configurePage('Reservation-details', { properties-to-set });
Parameters
| Name | Type | Description |
|---|---|---|
| pageName | string | The page that contains the control |
| options | PageMetadata | The property bag containing the properties to set on the page |
Returns any
configureWorkspace
configureWorkspace(options: PageMetadata): any
Configuring a workspace allows specifying or overriding certain behaviors specific to the workspace. Example:
metadataService.configureWorkspace({ properties-to-set });
Parameters
| Name | Type | Description |
|---|---|---|
| options | PageMetadata | The property bag containing the properties to set on the workspace |
Returns any
findAction
findAction(actionName: string): PageMetadata
Gets a copy of the current metadata instance of a specified Action, for the purpose of inspecting the metadata (not to be used for changing the metadata). Note: Since metadata can be changed at any time by business logic, you must be mindful of when you use this API to get a copy as it will reflect the state of the metadata at the time the call is made.
Example:
var newCustomerTaskMetadata = metadataService.findTask("New-customer");
Parameters
| Name | Type | Description |
|---|---|---|
| actionName | string | An action name |
Returns PageMetadata
findControl
findControl(componentMetadata: any, controlName: string): ControlMetadata
Gets a copy of the current metadata instance of a specified control, for the purpose of inspecting the metadata (not to be used for changing the metadata). Note: Since metadata can be changed at any time by business logic, you must be mindful of when you use this API to get a copy as it will reflect the state of the metadata at the time the call is made.
Example:
var firstNameControl = metadataService.findControl(newCustomerTaskMetadata, 'FMCustomer_FirstName');
Parameters
| Name | Type | Description |
|---|---|---|
| componentMetadata | any | A metadata instance of the page or action |
| controlName | string | A control name |
Returns ControlMetadata
findPage
findPage(pageName: string): PageMetadata
Gets a copy of the current metadata instance of a specified page, for the purpose of inspecting the metadata (not to be used for changing the metadata). Note: Since metadata can be changed at any time by business logic, you must be mindful of when you use this API to get a copy as it will reflect the state of the metadata at the time the call is made.
Example:
var reservationDetailsMetadata = metadataService.findPage("Reservation-details");
Parameters
| Name | Type | Description |
|---|---|---|
| pageName | string | A page name |
Returns PageMetadata
getFilterExpression
getFilterExpression(pageName: string, listControlName: string, controlName: string, operator: ExpressionOperator, value: string): DataFilter
Create a DataFilter object for a list control based on the provided options. Example:
var filter = metadataService.getFilterExpression(
pageNames.AllCustomers, controlNames.CustomerList, controlNames.CustomerFullName, "Is", firstCustomerName),
Parameters
| Name | Type | Description |
|---|---|---|
| pageName | string | |
| listControlName | string | |
| controlName | string | |
| operator | ExpressionOperator | |
| value | string |
Returns DataFilter
getFormReference
getFormReference(componentName: string, filterContext: DataFilter, excludeContext: boolean, filterLocalOnly?: boolean): NavigationArgs
Create an INavigationArgs object for a specific page/action to be used with a navigation control.
Parameters
| Name | Type | Description |
|---|---|---|
| componentName | string | Name of the action/page |
| filterContext | DataFilter | |
| excludeContext | boolean | |
| filterLocalOnly? | boolean |
Returns NavigationArgs
hideNavigation
hideNavigation(pageNamesToHide: string [ ]): any
Hides the specified page(s) from the default landing page. Example:
metadataService.hideNavigation('Select-a-customer', 'Select-a-vehicle');
Parameters
| Name | Type | Description |
|---|---|---|
| pageNamesToHide | string [ ] | Page name(s) |