There are six different tools that are available for customization
in NetSuite. And we call that the SuiteCloud Platform Tools. So t
he tools are the SuiteBuilder, SuiteFlow, SuiteScript, SuiteTalk, S
uiteAnalytics, and also SuiteBundler.
1. SuiteBuilder is a static customization. If you want to create
a new form, or maybe if you want to add a feel to the form or
create a custom record, that will be created using SuiteBuild
er.
2. SuiteFlow is a business process automation tool. It is used
to create any customizations where maybe you have an exist
ing business process and you want that business process to
be in the system so that the system would be controlling that
business process.
3. SuiteScript isn’tjustforautomation,itisabout extending the c
apabilities of NetSuite. If you have any features that you wan
t that's not on the account already, that's something that yo
u can actually build.
4. SuiteTalk, on the other hand, this is an integration API. You w
ould use this outside of NetSuite if you have another applicat
ion that you want to integrate with NetSuite.
5. SuiteAnalytics is a
tool used to customize the data that would be displayed by t
he system. This would include reports, to generate reports,
to display some information in the dashboard.
6. SuiteBundler is for packaging up everything that has
been done. If a lot of customizations have been performed,
then SuiteBuilder will be useful to package everything up.
SuiteScript, using SuiteScript 2.0 now, is based on JavaScript.
Script types in SuiteScript-
1. Client Script type; validate user-entered data and auto-
populate fields;
a. E.g., pageInit(scriptContext) – defines the function
that executes when the page completes loading or
when the form is reset.
b. saveRecord(scriptContext) – defines the function that
executes when a record is saved (that is, after the
Submit button is pressed but before the form is
submitted).
c. validateDelete(scriptContext) – defines the function
that executes when an existing line in an edit sublist
is deleted.
d. validateField(scriptContext) – defines the function
that executes when a field is changed by a user or
client side call.
e. validateInsert(scriptContext) – defines the function
that executes when a sublist line is inserted into an
edit sublist.
– f. before a line is added to an inline editor sublist or
editor sublist.
2. Map/Reduce Script type- provides a structured framework
for processing a large number of records and are best
suited for situations where the data can be divided into
small, independent parts.
3. Portlet Script type- used to create custom dashboard
portlets.
Client Script Type -
The following triggers can run a client script:
Loading a form for editing
Entering or changing a value in a field (before and after it
is entered)
Entering or changing a value in a field that sources
another field
Selecting a line item on a sublist
Adding a line item (before and after it is entered)
Saving a form
*Client scripts only execute in edit mode. If you have a
deployed client script with a pageInit entry point, that script
does not execute when you view the form. It executes when
you click Edit.
Client Script Entry Points-
1. fieldChanged - Defines the function that is executed when
a field is changed by a user or client call.
2. lineInit - Defines the function that is executed when an
existing line is selected.
3. pageInit - Defines the function that is executed when the
page completes loading or when the form is reset.
4. postSourcing - Defines the function that is executed when
a field that sources information from another field is
modified. Executes on transaction forms only.
5. saveRecord - Defines the function that is executed when a
record is saved.
6. sublistChanged - Defines the function that is executed
after a sublist has been inserted, removed, or edited.
7. validateDelete - Defines the validation function that is
executed when an existing line in an edit sublist is
deleted.
8. validateField - Defines the validation function that is
executed when a field is changed by a user or client call.
9. validateInsert - Defines the validation function that is
executed when a sublist line is inserted into an edit
sublist.
10. validateLine - Defines the validation function that is
executed before a line is added to an inline editor sublist
or editor sublist.
User events script type –
User event scripts can be used to perform the following
tasks:
Implement custom validation on records
Enforce user-defined data integrity and business rules
Perform user-defined permission checking and record
restrictions
Implement real-time data synchronization
Define custom workflows (redirection and follow-up
actions)
Customize forms
Entry Points;
afterSubmit(context) -
beforeLoad(context)
beforeSubmit(context)
[Link]