Setting Script Parameter Preferences
When you use script parameters, you can specify a preference type. Available preference types are Company and User or you can choose not to set a preference.
-
Company: If the preference is set to Company, the parameter's value is read from the value set 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. This allows end users to override the default (company) script behavior and enter their own default value. End users do not have to manipulate a script or its deployments to change script parameter values.

If you don't set a preference, the script parameter is considered a "deployment" script parameter by default. In this case, you define the value of the script parameter 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 SuiteBundler Overview.
Example
In this example, the Suitelet script includes a 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 (true; 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 (false; the box is not checked), the box would have appeared empty on the form when the Suitelet was deployed.
See Creating Script Parameters for steps on creating a script parameter. Also see Referencing Script Parameters for information about accessing script parameter values.
Script Parameter Preferences and Bundles
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 set 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 it is expected that target account users will want to change parameter values for a bundled script, the preference for these parameters (on the script record) should be set to Company or User. Target account users can then change parameter values as needed. These values won't be 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, see Bundle Object Preferences.