FSM Item Fulfillment Asset View Configuration
This topic is intended for administrators and developers who configure asset creation and updates on item fulfillment forms.
The views/itemfulfillment/assets configuration controls Create/Update Assets on editable NetSuite item fulfillment forms. The configured transaction tab must exist, and fulfilled items must be marked as Asset Items. The component applies when the order type is absent or is Sales Order.
For setup, see Configuring FSM Asset Processing from Item Fulfillments. For shared view requirements, see FSM NetSuite View Configuration.
This topic includes:
Properties and Defaults
The following table lists properties, accepted values, defaults, and effects.
|
Property |
Accepted Value |
Standard Default |
Effect |
|---|---|---|---|
|
|
Boolean value |
|
When |
|
|
Form-element definitions using the keys 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. |
Error templates use the validation result: required supplies missing field labels, and duplicate supplies the conflicting row number. Preserve both template tags when changing messages.
Item Fulfillment Asset Elements
The following table lists the standard elements and settings within views/itemfulfillment/assets.element.
|
Element Key |
Standard Type and Parent |
Standard Label |
Other Standard Settings |
|---|---|---|---|
|
|
|
Create/Update Assets |
|
|
|
|
Item |
|
|
|
|
Serial Number |
|
|
|
|
Asset |
|
|
|
|
Customer |
|
|
|
|
Parent |
|
|
|
|
Address Book |
|
|
|
|
Address |
|
Labels are translated. Element keys and parent relationships generate child names and mappings. The sourcefrom binding supplies a staged value from an Item Fulfillment body field. Keep field values and element types compatible when changing bindings.
Dependencies and Limits
Preserve item, serial, and existing-asset identity fields, required validation, and list structure. The component builds one staging row per fulfilled unit, uses serialized inventory detail where applicable, and looks up matching assets to determine creation or updates.
Changes to fulfillment selection, quantity, sourced body fields, or inventory detail refresh the list and can replace manual staging changes.
Address text excludes Attention and Addressee. Custom or overridden shipping addresses use address text instead of retaining an address-book ID.
Required values and duplicate rows are checked before saving. After a created or edited fulfillment is saved, background processing creates or updates assets and links each to the fulfillment.
Changing the Sublist Title
Merge the following JSON fragment into existing custom configuration to change only the sublist title.
{
"views/itemfulfillment/assets": {
"element": {
"list": {
"label": "Delivered Equipment"
}
}
}
}
For editing and activation, see Updating and Validating FSM Configuration.
Default JSON
This JavaScript reference shows complete standard defaults, including the dynamic parent-tab expression. Don't paste it as custom JSON.
{
"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. The requiredbypass, country, and schedule properties complete the standard definition and aren't additional supported settings.