FSM NetSuite View Configuration
NetSuite views add FSM controls and behavior to NetSuite record forms. They include buttons, filtered select fields, staged record lists, and signature pads. Some components also validate or update records when they are saved.
Add an override under the exact views/... ID in a custom configuration record. For configuration record placement, merging, activation, and Preview, see FSM Configuration. Configure FSM Mobile resources and elements separately. For details, see FSM Mobile Resource Properties Reference and FSM Mobile Element (Block) Reference.
Before You Change a View
Each view has its own settings and eligibility conditions. A setting shown for one view does not automatically apply to another. The form must contain the fields and tabs required by the component, and the relevant FSM scripts must be deployed to that record. See FSM Script Reference for script deployment settings.
For the views that expose hidden, the standard default is false. Setting hidden to true turns off the component, including any record handlers it provides. It can therefore stop filtering, validation, or processing as well as hide a control. The per-view sections describe these effects. Hiding a component is not a permission control and does not disable the corresponding model, feature, or authenticated server operation.
Page IDs such as custpage_nx_contact identify temporary form controls. Keep them unique on the form. They are not record field IDs. Preserve the element keys, types, parent relationships, and mappings used by staged lists: the save handlers depend on that structure. Labels can be literal text or FSM translation identifiers where the view translates them. Translated defaults in the tables are described by their English meaning; the displayed text depends on the user's language.
Only properties described as templates in this reference are evaluated with their stated context. A label or arbitrary view string does not gain FSM Mobile expression support. See FSM Expressions and Template Tags.
Some views resolve searches into select options. Keep their required mapped properties, even when changing filters or labels. These consumers require mapped objects, so objectify: false is unsuitable. Search retrieval normally returns the first 1,000 results; use a search's all: true when the supported search definition needs all matching results. This does not change the eligibility rules. See FSM Searches and Field Mapping.
For example, this fragment prevents the New Task button from appearing on asset forms.
{
"views/asset/task": {
"hidden": true
}
}
For information about omitted properties, arrays, and null, see How Custom Configuration Combines with Core Configuration. Preview does not establish view eligibility. Use the view's supported disabling setting because a component can supply its default again after a null removal.
The Complete Core Object in each entry shows the entire declared defaults object for that view, under its exact configuration ID, before custom overrides and form initialization. The property tables identify the supported changes. A complete baseline can also contain internal members used by the component; their presence does not make them supported customization controls.
Static objects are shown as JSON. Where defaults depend on account settings, enabled features, form tabs, entry URLs, or model defaults, the complete object is shown as JavaScript-style reference code with those source expressions retained. Those expressions describe how FSM supplies a value; they are not JSON to paste into custom configuration and do not introduce expression support for a property. Strings beginning with custcollection_fsm. are the core translation identifiers. Components without documented customer settings are listed in the closing note.
View Index
This index lists views with documented customer controls. Other product components are listed under Views Without Documented Customer Configuration.
|
Configuration ID |
Purpose |
|---|---|
|
Address autocomplete field. |
|
|
Asset name field preparation. |
|
|
Parent Asset form dependencies. |
|
|
Asset Profitability Report button. |
|
|
New Project button. |
|
|
New Task button. |
|
|
Related Customer and Asset selectors. |
|
|
Case name field preparation. |
|
|
Generate Invoice button. |
|
|
Existing or new Project selection. |
|
|
Case Service Report button. |
|
|
Add Tasks list. |
|
|
Customer Profitability Report button. |
|
|
Open FSM Mobile for an eligible employee. |
|
|
Email Mobile Login button. |
|
|
Create or update fulfilled Assets. |
|
|
Asset Create New labels. |
|
|
Project name field preparation. |
|
|
Primary Contact selection on new Projects. |
|
|
Customer display when Parent Project is unavailable. |
|
|
Create Time Journal button. |
|
|
Project Profitability Report button. |
|
|
Program display and Project program processing. |
|
|
Add Subprojects list. |
|
|
Project Task Service Report button. |
|
|
NetSuite signature pads. |
|
|
CRM Task name field preparation. |
|
|
CRM Task Service Report button. |
|
|
Optional Assigned field on CRM tasks. |
views/asset/addresssearch
Adds an Address Search text field before the Asset address text field when that field is visible. The address autocomplete feature must be enabled and the configured Google key must be present. The view setting alone does not enable address lookup.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Turns off the autocomplete component when |
|
|
Page-field ID string. |
|
Identifies the added text field. |
|
|
Text or translation identifier. |
Translated Address Search label. |
Sets the field label. |
When you enter an address, the field requests suggestions after a short delay. Browser location, when available, can influence the lookup. Selecting a suggestion writes the address text and clears the selected address-book reference. It does not retain that reference as the source of the new address. The autocomplete view does not itself enable geocoding or time zone decoding.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/asset/addresssearch": {
"hidden": false,
"name": "custpage_nx_address_autocomplete",
"label": "custcollection_fsm.address_asset_address_search_label"
}
}
views/asset/autoname
Prepares the Asset name field when automatic naming is enabled in the Asset model. In create and edit forms, it supplies a temporary To Be Generated value and disables manual name entry. Noninteractive create and edit saves can also receive the temporary value when the name is empty.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables this name-field component when |
The Asset model's naming definition determines the generated name. This view does not provide a naming template, and disabling it does not disable model naming. See FSM Record Model Configuration. This component is recognized at runtime even when it is not listed in the default configuration Preview.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/asset/autoname": {
"hidden": false
}
}
views/asset/parent
On editable asset forms with a Parent field, this component makes the configured parent and inherited fields unavailable for manual editing when a parent is selected. It also hides the child-Asset sublist for a child asset. Changing the Parent value updates the affected form controls.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables these form dependencies when |
The affected field lists belong to the Asset feature settings, not this view. The component does not itself define inherited values or impose restrictions on every external record update. See Configuring FSM Asset Hierarchy and Inheritance.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/asset/parent": {
"hidden": false
}
}
views/asset/profitability
Adds the Profitability Report button in asset view mode. The selected report must exist in the account and support the supplied Asset filter.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Prevents the button from appearing when |
|
|
Page-button ID string. |
|
Identifies the button. |
|
|
Text or translation identifier. |
Translated Profitability Report label. |
Sets the button text. |
|
|
Report internal ID number. |
Configured Asset profitability report, or |
Selects the report. Use the actual ID from the account. |
|
|
URL template string. |
|
Builds the report link. |
The URL context contains report and the URL-encoded Asset name. Here, the name tag is the Asset name, not the page-button ID. The report default comes from the accounting setting or installed account report information. A default of 0 does not identify a usable report; the component does not use that value to hide the button. A replacement URL must use the report's required filter positions and permissions.
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/asset/profitability": {
hidden: false,
name: "custpage_nx_profitability",
label: "custcollection_fsm.profitability_asset_report_button_label",
report: getAssetProfitabilityReport(state) || 0,
url: "/app/reporting/reportrunner.nl?cr=${ report }&crit_2=${ name }",
}
}
report is resolved from the account's Asset profitability report setting or installed report information, with 0 as the fallback.
views/asset/project
Adds New Project to an existing asset in view or edit mode. The core button is attached to recmachcustentity_nx_asset, the related Projects sublist. It opens the project entry form in the same window and supplies the Asset link through NetSuite parent-field URL parameters.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Prevents the button from appearing when |
|
|
Page-button ID string. |
|
Identifies the button. |
|
|
Text or translation identifier. |
Translated New Project label. |
Sets the button text. |
|
|
URL template string. |
Account-resolved Project entry URL plus |
Opens the entry form with the parent Asset context. |
The URL context is the Asset's internal ID (id) and record type (record). Retain the parent-field parameters when the new Project must be linked to the Asset. Do not copy a URL resolved for another account. The button does not create the Project until the user saves the entry form.
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/asset/project": {
hidden: false,
name: "custpage_nx_project",
label: "custcollection_fsm.asset_newproject_button_label",
parent: "recmachcustentity_nx_asset",
url: nlapiResolveURL("record", "job") + "&pf=CUSTENTITY_NX_ASSET&pi=${ id }&pr=${ record }",
}
}
url begins with the Project entry URL resolved in the current account. parent records the core sublist placement; it is not an additional supported override documented by this topic.
views/asset/task
Adds New Task to an existing asset in view or edit mode. The core button is attached to recmachcustevent_nx_task_asset, the related Tasks sublist. It opens the CRM task entry form in the same window and supplies the Asset link.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Prevents the button from appearing when |
|
|
Page-button ID string. |
|
Identifies the button. |
|
|
Text or translation identifier. |
Translated New Task label. |
Sets the button text. |
|
|
URL template string. |
Account-resolved Task entry URL plus |
Opens the entry form with the parent Asset context. |
The URL context contains the Asset's internal ID (id) and record type (record). Preserve the parent-field parameters and use the entry URL resolved in the current account. The user must save the task entry form to create the record.
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/asset/task": {
hidden: false,
name: "custpage_nx_task",
label: "custcollection_fsm.asset_newtask_button_label",
parent: "recmachcustevent_nx_task_asset",
url: nlapiResolveURL("record", "task") + "&pf=CUSTEVENT_NX_TASK_ASSET&pi=${ id }&pr=${ record }",
}
}
url begins with the CRM Task entry URL resolved in the current account. parent records the core sublist placement; it is not an additional supported override documented by this topic.
views/assetcustomer
Filters related Customer and Asset choices on editable Case, CRM Task, Project, Project Task, Opportunity, Quote, Sales Order, and Invoice forms. A replacement selector is added only for a relevant field that exists, is visible, and is editable. The bindings to each record's fields are supplied by the record component.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Turns off the replacement selectors and their synchronization. |
|
|
Page-field ID string. |
|
Identifies the filtered Customer selector. |
|
|
Page-field ID string. |
|
Identifies the filtered Asset selector. |
|
|
Customer option map. |
|
Controls mapped Customer option values and labels. |
|
|
Asset option map. |
|
Controls mapped Asset option values and labels. |
The Customer label formula is formulatext:nvl(nvl(trim({firstname}||' '||{lastname}),{companyname}), {entityid}). Both maps must return id and label; the selected IDs are written back to the record fields. The lookup retrieves all matching records and excludes inactive options.
models/asset.map.customers and models/customer.map.assets define the allowed relationships. A resolved value of true leaves the native choice unrestricted; false permits no choices; a list restricts choices to those IDs. See FSM Record Model Configuration.
When both fields are editable, an existing asset takes precedence when deciding which field to filter. An old selection that is no longer valid is retained when the form first loads. Changing the relevant Customer or Asset can clear that invalid selection. Clearing the driving field can remove filtering or apply filtering in the other direction. Hiding the view does not change the model relationships or grant access to records.
For example, this fragment changes only asset option labels and retains their internal IDs.
{
"views/assetcustomer": {
"assetOption": {
"label": "formulatext:{name}||' : '||{custrecord_nx_asset_serial}"
}
}
}
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/assetcustomer": {
"hidden": false,
"customerFilter": "custpage_nx_customer",
"customerOption": {
"id": "internalid",
"label": "formulatext:nvl(nvl(trim({firstname}||' '||{lastname}),{companyname}), {entityid})"
},
"assetFilter": "custpage_nx_asset",
"assetOption": {
"id": "internalid",
"label": "name"
}
}
}
views/case/autoname
Prepares the Case title for automatic naming when the Case model has an automatic-name mapping. On an editable form, selecting a Field Service Case Type disables manual name entry and supplies the temporary To Be Generated value. Clearing the type restores manual entry and the earlier name where available. Relevant noninteractive saves can also receive a temporary name.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables this name-field component. |
The model controls the final naming template. Disabling the view does not disable that model behavior. See FSM Record Model Configuration.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/case/autoname": {
"hidden": false
}
}
views/case/invoice
Adds Generate Invoice in case view mode when the Case has a Field Service Case Type and the invoice verification finds billable lines. The button confirms the operation, invokes the Case invoice action, and opens the resulting invoice.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Prevents the button from appearing when |
|
|
Page-button ID string. |
|
Identifies the button. |
|
|
Text or translation identifier. |
Translated Generate Invoice label. |
Sets the button text. |
|
|
Text or translation identifier. |
Translated confirmation to generate the Invoice. |
Sets the confirmation message. |
|
|
Text or translation identifier. |
Translated Invoice successfully created message. |
Sets the successful-action message. |
|
|
Text or translation identifier. |
Translated generic operation error. |
Sets the failed-action message. |
These properties do not change which time, expenses, or Sales Order lines are billable. That eligibility belongs to the Case invoice action and billing rules. See Configuring FSM Billing Rules and FSM Record Model Configuration. Hiding the button does not disable other invoicing paths.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/case/invoice": {
"hidden": false,
"name": "custpage_nx_invoice",
"label": "custcollection_fsm.bill_case_generateinvoice_button_label",
"confirm": "custcollection_fsm.bill_case_generateinvoice_confirm_message",
"success": "custcollection_fsm.bill_case_generateinvoice_success_message",
"error": "custcollection_fsm.error_generic_error_message"
}
}
views/case/projects
Adds a Project selector on editable case forms. The core view requires the Asset field to be visible. It replaces the case company selector and preserves whether that field is required.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables the selector, synchronization, and new-Project request handling. |
|
|
Page-field ID string. |
|
Identifies the selector. |
|
|
Text or translation identifier. |
Translated Project label. |
Sets its label. |
|
|
Array of record field IDs. |
|
All listed fields must be visible to add the selector. |
|
|
Array of record field IDs. |
|
Changes to these fields refresh the choices. Choices are cleared until all listed fields have values. |
|
|
Resolvable option definition. |
Combined active projects and new-project types. The option definitions follow this table. |
Supplies the selector's options. |
options uses array: true to combine two searches:
|
Search |
Standard Eligibility |
Required Option Map |
|---|---|---|
|
|
Active |
|
|
|
Active |
|
The template context is supportcase. Preserve the distinction between an existing numeric Project ID and a new type-... option. A truthy selected map value can request automatic selection. Search filters, formulas, and result mapping are described in FSM Searches and Field Mapping.
An existing Project is retained during initialization when it is absent from an otherwise populated option list. Selecting an existing project updates the Case company value. Selecting a new-Project type requests creation after the case is saved, using the Case customer, Asset, contact, time zone, and start information. Background processing creates the Project and links it to the Case; the Case save alone does not prove that creation succeeded. Preserve the Asset and date dependencies when replacing showFields, refreshFields, or search filters.
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/case/projects": {
hidden: false,
name: "custpage_nx_active_projects",
label: "custcollection_fsm.workorder_case_active_project_label",
company: "company",
showFields: ["custevent_nx_case_asset"],
refreshFields: ["custevent_nx_case_asset", "startdate", "starttime"],
options: {
array: true,
active: {
record: "job",
filters: [
["custentity_nx_asset", "anyof", "${ supportcase.asset }"],
"and",
[
["startdate", "isempty", ""],
"or",
[
"formulatext:case when from_tz(cast({startdate} as timestamp), case when {custentity_nx_time_zone.custrecord_nx_time_zone_olson} like '%/%' then {custentity_nx_time_zone.custrecord_nx_time_zone_olson} else SESSIONTIMEZONE end) <= timestamp '${ supportcase.starttimestamp }' then 'T' else 'F' end",
"is",
"T",
],
],
"and",
[
["enddate", "isempty", ""],
"or",
[
"formulatext:case when from_tz(cast(({enddate} + 1) as timestamp), case when {custentity_nx_time_zone.custrecord_nx_time_zone_olson} like '%/%' then {custentity_nx_time_zone.custrecord_nx_time_zone_olson} else SESSIONTIMEZONE end) > timestamp '${ supportcase.starttimestamp }' then 'T' else 'F' end",
"is",
"T",
],
],
"and",
["isinactive", "is", "F"],
],
map: {
id: "internalid",
label: "formulatext:{custentity_nx_project_type}||nvl2({startdate},' : '||{startdate},'')||nvl2({enddate},' - '||{enddate},'')||nvl2({custentity_nx_time_zone}, ' ' || {custentity_nx_time_zone.custrecord_nx_time_zone_abbreviation},'')",
selected: "formulatext:''",
},
},
types: {
record: "customrecord_nx_project_type",
filters: [["isinactive", "is", "F"], "and", ["internalid", "noneof", [0, ...getProgramProjectTypes(state)]]],
map: {
id: "formulatext:'type-'||{Internalid}",
label: "formulatext: '- custcollection_fsm.label_new_affix_name : '||{Name}||' -' ",
selected: "formulatext:''",
},
},
},
optgroup: [],
schedule: {
title: "Case ${ supportcase.id } New Project",
deployment: "case_${ supportcase.id }_np",
callback: "views/case/projects/scheduled",
arguments: { case: "${ supportcase.id }", type: "${ type }" },
priority: 1,
},
}
}
The Project-type exclusion uses the configured Program Project types. company, optgroup, and schedule are shown to complete the core object; they are not additional supported settings.
views/case/servicereport
Adds the Case Service Report button in view mode when the Case has a Field Service Case Type and its stage is Closed. The core button selects servicereport from notification.caseEmail, opens the report preview, and asks for confirmation before requesting an email.
For this view's hidden, name, label, notification, send, success, error, and delay properties, see Service Report Button Configuration. That section also explains preview-only configuration and the relationship between the button, report attachment, and notification. Hiding this button does not disable automatic notification rules.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/case/servicereport": {
"hidden": false,
"name": "custpage_nx_servicereport",
"label": "custcollection_fsm.report_case_servicereport_button_label",
"notification": "servicereport",
"send": "custcollection_fsm.report_case_servicereport_confirm_message",
"success": "custcollection_fsm.report_case_servicereport_successs_message",
"error": "custcollection_fsm.error_generic_error_message",
"delay": 1000
}
}
views/case/tasks
Adds the Add Tasks tab and staging list to editable case forms when the configured CRM tab is available. Select task details, add rows to the list, and save the case to request task creation.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Turns off the tab, staging controls, validation, and submitted task creation request. |
|
|
NetSuite form-element definitions with the keys listed in the following element table. |
Add Tasks controls and Tasks list. |
Controls the form presentation and staged values. |
|
|
Resolvable option definition. |
Inactive-excluding Skill search plus a None choice. |
Supplies the Skills selector. |
|
|
Resolvable option definition. |
Inactive-excluding Field Service Task Type search plus an empty choice. |
Supplies both Type selectors. |
|
|
Resolvable option definition. |
Active employees with an FSM region, restricted by the user's subsidiary view when subsidiaries are enabled, plus an empty choice. |
Supplies Assigned choices. |
|
|
Text template or translation identifier. |
Translated |
Shows the count of assignee choices after skill filtering. |
Case Task Elements
The root tab's standard ID is custpage_nx_tasks, and the CRM tab setting supplies its parent. Child IDs and field mappings are generated from the element keys and parent relationships. Standard labels are translated.
|
|
Standard Type and Parent |
Standard Label or Role |
Other Standard Settings |
|---|---|---|---|
|
|
|
Add Tasks. |
|
|
|
|
Tasks. |
Holds staged task rows. |
|
|
|
Internal assignee cache. |
|
|
|
|
Type. |
Task model default type; |
|
|
|
Assigned. |
Task model default assignee; |
|
|
|
Field Service start-date label. |
|
|
|
|
Field Service end-date label. |
|
|
|
|
Start. |
Task model default start time; |
|
|
|
End. |
Task model default end time; |
|
|
|
Confirmed Booking. |
Task model default booking flag; |
|
|
|
Skills. |
|
|
|
|
Message. |
|
|
|
|
Add. |
Adds staging rows. |
|
|
|
Remove All. |
Clears staging rows. |
|
|
|
Type. |
|
|
|
|
Assigned. |
|
|
|
|
Date. |
|
|
|
|
Start. |
|
|
|
|
End. |
|
|
|
|
Confirmed Booking. |
Stores the staged flag. |
|
|
|
Message. |
Stores staged text. |
|
|
|
Skill. |
|
The core Task model supplies 09:00 and 17:00 for start and end times, formatted for the form. It does not supply a core type, assignee, or booking value; model overrides can supply those defaults. See FSM Record Model Configuration.
Case Task Option Definitions and Processing
Each definition uses array: true and retains an initial empty or None choice. skills.task searches active customrecord_nx_skill records; types.task searches active customrecord_nx_task_type records. Both maps return id: "internalid" and label: "name". assignees.employee returns id: "internalid", a sorted employee-name formula for label, and skill: "custentity_nx_skill[]". Its template context includes user, including user.view for the subsidiary restriction.
The client retains the Employee list and filters it to employees who have every selected Skill. Preserve the skill array map and empty choices when customizing these searches. The displayed count is not an availability or overlap check.
Add creates one staged task per day in the inclusive selected date range. With no end date, it uses the start date. Required values and time order are checked before staging. Saving the case submits the rows with the Case link and time zone for background creation. Confirm that the resulting Tasks exist after processing. This list does not automatically resolve resource overlaps or guarantee that a selected employee is free.
For example, this fragment changes the tab label and retains its structure and processing:
{
"views/case/tasks": {
"el": {
"tab": {
"label": "Additional Visits"
}
}
}
}
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/case/tasks": {
hidden: false,
el: {
tab: {
type: "subtab",
label: "custcollection_fsm.workorder_case_addtasks_subtab_label",
parent: getFormCrmTab(state),
name: "custpage_nx_tasks",
},
list: { type: "inlineeditor", label: "custcollection_fsm.workorder_case_addtasks_taskslist_label", parent: "tab" },
assignees: { type: "longtext", display: "hidden", parent: "tab" },
addtype: {
type: "select",
label: "custcollection_fsm.workorder_case_addtasks_type_label",
parent: "tab",
value: Task.prototype.defaults.type,
layout: "midrow",
width: 180,
},
addassigned: {
type: "select",
label: "custcollection_fsm.workorder_case_addtasks_assigned_label",
parent: "tab",
value: Task.prototype.defaults.assigned,
layout: "midrow",
width: 180,
},
adddate: {
type: "date",
label: "custcollection_fsm.custevent_nx_start_date_shortname",
parent: "tab",
layout: "midrow",
},
adddue: {
type: "date",
label: "custcollection_fsm.custevent_nx_end_date_shortname",
parent: "tab",
layout: "midrow",
},
addstart: {
type: "timeofday",
label: "custcollection_fsm.workorder_case_addtasks_start_label",
parent: "tab",
value: Task.prototype.defaults.starttimetz,
layout: "midrow",
width: 7,
},
addend: {
type: "timeofday",
label: "custcollection_fsm.workorder_case_addtasks_end_label",
parent: "tab",
value: Task.prototype.defaults.endtimetz,
layout: "midrow",
width: 7,
},
addbooking: {
type: "checkbox",
label: "custcollection_fsm.custevent_nx_task_booking_confirmed_shortname",
parent: "tab",
value: Task.prototype.defaults.booking,
layout: "midrow",
},
addskill: {
type: "multiselect",
label: "custcollection_fsm.workorder_case_addtasks_skills_label",
parent: "tab",
map: "[]",
layout: "startrow",
break: "startrow",
width: 370,
height: 3,
},
addmessage: {
type: "textarea",
label: "custcollection_fsm.workorder_case_addtasks_message_label",
parent: "tab",
layout: "midrow",
width: 50,
height: 6,
},
add: { type: "button", label: "custcollection_fsm.workorder_case_addtasks_addbutton_label", parent: "list" },
reset: { type: "button", label: "custcollection_fsm.workorder_case_addtasks_removeallbutton_label", parent: "list" },
type: {
type: "select",
label: "custcollection_fsm.workorder_case_addtasks_type_label",
parent: "list",
required: true,
},
assigned: {
type: "select",
label: "custcollection_fsm.workorder_case_addtasks_assigned_label",
parent: "list",
required: false,
},
date: {
type: "date",
label: "custcollection_fsm.workorder_case_addtasks_date_label",
parent: "list",
required: true,
},
start: {
type: "timeofday",
label: "custcollection_fsm.workorder_case_addtasks_start_label",
parent: "list",
required: true,
},
end: {
type: "timeofday",
label: "custcollection_fsm.workorder_case_addtasks_end_label",
parent: "list",
required: true,
},
booking: {
type: "checkbox",
label: "custcollection_fsm.custevent_nx_task_booking_confirmed_shortname",
parent: "list",
},
message: { type: "text", label: "custcollection_fsm.workorder_case_addtasks_message_label", parent: "list" },
skill: {
type: "text",
label: "custcollection_fsm.workorder_case_addtasks_skill_label",
parent: "list",
map: "[]",
display: "hidden",
},
},
skills: {
array: true,
default: { label: "custcollection_fsm.workorder_case_addtasks_noneskill_option" },
task: {
record: "customrecord_nx_skill",
filters: ["isinactive", "is", "F"],
map: { id: "internalid", label: "name" },
},
},
types: {
array: true,
default: {},
task: {
record: "customrecord_nx_task_type",
filters: ["isinactive", "is", "F"],
map: { id: "internalid", label: "name" },
},
},
assignees: {
array: true,
default: {},
employee: {
record: "employee",
filters: [
["isinactive", "is", "F"],
"and",
["custentity_nx_region", "noneof", "@NONE@"],
].concat(
isSubsidiariesFeatureEnabled()
? [
"and",
[
"formulatext:case when '${ user.view }' = '0' or {subsidiary.id} in (${ user.view }) then 'T' else 'F' end",
"is",
"T",
],
]
: []
),
map: {
id: "internalid",
label: "<formulatext:nvl(trim(trim(trim({firstname})||' '||{middlename})||' '||{lastname}), {entityid})",
skill: "custentity_nx_skill[]",
},
},
},
available: "custcollection_fsm.workorder_case_addtasks_availableassignee_placeholder",
schedule: {
title: "Case ${ supportcase.id } Add Tasks",
deployment: "case_${ supportcase.id }_at",
callback: "views/case/tasks/scheduled",
yieldpriority: true,
priority: 2,
},
}
}
The parent tab comes from form.tab.crm. Initial values come from the effective Task model defaults, including account-formatted times. The Employee filter adds its subsidiary condition only when Subsidiaries is enabled. schedule records the background callback. Changing it is not a supported setup procedure.
views/customer/profitability
Adds the Profitability Report button in customer view mode. The report must exist in the account and accept the supplied Customer filters.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Prevents the button from appearing when |
|
|
Page-button ID string. |
|
Identifies the button. |
|
|
Text or translation identifier. |
Translated Profitability Report label. |
Sets the button text. |
|
|
Report internal ID number. |
Configured entity profitability report, or |
Selects the report in this account. |
|
|
URL template string. |
Report runner URL in the following paragraph. |
Builds the filtered report link. |
The core URL is /app/reporting/reportrunner.nl?cr=${ report }&crit_1_mod=${ date }&crit_1_from=${ start }&crit_1_to=${ end }&crit_2=${ entity }&crit_3=${ name }.
The template context contains the following values:
-
report: The report ID -
date:"CUSTOM" -
start: January 1, 1970, formatted as an account date -
end: January 1, 2100, formatted as an account date -
entity: The URL-encoded customer entity title -
name: An empty value
The report ID comes from the accounting setting or installed account report information. The component can show the button even when the report default is 0. Changing reports can require corresponding changes to URL filter positions and report access.
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/customer/profitability": {
hidden: false,
name: "custpage_nx_profitability",
label: "custcollection_fsm.profitability_customer_report_button_label",
report: getEntityProfitabilityReport(state) || 0,
url: "/app/reporting/reportrunner.nl?cr=${ report }&crit_1_mod=${ date }&crit_1_from=${ start }&crit_1_to=${ end }&crit_2=${ entity }&crit_3=${ name }",
}
}
report is resolved from the account's entity profitability report setting or installed report information, with 0 as the fallback.
views/employee/loginas
The Mobile Login button appears in employee view mode when the employee is an FSM Mobile user. The current user must be that employee or an FSM Mobile administrator. The button opens the private FSM Mobile address for the employee's email address.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Prevents the button from appearing when |
|
|
Page-button ID string. |
|
Identifies the button. |
|
|
Text or translation identifier. |
Translated Mobile Login label. |
Sets its text. |
This view does not provide a URL override or grant FSM Mobile administrator rights. Hiding the button does not revoke FSM Mobile access. See FSM Notification Configuration for the separate email login action and message.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/employee/loginas": {
"hidden": false,
"name": "custpage_nx_loginas",
"label": "custcollection_fsm.user_mobilelogin_button_label"
}
}
views/employee/mobilelogin
Adds the Email Mobile Login button in employee view mode under the conditions described in views/employee/loginas. The button is unavailable when the relevant FSM Mobile login notification is pending.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Prevents the button from appearing when |
|
|
Page-button ID string. |
|
Identifies the button. |
|
|
Text or translation identifier. |
Translated Email Mobile Login label. |
Sets the button text. |
|
|
Text or translation identifier. |
Translated confirmation to send the email. |
Sets the confirmation message. |
|
|
Text or translation identifier. |
Translated Email successfully queued to be sent message. |
Sets the successful-request message. |
|
|
Text or translation identifier. |
Translated generic operation error. |
Sets the failed-request message. |
The action requests mobilelogin from notification.employeeEmail. This view does not expose a notification-name setting. Configure the message and login-link content in FSM Notification Configuration. A successful request means the email was queued, not that it was delivered.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/employee/mobilelogin": {
"hidden": false,
"name": "custpage_nx_mobilelogin",
"label": "custcollection_fsm.user_emailmobilelogin_button_label",
"confirm": "custcollection_fsm.user_emailmobilelogin_confirm_message",
"success": "custcollection_fsm.user_emailmobilelogin_success_message",
"error": "custcollection_fsm.error_generic_error_message"
}
}
views/itemfulfillment/assets
Adds Create/Update Assets to editable item fulfillment forms when the configured transaction tab is present. The core component applies when the order type is absent or is Sales Order. Fulfilled items must be marked as Asset Items.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables staging, Asset validation, and submitted Asset creation/update handling. |
|
|
NetSuite form-element definitions with the keys listed in the following element table. |
Create/Update Assets list and fields. |
Defines staged Asset values and presentation. |
|
|
Text template or translation identifier. |
Translated |
Reports missing required values. |
|
|
Text template or translation identifier. |
Translated |
Reports a duplicate staging row. |
The error templates are evaluated with the validation result, including required or duplicate for the corresponding message. Preserve these tags when changing the text.
Item Fulfillment Asset Elements
The following table lists the standard item fulfillment asset elements, parent relationships, labels, and settings.
|
|
Standard Type and Parent |
Standard Label |
Other Standard Settings |
|---|---|---|---|
|
|
|
Create/Update Assets. |
|
|
|
|
Item. |
|
|
|
|
Serial Number. |
|
|
|
|
Asset. |
|
|
|
|
Customer. |
|
|
|
|
Parent. |
|
|
|
|
Address Book. |
|
|
|
|
Address. |
|
Labels are translated. Child names and mappings are generated from the keys and parent relationships. sourcefrom identifies the Item Fulfillment body field to copy into the staged value. If it is changed, the target field must still have a compatible value and type. Preserve the item, serial, and existing-Asset identity fields, required validation, and list structure.
Item Fulfillment Asset Processing
The component builds one staging row per fulfilled unit. It uses serialized inventory detail where applicable and looks up matching Assets to decide whether a row creates or updates an Asset.
Changes to fulfillment selection, quantity, sourced body fields, or inventory detail refresh the list and can replace manual staging changes.
The address text is formatted from shipping details without Attention and Addressee. A custom or overridden shipping address uses address text rather than retaining an address-book ID. Required values and duplicate rows are checked before save. After a create or edit save, background processing creates or updates the Assets and links them to the fulfillment.
For example, this fragment changes only the list title:
{
"views/itemfulfillment/assets": {
"element": {
"list": {
"label": "Delivered Equipment"
}
}
}
}
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/itemfulfillment/assets": {
hidden: false,
error: {
required: "custcollection_fsm.asset_itemfulfillment_missingassetvalues_error_message",
duplicate: "custcollection_fsm.asset_itemfulfillment_duplicateasset_error_message",
},
requiredbypass: "-999999",
country: {
label: "Country",
name: "custpage_nx_country",
type: "inlinehtml",
display: "hidden",
},
element: {
list: {
label: "custcollection_fsm.asset_itemfulfillment_createupdateassets_sublist_name",
name: "custpage_nx_assets",
type: "inlineeditor",
parent: getFormTransactionTab(state),
},
item: {
label: "custcollection_fsm.asset_itemfulfillment_createupdateassets_item_label",
type: "select",
parent: "list",
display: "disabled",
required: true,
},
serial: {
label: "custcollection_fsm.asset_itemfulfillment_createupdateassets_serialnumber_label",
type: "text",
parent: "list",
required: true,
},
id: {
label: "custcollection_fsm.asset_itemfulfillment_createupdateassets_asset_label",
type: "select",
parent: "list",
display: "disabled",
},
customer: {
label: "custcollection_fsm.asset_itemfulfillment_createupdateassets_customer_label",
type: "select",
parent: "list",
display: "hidden",
source: "customer",
sourcefrom: "custbody_nx_customer",
},
parent: {
label: "custcollection_fsm.asset_itemfulfillment_createupdateassets_parent_label",
type: "select",
parent: "list",
display: "hidden",
source: "customrecord_nx_asset",
sourcefrom: "custbody_nx_asset",
},
addressbook: {
label: "custcollection_fsm.asset_itemfulfillment_createupdateassets_addressbook_label",
type: "integer",
parent: "list",
display: "hidden",
sourcefrom: "shipaddresslist",
},
addresstext: {
label: "custcollection_fsm.asset_itemfulfillment_createupdateassets_address_label",
type: "textarea",
parent: "list",
display: "disabled",
sourcefrom: "shipaddress",
},
},
schedule: {
title: "Item Fulfillment ${ itemfulfillment.id } New Assets",
deployment: "fulf_${ itemfulfillment.id }_na",
callback: "views/itemfulfillment/assets/scheduled",
priority: 1,
},
}
}
The parent tab comes from form.tab.transaction. requiredbypass, country, and schedule complete the core baseline and are not additional supported settings.
views/newnull
On asset forms, replaces a null Create New label with the form's record-type title. It affects Create New menus and buttons rather than renaming stored records.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables the label adjustment. |
|
|
Page-control ID string. |
|
Identifies the inserted form control. |
The adjustment depends on the NetSuite form markup. NetSuite markup changes can affect it.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/newnull": {
"hidden": false,
"name": "custpage_nx_newnull"
}
}
views/project/autoname
Prepares the Project name when automatic naming is enabled in the Project model. With a Field Service Project Type selected, it supplies a temporary unique To Be Generated name and prevents manual entry on editable forms. Clearing the type restores manual entry and the earlier name where available. Relevant noninteractive saves can also receive a temporary name.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables this name-field component. |
The Project model controls the final name. The view has no naming-template property, and hiding it does not disable model naming. See FSM Record Model Configuration.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/project/autoname": {
"hidden": false
}
}
views/project/contact
Adds Contact when creating a Project on an editable form with a visible Field Service Project Type field. The selector is placed after Parent Project. It is populated for the current Customer, refreshes when the Customer changes, and writes a selected Contact when the project is saved.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables the added selector and contact-copy handler. |
|
|
Page-field ID string. |
|
Identifies the selector. |
|
|
Text or translation identifier. |
Translated Contact label. |
Sets the field label. |
|
|
Resolvable option definition. |
Active contacts for the current customer. The option definition follows this table. |
Supplies Contact choices and an initial selection. |
The standard options definition uses array: true and a contacts search on customer. Its filters match ${ project.customer } and contact.isinactive equal to F. Its map is id: "contact.internalid", label: "<contact.entityid", and selected: "formulatext:case when {contact.role} = -10 then 'T' else '' end". The < requests ascending label order. The template context is project.
Preserve Contact IDs and the Customer relationship when changing the search. The component chooses one option from truthy selected results and removes the selection flag from the others. Do not depend on multiple matching primary choices selecting a particular contact. An empty selector value does not itself request clearing an existing record contact. See FSM Searches and Field Mapping.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/project/contact": {
"hidden": false,
"name": "custpage_nx_contact",
"label": "custcollection_fsm.contact_project_customer_contact_label",
"options": {
"array": true,
"contacts": {
"record": "customer",
"filters": [
[
"internalid",
"is",
"${ project.customer }"
],
"and",
[
"contact.isinactive",
"is",
"F"
]
],
"map": {
"id": "contact.internalid",
"label": "<contact.entityid",
"selected": "formulatext:case when {contact.role} = -10 then 'T' else '' end"
}
}
}
}
}
views/project/customer
On an editable project form, displays Customer inline when Parent Project is absent, hidden, or read-only. It supports forms where Customer is derived through Parent Project rather than edited independently.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables the form display adjustment. |
The view does not provide field-ID, label, or relationship overrides. Hiding it does not remove NetSuite or model restrictions on Project customer relationships.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/project/customer": {
"hidden": false
}
}
views/project/journal
Adds Create Time Journal in project view mode when the required debit and credit accounting settings exist and eligible uncosted Project time is found. It invokes the Project time-journal action and opens the resulting journal.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Prevents the button from appearing when |
|
|
Page-button ID string. |
|
Identifies the button. |
|
|
Text or translation identifier. |
Translated Create Time Journal label. |
Sets its text. |
|
|
Text or translation identifier. |
Translated Journal successfully created message. |
Sets the successful-action message. |
|
|
Text or translation identifier. |
Translated generic operation error. |
Sets the failed-action message. |
There is no view confirmation-message setting. Account selection, time eligibility, amounts, and costing updates belong to accounting rules and the model action. See Configuring FSM Project Labour Cost Posting and FSM Record Model Configuration.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/project/journal": {
"hidden": false,
"name": "custpage_nx_journal",
"label": "custcollection_fsm.profitability_createtimejournal_button_label",
"success": "custcollection_fsm.profitability_journal_success_message",
"error": "custcollection_fsm.error_generic_error_message"
}
}
views/project/profitability
Adds the Profitability Report button in project view mode. It uses the entity profitability report with the Project name filter.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Prevents the button from appearing when |
|
|
Page-button ID string. |
|
Identifies the button. |
|
|
Text or translation identifier. |
Translated Profitability Report label. |
Sets the button text. |
|
|
Report internal ID number. |
Configured entity profitability report, or |
Selects the report in this account. |
|
|
URL template string. |
Report runner URL in the following paragraph. |
Builds the filtered link. |
The core URL is /app/reporting/reportrunner.nl?cr=${ report }&crit_1_mod=${ date }&crit_1_from=${ start }&crit_1_to=${ end }&crit_2=${ entity }&crit_3=${ name }.
The template context contains the following values:
-
report: The report ID -
date:"CUSTOM" -
start: January 1, 1970, formatted as an account date -
end: January 1, 2100, formatted as an account date -
entity: An empty value -
name: The URL-encoded combination of the parent display name, the separator" : ", and the project entity title
The name tag is not the page-button ID. The report default comes from accounting or installed account report information. A default of 0 does not hide the button. A replacement URL must use the report's required filter positions and permissions.
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/project/profitability": {
hidden: false,
name: "custpage_nx_profitability",
label: "custcollection_fsm.profitability_project_report_button_label",
report: getEntityProfitabilityReport(state) || 0,
url: "/app/reporting/reportrunner.nl?cr=${ report }&crit_1_mod=${ date }&crit_1_from=${ start }&crit_1_to=${ end }&crit_2=${ entity }&crit_3=${ name }",
}
}
report is resolved from the account's entity profitability report setting or installed report information, with 0 as the fallback.
views/project/program
Displays the calculated Program on project forms when the configured entity tab is available. The list shows planned service dates and related Case information. It is a read-only projection of the Project's program rules.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Turns off the whole component, including Project program review and scheduling handlers. |
|
|
NetSuite form-element definitions with the keys listed in the following element table. |
Read-only Program list. |
Controls the list presentation. |
The following table lists the standard Program list elements and their settings.
|
|
Standard Type and Parent |
Standard Label |
Other Standard Settings |
|---|---|---|---|
|
|
|
Program. |
|
|
|
|
Type. |
|
|
|
|
Program Date. |
|
|
|
|
Case. |
|
|
|
|
Start Date. |
|
|
|
|
End Date. |
|
|
|
|
Status. |
|
|
|
|
Assigned To. |
|
Labels are translated; child IDs and mappings are generated. Type and Program Date describe the planned service. Case, Start Date, End Date, and Status are populated when a Case exists. Assigned To comes from the calculated service entry. Changing relevant Project dates, type, program limits, or time zone refreshes the displayed projection.
Preserve the list's read-only structure. Making a column editable does not turn it into a supported Case editor. The component also reviews program changes on relevant saves and requests program processing. Consequently, hidden: true is unsuitable if you want to remove only the display and keep these handlers active. For information about configuring program behavior, see Configuring FSM Program.
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/project/program": {
hidden: false,
el: {
list: {
type: "inlineeditor",
label: "custcollection_fsm.program_project_sublist_name",
parent: getFormEntityTab(state),
name: "custpage_nx_program",
readonly: true,
},
type: {
type: "select",
label: "custcollection_fsm.program_project_type_label",
parent: "list",
display: "readonly",
source: "customrecord_nx_case_type",
},
date: {
type: "date",
label: "custcollection_fsm.program_project_programdate_label",
parent: "list",
display: "readonly",
},
case: {
type: "select",
label: "custcollection_fsm.program_project_case_label",
parent: "list",
display: "readonly",
source: "supportcase",
},
start: {
type: "date",
label: "custcollection_fsm.program_project_startdate_label",
parent: "list",
display: "readonly",
},
end: {
type: "date",
label: "custcollection_fsm.program_project_enddate_label",
parent: "list",
display: "readonly",
},
status: {
type: "select",
label: "custcollection_fsm.program_project_status_label",
parent: "list",
display: "readonly",
source: "supportcasestatus",
},
assigned: {
type: "select",
label: "custcollection_fsm.program_project_assignedto_label",
parent: "list",
display: "readonly",
source: "employee",
},
},
}
}
The form.tab.entity setting supplies the list's parent tab. Child control IDs and field maps are generated later when the component initializes.
views/project/subprojects
Adds an Add Subprojects list to editable project forms when the configured entity tab is present. Each staged row defines a child project for an asset. Saving the parent project requests background creation of those child records.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables staging, validation, and submitted child-Project creation handling. |
|
|
NetSuite form-element definitions with the keys listed in the following element table. |
Add Subprojects list. |
Defines staged values and their presentation. |
|
|
Asset option map. |
|
Controls options in the filtered Asset selector. |
The following table lists the standard Add Subprojects elements, parent relationships, labels, and settings.
|
|
Standard Type and Parent |
Standard Label |
Other Standard Settings |
|---|---|---|---|
|
|
|
Add Subprojects. |
|
|
|
|
Asset. |
|
|
|
|
Asset. |
|
|
|
|
Type. |
|
|
|
|
Start. |
|
|
|
|
End. |
|
|
|
|
Program Start. |
Initial value from the parent project. |
|
|
|
Program Create Until. |
Initial value from the parent project. |
Labels are translated; child IDs and mappings are generated. Type choices come from the Project's type field. The standard Project model does not supply a default type. Asset restrictions come from the Customer model's assets value: unrestricted Customers use the native selector; restricted Customers use assetOption results. Preserve mapped id and label values and the synchronization between assetfiltered and asset.
Starting a line copies the parent's current dates and program limits. Changing parent dates cancels the active line; changing Customer clears the staged list and current line. Required values are checked and End must not be before Start. After save, each staged row creates a child project with the saved Project as parent and its current Customer. See FSM Record Model Configuration for Project and Customer relationships.
Complete Core Object - Dynamic Values
The following object shows the complete declared standard defaults and retains expressions for dynamic values.
{
"views/project/subprojects": {
hidden: false,
el: {
list: {
type: "inlineeditor",
label: "custcollection_fsm.workorder_addsubprojects_sublist_name",
parent: getFormEntityTab(state),
name: "custpage_nx_subprojects",
},
asset: {
type: "select",
label: "custcollection_fsm.workorder_addsubprojects_asset_label",
parent: "list",
required: true,
source: "customrecord_nx_asset",
},
assetfiltered: {
type: "select",
label: "custcollection_fsm.workorder_addsubprojects_assetdropdown_label",
parent: "list",
required: true,
},
type: {
type: "select",
label: "custcollection_fsm.workorder_addsubprojects_type_label",
parent: "list",
required: true,
value: Project.prototype.defaults.type,
},
start: {
type: "date",
label: "custcollection_fsm.workorder_addsubprojects_start_label",
parent: "list",
required: true,
},
end: { type: "date", label: "custcollection_fsm.workorder_addsubprojects_end_label", parent: "list", required: true },
programstart: {
type: "date",
label: "custcollection_fsm.workorder_addsubprojects_programstart_label",
parent: "list",
},
programuntil: {
type: "integer",
label: "custcollection_fsm.workorder_addsubprojects_programcreateuntil_label",
parent: "list",
},
},
assetOption: {
id: "internalid",
label: "name",
},
schedule: {
title: "Project ${ project.id } New Subprojects",
deployment: "proj_${ project.id }_nsp",
callback: "views/project/subprojects/scheduled",
},
}
}
The form.tab.entity setting supplies the parent tab, and the effective Project model default supplies the initial Type value. schedule records the background callback. Changing it is not a supported setup procedure.
views/projecttask/servicereport
Adds the Project Task Service Report button in view mode when the record has a Field Service Task Type and its status is Completed. The core button selects servicereport from notification.projectTaskEmail, opens the report preview, and asks for confirmation before requesting an email.
For this view's hidden, name, label, notification, send, success, error, and delay properties, see Service Report Button Configuration. That section also covers preview-only behavior and report attachments. Hiding the button does not disable automatic Project Task notifications.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/projecttask/servicereport": {
"hidden": false,
"name": "custpage_nx_servicereport",
"label": "custcollection_fsm.report_projecttask_servicereport_button_label",
"notification": "servicereport",
"send": "custcollection_fsm.report_projecttask_servicereport_confirm_message",
"success": "custcollection_fsm.report_projecttask_servicereport_success_message",
"error": "custcollection_fsm.error_generic_error_message",
"delay": 1000
}
}
views/signature
Adds signature pads for matching visible Rich Text fields on editable CRM task, project task, and quote forms.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables the pad replacement and signature handling. |
|
|
Regular-expression string, matched case-insensitively against field IDs. |
|
Identifies fields to replace with a pad. |
The pad writes an image into the Rich Text field. Clear removes that field's value; copying a record clears copied signatures. A broader pattern can replace unintended Rich Text fields, so restrict it to actual signature fields.
The NetSuite pad has a fixed canvas size of 448 by 148 pixels. This view does not expose pen, color, or canvas-size settings. FSM Mobile signature element settings are separate. For details, see FSM Mobile Element (Block) Reference.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/signature": {
"hidden": false,
"pattern": "^cust[a-z_0-9]+_nx[a-z_0-9]+signature[a-z_0-9]*$"
}
}
views/task/autoname
Prepares the CRM Task title for automatic naming when the Task model has an automatic-name mapping. Selecting a Field Service Task Type on an editable form disables manual entry and supplies the temporary To Be Generated value. Clearing the type restores manual entry and the earlier name where available. Relevant noninteractive saves can also receive a temporary name.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Disables this name-field component. |
The Task model controls the generated name; the view does not provide a naming template. Hiding it does not disable model naming. See FSM Record Model Configuration.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/task/autoname": {
"hidden": false
}
}
views/task/servicereport
Adds the CRM Task Service Report button in view mode when the Task has a Field Service Task Type and its status is Completed. The core button selects servicereport from notification.taskEmail, opens the preview, and asks for confirmation before requesting an email.
For this view's hidden, name, label, notification, send, success, error, and delay properties, see Service Report Button Configuration. That section includes preview-only configuration and report/email selection. Hiding the button does not disable automatic Task notifications.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/task/servicereport": {
"hidden": false,
"name": "custpage_nx_servicereport",
"label": "custcollection_fsm.report_task_servicereport_button_label",
"notification": "servicereport",
"send": "custcollection_fsm.report_task_servicereport_confirm_message",
"success": "custcollection_fsm.report_task_servicereport_success_message",
"error": "custcollection_fsm.error_generic_error_message",
"delay": 1000
}
}
views/task/unassigned
Makes the Assigned field optional on CRM task browser forms after page initialization, allowing the form to accept an unassigned task. The core component waits 1,000 milliseconds before applying the change to accommodate NetSuite form initialization.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean. |
|
Turns off the adjustment that makes the Assigned field optional. |
This is a form behavior. It does not supply an assignee, select an available resource, or remove every other model, role, or platform validation that may apply when saving a Task.
Complete Core Object
The following object shows the complete declared standard defaults.
{
"views/task/unassigned": {
"hidden": false,
"delay": 1000
}
}
delay: 1000 is the component's core initialization timing in milliseconds. It is included for completeness; this topic does not establish a supported timing override.
Views Without Documented Customer Configuration
These components support internal FSM form and record processing. This reference provides no customer configuration settings for them. Preserve their handlers; disabling or replacing them can remove validation, synchronization, or processing. Configure related behavior through the relevant Feature and Configuration topics.
|
View ID |
Purpose |
|---|---|
|
|
Customer address synchronization. |
|
|
Asset geocoding. |
|
|
Asset uniqueness validation. |
|
|
Asset time-zone synchronization. |
|
|
Configuration form layout. |
|
|
Configuration editor and Preview. |
|
|
FSM Mobile password handling. |
|
|
Expense billing processing. |
|
|
Expense foreign-amount synchronization. |
|
|
Background-processing status display. |
For supported settings, see FSM Configuration for configuration editing and Preview, FSM Record Model Configuration for model mappings and naming, and Configuring FSM Billing Rules for billing and processing rules.