Skip to content
SurfaceDocs
FRGet started
DocsModel reference

managedExactDataExpression

Properties, variants, types and bounds for managedExactDataExpression.

This reference describes the full structure of managedExactDataExpression. Paths include nested objects, list items and conditional branches. A branch selected by kind, contract or mode only admits its own properties.

Structure and values

Field Options / expected values Description
[kind=literal].kind "literal" Required. Selects the variant and the properties admitted in this branch.
[kind=literal].type closed object Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
[kind=literal].type.format closed object; semantic validation Required. Presentation format compatible with the value type.
[kind=literal].type.format.precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
[kind=literal].type.format.scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
[kind=literal].type.unit closed object OR closed object OR closed object Required. Defines unit for this object. Observe the type, variants and bounds in the Options column.
[kind=literal].type.unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
[kind=literal].type.unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
[kind=literal].type.unit.[kind=unit].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=literal].type.unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
[kind=literal].type.unit.[kind=currency].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=literal].value string; max length 1003 Required. Effective value interpreted according to the enclosing type and discriminant.
[kind=field].kind "field" Required. Selects the variant and the properties admitted in this branch.
[kind=field].type closed object Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
[kind=field].type.format closed object; semantic validation Required. Presentation format compatible with the value type.
[kind=field].type.format.precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
[kind=field].type.format.scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
[kind=field].type.unit closed object OR closed object OR closed object Required. Defines unit for this object. Observe the type, variants and bounds in the Options column.
[kind=field].type.unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
[kind=field].type.unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
[kind=field].type.unit.[kind=unit].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=field].type.unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
[kind=field].type.unit.[kind=currency].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=field].field closed object Required. Defines field for this object. Observe the type, variants and bounds in the Options column.
[kind=field].field.definitionPath string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u Required. Exact path of a definition in the Model; this is not a record instance ID.
[kind=field].field.fieldKey string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u Required. Key of a Field declared on the referenced Surface definition.
[kind=calculation].kind "calculation" Required. Selects the variant and the properties admitted in this branch.
[kind=calculation].type closed object Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
[kind=calculation].type.format closed object; semantic validation Required. Presentation format compatible with the value type.
[kind=calculation].type.format.precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
[kind=calculation].type.format.scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
[kind=calculation].type.unit closed object OR closed object OR closed object Required. Defines unit for this object. Observe the type, variants and bounds in the Options column.
[kind=calculation].type.unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
[kind=calculation].type.unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
[kind=calculation].type.unit.[kind=unit].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=calculation].type.unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
[kind=calculation].type.unit.[kind=currency].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=calculation].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=arithmetic].kind "arithmetic" Required. Selects the variant and the properties admitted in this branch.
[kind=arithmetic].operator "add" | "subtract" | "multiply" | "divide" Required. Variant comparison or operation; its value must match the expected type.
[kind=arithmetic].left recursive reference Required. Defines left for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].left ↻ recursive reference to parent expression Optional. Defines left ↻ for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].right recursive reference Required. Defines right for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].right ↻ recursive reference to parent expression Optional. Defines right ↻ for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].type closed object Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].type.format closed object; semantic validation Required. Presentation format compatible with the value type.
[kind=arithmetic].type.format.precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].type.format.scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].type.unit closed object OR closed object OR closed object Required. Defines unit for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].type.unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
[kind=arithmetic].type.unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
[kind=arithmetic].type.unit.[kind=unit].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=arithmetic].type.unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
[kind=arithmetic].type.unit.[kind=currency].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=arithmetic].rounding "half-even" | "half-up" | "toward-zero" | "away-from-zero" | "floor" | "ceiling"; null Required. Defines rounding for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].unitOperation closed object; null Required. Defines unit Operation for this object. Observe the type, variants and bounds in the Options column.
[kind=arithmetic].unitOperation.key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=arithmetic].unitOperation.version string; min length 1; max length 120 Required. Declared content or publication version identifying the applicable interpretation.
[kind=round].kind "round" Required. Selects the variant and the properties admitted in this branch.
[kind=round].operand recursive reference Required. Child expression evaluated by the current operator.
[kind=round].operand ↻ recursive reference to parent expression Optional. Defines operand ↻ for this object. Observe the type, variants and bounds in the Options column.
[kind=round].type closed object Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
[kind=round].type.format closed object; semantic validation Required. Presentation format compatible with the value type.
[kind=round].type.format.precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
[kind=round].type.format.scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
[kind=round].type.unit closed object OR closed object OR closed object Required. Defines unit for this object. Observe the type, variants and bounds in the Options column.
[kind=round].type.unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
[kind=round].type.unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
[kind=round].type.unit.[kind=unit].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=round].type.unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
[kind=round].type.unit.[kind=currency].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=round].rounding "half-even" | "half-up" | "toward-zero" | "away-from-zero" | "floor" | "ceiling" Required. Defines rounding for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].kind "conditional" Required. Selects the variant and the properties admitted in this branch.
[kind=conditional].condition closed object Required. Defines condition for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].condition.kind "compare" Required. Selects the variant and the properties admitted in this branch.
[kind=conditional].condition.operator "eq" | "ne" | "lt" | "lte" | "gt" | "gte" Required. Variant comparison or operation; its value must match the expected type.
[kind=conditional].condition.left recursive reference Required. Defines left for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].condition.left ↻ recursive reference to parent expression Optional. Defines left ↻ for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].condition.right recursive reference Required. Defines right for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].condition.right ↻ recursive reference to parent expression Optional. Defines right ↻ for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].whenTrue recursive reference Required. Defines when True for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].whenTrue ↻ recursive reference to parent expression Optional. Defines when True ↻ for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].whenFalse recursive reference Required. Defines when False for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].whenFalse ↻ recursive reference to parent expression Optional. Defines when False ↻ for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].type closed object Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].type.format closed object; semantic validation Required. Presentation format compatible with the value type.
[kind=conditional].type.format.precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].type.format.scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].type.unit closed object OR closed object OR closed object Required. Defines unit for this object. Observe the type, variants and bounds in the Options column.
[kind=conditional].type.unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
[kind=conditional].type.unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
[kind=conditional].type.unit.[kind=unit].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=conditional].type.unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
[kind=conditional].type.unit.[kind=currency].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=conversion].kind "conversion" Required. Selects the variant and the properties admitted in this branch.
[kind=conversion].conversionKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable key reference to the corresponding named declaration; the compiler checks existence and compatibility.
[kind=conversion].conversionVersion string; min length 1; max length 120 Required. Defines conversion Version for this object. Observe the type, variants and bounds in the Options column.
[kind=conversion].operand recursive reference Required. Child expression evaluated by the current operator.
[kind=conversion].operand ↻ recursive reference to parent expression Optional. Defines operand ↻ for this object. Observe the type, variants and bounds in the Options column.
[kind=conversion].type closed object Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
[kind=conversion].type.format closed object; semantic validation Required. Presentation format compatible with the value type.
[kind=conversion].type.format.precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
[kind=conversion].type.format.scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
[kind=conversion].type.unit closed object OR closed object OR closed object Required. Defines unit for this object. Observe the type, variants and bounds in the Options column.
[kind=conversion].type.unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
[kind=conversion].type.unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
[kind=conversion].type.unit.[kind=unit].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=conversion].type.unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
[kind=conversion].type.unit.[kind=currency].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=query-total].kind "query-total" Required. Selects the variant and the properties admitted in this branch.
[kind=query-total].queryKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Reference to a declared Query; scope and authorization remain enforced by the data engine.
[kind=query-total].parameters Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u OR string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u, closed object OR closed object OR closed object>; semantic validation Required. Named operation or Query parameters and their associated values.
[kind=query-total].parameters{key}.[kind=entity-id].kind "entity-id" Required. Selects the variant and the properties admitted in this branch.
[kind=query-total].parameters{key}.[kind=entity-id].definitionPath string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u Required. Exact path of a definition in the Model; this is not a record instance ID.
[kind=query-total].parameters{key}.[kind=field].kind "field" Required. Selects the variant and the properties admitted in this branch.
[kind=query-total].parameters{key}.[kind=field].field closed object Required. Defines field for this object. Observe the type, variants and bounds in the Options column.
[kind=query-total].parameters{key}.[kind=field].field.definitionPath string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u Required. Exact path of a definition in the Model; this is not a record instance ID.
[kind=query-total].parameters{key}.[kind=field].field.fieldKey string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u Required. Key of a Field declared on the referenced Surface definition.
[kind=query-total].parameters{key}.[kind=literal].kind "literal" Required. Selects the variant and the properties admitted in this branch.
[kind=query-total].parameters{key}.[kind=literal].value string; max length 4000 OR number OR true | false OR null Required. Effective value interpreted according to the enclosing type and discriminant.
[kind=query-total].operator "count" | "count-distinct" Required. Variant comparison or operation; its value must match the expected type.
[kind=query-total].type closed object Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
[kind=query-total].type.format closed object; semantic validation Required. Presentation format compatible with the value type.
[kind=query-total].type.format.precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
[kind=query-total].type.format.scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
[kind=query-total].type.unit closed object OR closed object OR closed object Required. Defines unit for this object. Observe the type, variants and bounds in the Options column.
[kind=query-total].type.unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
[kind=query-total].type.unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
[kind=query-total].type.unit.[kind=unit].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=query-total].type.unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
[kind=query-total].type.unit.[kind=currency].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=aggregate].kind "aggregate" Required. Selects the variant and the properties admitted in this branch.
[kind=aggregate].queryKey string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Reference to a declared Query; scope and authorization remain enforced by the data engine.
[kind=aggregate].parameters Record<string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u OR string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u, closed object OR closed object OR closed object>; semantic validation Required. Named operation or Query parameters and their associated values.
[kind=aggregate].parameters{key}.[kind=entity-id].kind "entity-id" Required. Selects the variant and the properties admitted in this branch.
[kind=aggregate].parameters{key}.[kind=entity-id].definitionPath string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u Required. Exact path of a definition in the Model; this is not a record instance ID.
[kind=aggregate].parameters{key}.[kind=field].kind "field" Required. Selects the variant and the properties admitted in this branch.
[kind=aggregate].parameters{key}.[kind=field].field closed object Required. Defines field for this object. Observe the type, variants and bounds in the Options column.
[kind=aggregate].parameters{key}.[kind=field].field.definitionPath string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u Required. Exact path of a definition in the Model; this is not a record instance ID.
[kind=aggregate].parameters{key}.[kind=field].field.fieldKey string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u Required. Key of a Field declared on the referenced Surface definition.
[kind=aggregate].parameters{key}.[kind=literal].kind "literal" Required. Selects the variant and the properties admitted in this branch.
[kind=aggregate].parameters{key}.[kind=literal].value string; max length 4000 OR number OR true | false OR null Required. Effective value interpreted according to the enclosing type and discriminant.
[kind=aggregate].field closed object Required. Defines field for this object. Observe the type, variants and bounds in the Options column.
[kind=aggregate].field.definitionPath string; min length 1; max length 600; /^workspace\/[a-z0-9-]+(?:\/surface\/[a-z0-9-]+)*$/u Required. Exact path of a definition in the Model; this is not a record instance ID.
[kind=aggregate].field.fieldKey string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u Required. Key of a Field declared on the referenced Surface definition.
[kind=aggregate].operator "sum" | "min" | "max" | "average" Required. Variant comparison or operation; its value must match the expected type.
[kind=aggregate].type closed object Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
[kind=aggregate].type.format closed object; semantic validation Required. Presentation format compatible with the value type.
[kind=aggregate].type.format.precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
[kind=aggregate].type.format.scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
[kind=aggregate].type.unit closed object OR closed object OR closed object Required. Defines unit for this object. Observe the type, variants and bounds in the Options column.
[kind=aggregate].type.unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
[kind=aggregate].type.unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
[kind=aggregate].type.unit.[kind=unit].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=aggregate].type.unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
[kind=aggregate].type.unit.[kind=currency].key string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
[kind=aggregate].rounding "half-even" | "half-up" | "toward-zero" | "away-from-zero" | "floor" | "ceiling"; null Required. Defines rounding for this object. Observe the type, variants and bounds in the Options column.

Reading the contract

A path ending in [] describes each list item; {key} describes each dictionary value. The ↻ marker refers to the same recursive expression. Closed objects reject additional properties. Semantic validation denotes an additional check: matching a type does not make a reference, permission or transition valid. References must resolve in the Model and the current user context.

An older variant cannot accept properties belonging to a newer variant. The compiler checks the version and consistency of the complete Model.

Structural example

This fragment passes the schema for this section. Its business references must be defined in the enclosing Model.

{
  "kind": "literal",
  "type": {
    "format": {
      "precision": 1,
      "scale": 0
    },
    "unit": {
      "kind": "dimensionless"
    }
  },
  "value": "client"
}

Complete Model index · Build a Model

Applied examples : Required text and business choices

Company uses required text input; Status uses a declared list of choices.

Configuration

Contract object managedExactDataExpression. Properties and accepted values.

{
  "kind": "literal",
  "type": {
    "format": {
      "precision": 1,
      "scale": 0
    },
    "unit": {
      "kind": "dimensionless"
    }
  },
  "value": "client"
}

Variation and connection

Fragment placed in forms[].fields[]. Properties and accepted values.

{
  "contract": "WorkspaceFormControl@2",
  "repeatable": false,
  "key": "status",
  "label": "Status",
  "input": "choice",
  "binding": {
    "kind": "field",
    "fieldKey": "status"
  },
  "required": true,
  "ruleKeys": [],
  "options": [
    "prospect",
    "active"
  ]
}

UI layout example

The illustrative layout below places this configuration in the Clients/Quotes app. Insert each fragment at the stated location, with Field, Query and Action references matching the Model declarations.

  1. Client identity
  2. Notes and follow-up
  3. Settings
  4. Linked quotes
ILLUSTRATIVE LAYOUTClients / Quotes app
SurfaceClients / North StudioExample
managedExactDataExpressionmanagedExactDataExpression
Clients
MODEL CONTEXTNorth StudioDeclarative configuration
kind
literal
type
Declared object
value
client

Values above follow the configuration fragment; references resolve in the complete Model.

Search for a concept, field or action.Esc