Skip to content
SurfaceDocs
FRGet started
DocsModel reference

ManagedExactDecimal · types

Interfaces, values and named contracts for ManagedExactDecimal.

The following types define named objects and their relationships. Tables include inherited properties. Schema-derived types refer to their validated structures; a TypeScript declaration does not replace the compiler’s semantic checks.

ManagedExactDecimalFormat

Explicit base-ten precision and scale; this is not the historical approximate number Field.

Field Options / expected values Description
precision number Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
scale number Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
export interface ManagedExactDecimalFormat {
  readonly precision: number;
  readonly scale: number;
}

ManagedExactDecimalRounding

Rounding is an explicit calculation point, never an implicit value-admission coercion.

export type ManagedExactDecimalRounding =
  | 'half-even'
  | 'half-up'
  | 'toward-zero'
  | 'away-from-zero'
  | 'floor'
  | 'ceiling';
type ManagedExactDecimalRounding = "half-even" | "half-up" | "toward-zero" | "away-from-zero" | "floor" | "ceiling";

ManagedExactDecimalOperand

Each operand retains its declared format instead of borrowing an approximate number type.

Field Options / expected values Description
format ManagedExactDecimalFormat Required. Presentation format compatible with the value type.
value string Required. Effective value interpreted according to the enclosing type and discriminant.
export interface ManagedExactDecimalOperand {
  readonly format: ManagedExactDecimalFormat;
  readonly value: string;
}

ManagedExactDecimalOutput

A null rounding point requires an exactly representable result at the declared output scale.

Field Options / expected values Description
format ManagedExactDecimalFormat Required. Presentation format compatible with the value type.
rounding ManagedExactDecimalRounding | null Required. Defines rounding for this object. Observe the type, variants and bounds in the Options column.
export interface ManagedExactDecimalOutput {
  readonly format: ManagedExactDecimalFormat;
  readonly rounding: ManagedExactDecimalRounding | null;
}

ManagedNumericFieldValueDefinition

Value admission uses only the immutable numerical declaration, independent of any schema library.

Field Options / expected values Description
repeatable boolean Required. Whether multiple values or instances are admitted.
minimum string | undefined 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 | undefined Optional. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema.
precision number Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
scale number Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
export interface ManagedNumericFieldValueDefinition extends ManagedExactDecimalFormat {
  readonly repeatable: boolean;
  readonly minimum?: string | undefined;
  readonly maximum?: string | undefined;
}

ManagedNumericFieldDeclaration

Declaration validation shares the value engine without requiring any schema library at runtime.

Field Options / expected values Description
default string | readonly string[] | undefined Optional. Initial value matching the declared type; does not replace an existing saved value.
repeatable boolean Required. Whether multiple values or instances are admitted.
minimum string | undefined 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 | undefined Optional. Cardinality or budget bound for the named resource. Exceeding the bound is refused; null denotes no bound only where admitted by the schema.
precision number Required. Defines precision for this object. Observe the type, variants and bounds in the Options column.
scale number Required. Defines scale for this object. Observe the type, variants and bounds in the Options column.
export interface ManagedNumericFieldDeclaration extends ManagedNumericFieldValueDefinition {
  readonly default?: string | readonly string[] | undefined;
}

All references

Applied examples : Required text and business choices

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

Configuration

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

{
  "contract": "WorkspaceFormControl@2",
  "repeatable": false,
  "key": "company",
  "label": "Company",
  "input": "text",
  "binding": {
    "kind": "field",
    "fieldKey": "company"
  },
  "required": true,
  "ruleKeys": [],
  "options": []
}

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
ManagedExactDecimal · typesRequired text and business choices
Clients
NS
North StudioActive client · Professional services
StatusActive
Notes and follow-up

The client wants a proposal for a new project. Clarify requirements and confirm the budget before review.

Editable text on the Surface
Record settings
Search for a concept, field or action.Esc