FSM Mobile Element Types

Note:

This topic is intended for administrators and developers who choose element types for Field Service Management (FSM) Mobile.

This topic includes the following sections:

The value columns describe the value property for each element that stores a value. The columns list its format, accepted static values, and initial fallback. The fallback applies when neither configuration nor a loaded form supplies value for a new record. To override a type-based default or form-generated initial value, configure "value" with an accepted static value or an expression. The display-only heading element has no "value" property.

Type

Description

Value Property Format

Accepted Static Value

Default Value for a New Record

checkbox

A box with a true or false value.

Boolean

true, false

false

date

A calendar date.

String (YYYY-MM-DD)

A valid canonical date, "", null, or a date string that NetSuite can parse using the current user's date format. Noncanonical static values are normalized to YYYY-MM-DD.

Current date. To leave the value blank on a new record, set "value": "".

datetime

A date and time.

String (YYYY-MM-DD HH:mm:ss)

A valid canonical date and time, "", null, or a date-time string that NetSuite can parse using the current user's date and time format. Noncanonical static values are normalized to YYYY-MM-DD HH:mm:ss.

Current date and time. To leave the value blank on a new record, set "value": "".

email

A single-line email address field with a basic input-format check.

String

Text. The editable input flags values that don't match ^[^@]+@[^@]+\.[^@]+$. Configure pattern when the format must be enforced by article validation.

""

file

A file upload and download field.

File object

A file object supplied by the FSM Mobile upload flow, or null.

null

heading

A display-only section heading. Its text is supplied by label, not value.

None

Not applicable.

Not applicable.

html

An HTML-content field. In read-only mode its value is rendered as HTML. Otherwise it is edited as multiline text.

String

HTML or plain text.

""

image

An image capture or upload field.

Image/file object

An image object supplied by the FSM Mobile upload or camera flow, or null.

null

number

A numeric field, optionally formatted with a unit.

Number

Any numeric value within the limits set by min and max. Use step for a fixed increment, such as 0.25, and precision for the number of decimal places you can enter and see.

null

password

A masked single-line text field.

String

Any text. Apply pattern to constrain it.

""

select

A list from which a user selects one or more options.

Object, or array of objects

For single selection, one { id, label } option object or null. For multiple selection, an array of option objects, including [].

null for single selection or [] for multiselect, unless selected or autoselect supplies an initial selection. For information about select defaults and stored values, see Select Defaults and Stored Values.

signature

A signature capture field.

String

A signature value supplied by the FSM Mobile signature capture flow.

""

table

A repeating row container and the only supported parent element type. Define its direct child column elements with parent set to this table's name.

Array of objects

An array of row objects whose keys are the names of the table's column elements.

[]

tel

A single-line telephone field.

String

Any text. Apply pattern to constrain it.

""

text

A single-line text field.

String

Any text. Apply maxlength and pattern to constrain it.

""

textarea

A multiline plain-text field.

String

Any text. Apply maxlength to constrain it.

""

time

A time of day.

String (HH:mm:ss)

A valid canonical time, "", null, or a time string that NetSuite can parse using the current user's time format. Noncanonical static values are normalized to HH:mm:ss.

""

url

A web-link field. text can supply the read-only link text.

String

Any text. Apply pattern to constrain it.

""

Element Type Aliases and Compatibility Types

The following type names are aliases or backward-compatible element types. When FSM Mobile loads one of these types, it resolves it to the listed base element type. It then applies the shown properties and values at runtime. The alias can remain in the configuration, but the generated properties are not written back to the configuration.

For new configuration, use the base element type and set the required properties explicitly. This makes the intended behavior and dependencies easier to see.

Alias or Compatibility Element Type

Base Element Type

Generated Properties or Behavior

integer

number

"precision": 0

float

number

"precision": 8

currency

number

"precision": 2, "unit": "usd"

percent

number

"precision": 4, "unit": "percent", "map": "formulanumeric:{fieldId}*100|fieldId[float]". It reads the stored fraction as a percentage value and writes through as a float.

help

textarea

"map": "|", "readonly": true

longtext

textarea

"maxlength": 1000000, "rows": 12

inlinehtml

html

"map": "|", "readonly": true

richtext

signature or html

If the field ID matches the signature naming pattern, the richtext element resolves to signature. Otherwise, it resolves to html with "maxlength": 1000000 and "rows": 12.

multiselect

select

"multiple": true

phone

tel

No additional properties.

document

file

No additional properties.

datetimetz

datetime

Uses the datetime default "step": 1.

timeofday

time

Uses the time default "step": 60.

datalist

text

Deprecated compatibility type. It is hidden and uses "map": "|". Don't use it for new configuration.

Unsupported type, for example hidden

text

Compatibility fallback. It is hidden. Don't use it as an element type.

The float and percent aliases use the precision values listed in this table without adding an increment rule. Configure a positive numeric step when an increment is required.

Table Element Structure

A table holds repeating rows. Define the table and its child elements in the same resource's element object. Set each child's parent to the table's element name. Use column to select the values displayed in the table's list view and their order.

For example, add this fragment to the resource's element object:

            {
  "materials": {
    "type": "table",
    "label": "Materials"
  },
  "description": {
    "type": "text",
    "parent": "materials",
    "label": "Description",
    "column": 1
  },
  "quantity": {
    "type": "number",
    "parent": "materials",
    "label": "Quantity",
    "min": 0,
    "step": 1,
    "column": 2
  }
} 

          

Each row contains values named for the child elements. A table value can therefore look like this:

            {
  "materials": [
    { "description": "Filter", "quantity": 2 }
  ]
} 

          

The first example defines elements. The second illustrates their data. Neither example defines how those values are saved to a NetSuite sublist. Configure the resource's article mapping for that purpose.

Use parent only for direct children of a top-level table. Don't create nested tables. If the named parent is missing or its type isn't table, the child may not appear in the intended form or table.

Additional Information

Related Topics

General Notices