FSM Asset Model Reference

Note:

This reference is intended for administrators and developers who work with Asset model mappings, defaults, and behavior.

The Asset model represents customrecord_nx_asset. Its mappings support naming, parent relationships, customer eligibility, and service location.

Standard default structure (JSON fragment):

          {
  "models/asset": {
    "prototype": {
      "record": "customrecord_nx_asset",
      "map": {
        "name": "name",
        "autoname": "formulatext:substr(trim(regexp_replace({custrecord_nx_asset_item}, '^'||{custrecord_nx_asset_item.parent}||' : ')||' '||nvl({custrecord_nx_asset_serial}, nvl(regexp_replace({custrecord_nx_asset_address_text},CHR(13)||CHR(10),' '), {custrecord_nx_asset_address}))), 1, 80)",
        "parent": "parent",
        "type": "custrecord_nx_asset_type",
        "item": "custrecord_nx_asset_item",
        "serial": "custrecord_nx_asset_serial",
        "customer": "custrecord_nx_asset_customer",
        "customers": "formulatext:{custrecord_nx_asset_customer.internalid}",
        "transaction": "custrecord_nx_asset_transaction",
        "addressbook": "custrecord_nx_asset_address",
        "addresstext": "custrecord_nx_asset_address_text",
        "latitude": "custrecord_nx_asset_latitude",
        "longitude": "custrecord_nx_asset_longitude",
        "timezone": "custrecord_nx_asset_time_zone",
        "timezoneid": "custrecord_nx_asset_time_zone.custrecord_nx_time_zone_olson|",
        "region": "custrecord_nx_asset_region",
        "locationchanged": "custrecord_nx_asset_location_update",
        "id": "internalid"
      },
      "defaults": {},
      "customers": {
        "array": true,
        "customer": {
          "all": true,
          "record": "customer",
          "filters": [
            "internalid",
            "anyof",
            "${ asset.customer || 0 }"
          ]
        }
      }
    },
    "uniqueFormula": "formulatext:regexp_replace({custrecord_nx_asset_item.id} || ' ' || nvl({custrecord_nx_asset_serial.id}, {custrecord_nx_asset_address_text}), '['||chr(13)||chr(10)||chr(39)||']+', ' ')",
    "uniqueTemplate": "${ ((item || '') + ' ' + (serial ? serial : addresstext || '')).replace(/['\\r\\n]+/g, ' ') }"
  }
} 

        

The following table describes the asset model's naming, customer selection, duplicate comparison, and default settings.

Property

Purpose

Standard Value or Behavior

Configuration Effect and Dependency

prototype.map.autoname

Defines the generated Asset name.

Formula that combines the Item name with serial number, address text, or address selection. Trims the result to 80 characters.

Use a formula for the required automatic name, or "" to disable automatic naming. A populated result replaces a different Asset name after creation or change.

prototype.map.customers

Controls which Customers can be selected for service work against this asset.

"formulatext:{custrecord_nx_asset_customer.internalid}"

A field or formula can return allowed customer IDs. Literal true leaves the native Customer choices available. Literal false permits no Customer candidates. For result types and the search fallback, see FSM Asset Model Customer Selection.

prototype.customers

Provides a fallback search for allowed Customers when the mapped result calls for a lookup.

Search collection with array: true. The customer search finds the Asset's owner, using ${ asset.customer || 0 }.

Change the search to find the customers permitted for the selected asset. It runs only for a blank or missing mapped result and must return Customer IDs. For information about the customer search fallback, see FSM Asset Model Customer Selection.

uniqueFormula

Defines the duplicate key calculated for Assets already stored in NetSuite.

Search formula combining Item ID with serial number or address text and removing apostrophes and line breaks.

Keep it consistent with uniqueTemplate, so stored and proposed Assets use the same comparison.

uniqueTemplate

Defines the duplicate key calculated from proposed Asset values.

Template combining item with serial, or addresstext when serial is blank, using equivalent character removal.

Keep it consistent with uniqueFormula. Changes affect duplicate detection during Asset entry and related processing.

prototype.defaults

Supplies default values for Asset model attributes.

{}

No explicit Asset defaults. Added defaults also apply on initialization: Boolean values can overwrite existing values. Other values fill an empty attribute.

The empty autoname mapping shown in Effects of Mapping Changes stops the model from supplying an automatic name. Required Name fields still need a value when automatic naming is disabled. For the complete naming setup procedure, see Turning Off Automatic Naming for a Record Type.

Useful standard mappings are name: "name", parent: "parent", type: "custrecord_nx_asset_type", item: "custrecord_nx_asset_item", serial: "custrecord_nx_asset_serial", customer: "custrecord_nx_asset_customer", and transaction: "custrecord_nx_asset_transaction". Location mappings use custrecord_nx_asset_address, custrecord_nx_asset_address_text, custrecord_nx_asset_latitude, custrecord_nx_asset_longitude, custrecord_nx_asset_time_zone, and custrecord_nx_asset_region.

The parent mapping identifies the parent asset. It doesn't define the naming formula. Asset inheritance and parent-only fields are controlled separately. For inheritance and parent-only field controls, see Configuring FSM Asset Hierarchy and Inheritance. For the resulting behavior, see FSM Asset Hierarchy and Inheritance. The location-change indicator supports later updates to related tasks. Changing a display map doesn't replace that processing.

For coordinated eligibility changes, see FSM Customer and Asset Eligibility Configuration. Duplicate comparison changes must continue to distinguish the intended Asset identities and reject duplicates under the account's business rules.

Additional Information

Related Topics

General Notices