Skip to content
SurfaceDocs
FRGet started
DocsModel reference

managedNumericFieldV2

Properties, variants, types and bounds for managedNumericFieldV2.

This reference describes the full structure of managedNumericFieldV2. 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
contract "ManagedNumericField@2" Required. Exact discriminant of this contract variant. Match the literal value shown.
key string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u Required. Stable semantic identifier used by references; changing it changes identity.
type "decimal" Required. Defines type for this object. Observe the type, variants and bounds in the Options column.
required true | false Required. Whether a value is required by this declaration.
repeatable true | false Required. Whether multiple values or instances are admitted.
precision integer; ≥ 1; ≤ 1000 Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
scale integer; ≥ 0; ≤ 1000 Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
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.
unit.[kind=dimensionless].kind "dimensionless" Required. Selects the variant and the properties admitted in this branch.
unit.[kind=unit].kind "unit" Required. Selects the variant and the properties admitted in this branch.
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.
unit.[kind=currency].kind "currency" Required. Selects the variant and the properties admitted in this branch.
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.
default string; max length 1003 OR Array<string; max length 1003>; max length 1000; optional Optional. Initial value matching the declared type; does not replace an existing saved value.
minimum string; max length 1003; optional Optional. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema.
maximum string; max length 1003; optional Optional. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema.

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.

{
  "contract": "ManagedNumericField@2",
  "key": "estimatedEffortHours",
  "type": "decimal",
  "required": false,
  "repeatable": false,
  "precision": 10,
  "scale": 2,
  "unit": {
    "kind": "unit",
    "key": "hour"
  },
  "minimum": "0.00",
  "maximum": "1000000.00"
}

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 managedNumericFieldV2. Properties and accepted values.

{
  "contract": "ManagedNumericField@2",
  "key": "estimatedEffortHours",
  "type": "decimal",
  "required": false,
  "repeatable": false,
  "precision": 10,
  "scale": 2,
  "unit": {
    "kind": "unit",
    "key": "hour"
  },
  "minimum": "0.00",
  "maximum": "1000000.00"
}

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
managedNumericFieldV2managedNumericFieldV2
Clients
MODEL CONTEXTNorth StudioDeclarative configuration
key
estimatedEffortHours
type
decimal
required
false
repeatable
false
precision
10

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

Search for a concept, field or action.Esc