The content in this help topic pertains to all versions of SuiteScript. Be aware that currently it may only include links or examples for SuiteScript 1.0.
As a script author, NetSuite gives you the ability to specify the preference type for each script parameter (see figure). Available preference types are:
Company: If the parameter preference is set to Company, the script parameter's value is read from the value specified in Setup > Company > General Preferences in the Custom Preferences tab. See the Example later in this section.
User: If the preference is set to User, the parameter's value is read from the value set in Home > Set Preference in the Custom Preferences tab.
Here, end users can override the default (company) script behavior and insert their own default value. End users do not have to manipulate a script or its deployments to change or customize the parameter.
<blank>: If you do not set a preference, the script parameter is considered a “deployment” script parameter by default. In this case, you will define the value of the script parameter on the Parameters tab of the Script Deployment record .
At the time these three script parameters were created, no preferences were set. In this case, parameter values are defined on the Parameters tab of the Script Deployment record.
Note that users who install a bundled script that uses preferences can override the default behavior of the script and customize the script to their specific business needs. Setting preferences eliminates having to manipulate the script code or the script deployment. (For information about bundling scripts, see the SuiteBundler Overview topic in the NetSuite Help Center.)
In this example, the parameter called Check Box Required (with the internal ID custscript_checkboxtest2 ) is set to the Company preference.
By going to Setup > Company > General Preferences in the Custom Preferences tab (see below), administrators can set the default value of this parameter for the entire company. In this example the value of the Check Box Required script parameter is set to T (the box is checked).
When the Suitelet that contains this box is deployed, the Check Box Required script parameter will appear checked.
If the Check Box Required parameter had been set to F (the box contained no check mark), the box would have appeared empty on the form when the Suitelet was deployed.
Script Parameter Preferences and Bundles
Bundled script parameters that have a user or company preference set are not updated in target accounts when the bundle is updated. However, script parameters that do not have a preference specified are considered part of the script deployment, and whether they are updated in target accounts when the bundle is updated depends on the setting of the related bundle object preference:
If the preference for the bundled script is set to Update Deployments, script deployment parameters are updated in target accounts to match those in the source account.
If the preference for the bundled script is set to Do Not Update Deployments, script deployment parameters are not updated in target accounts.
If bundle authors expect target account users to want to change parameter values for a bundled script, on the script record they should set the Preference for these parameters to be either Company or User. Target account users can then change parameter values as needed, and these values are not affected on bundle update, even if the related bundle object preference is set to Update Deployments.
To prevent changes to target account script deployment parameters that do not have a preference set, set the related bundle object preference to Do Not Update Deployments.
For more information about bundle object preferences, see Bundle Object Preferences.