Introduction
- A Word about Sunbelt Driver Training
Custom Fields
- Custom Field Best Practices
- Custom Field Types
- Formula and Conditional Fields
- Field Tools for Power Users
- Use Case 1: A Field Sourced From Another Record
- Use Case 2: Using a Formula to Conditionally Source a Field From Another Record
- Use Case 3: Sourcing a Field with More Complex If-Else Logic
- Conclusions & Caveats
Searching in NetSuite
- Transactions and the Main Line
- Other Records and Line Items
- Summary Columns
- Summary Filters
- Search Joins
- Filter Expressions
- Using Formulas
- From Saved Search to SuiteScript
- Searching In SuiteScript
- Common SuiteScript Search Pitfalls
- Conclusion
Setting up your Development Environment
- SuiteCloud IDE for Eclipse
- SuiteCloud IDE for WebStorm
- NetSuite Tools for WebStorm
SuiteScript Basics
- Script Types
- Script Records
- Script Deployments
- Script Parameters
- SuiteScript Governance
- SuiteScript API Versions 1.0 vs 2.0
- The Record Browser
- Finding Fields and Elements Using XML
- Logging
- Scripted Records
- SuiteScript in the Browser Console
- Using the Script Debugger
Advanced PDF/HTML Templates
- Use Case 1 - Display a Custom Column on a PDF
- Use Case 2 - Sort Items by Custom Column
- Use Case 3 - Group and Subtotal by custom column
- Use Case 4 - Pre-processing displayed elements in SuiteScript
- Conclusion
Workflows and Script Entry Points
- Introduction to Workflows
- Triggers and Entry Points
- WorkFlow States
- Workflow Actions
- Workflow Transitions
- Conditions to Enter the Start State
- Action Groups and Sublist Action Groups
- Use Case 1 - Display Message
- Use Case 2 - Returning a User Error
- Use Case 3 - Implementing an Approval Process
- Use Case 4 - Subscribe to a Record
- Use Case 5 - Creating a Custom Action
- Conclusion
Client Scripts
- What Client Scripts Can Do
- What Client Scripts Cannot Do
- Client Script Entry Points
- Using the Console to Debug Client Scripts
- Use Case 1 - Adding a default value to a sublist field
- Use Case 2 - Adding a Button to a Form in Edit Mode
- Use Case 3 - Validating a line (And creating a custom module!)
- Use Case 4 - Searching in a Client Script
- Use Case 5 - Display a Message Before Save (Introduction to Promises)
User Event Scripts
- What User Event Scripts Can Do
- What User Event Scripts Cannot Do
- User Event Entry Points
- Debugging User Events with the SuiteScript Debugger
- Use Case 1 - Add a Button to a Form in View Mode
- Use Case 2 - Adding a Button with Client Logic in View Mode
- Use Case 3 - Sending Emails to Designated Billing Contacts
- Conclusion
Map/Reduce and Scheduled Scripts
- Processors
- Scheduled Script Operation
- Map/Reduce Operation
- Understanding the getInputData Phase
- Understanding the Map Phase
- Understanding the Reduce Phase
- Understanding the Summarize Phase
- Using the Script Debugger with Scheduled Scripts
- Using the Script Debugger with Map/Reduce
- Use Case 1 - Building a Map/Reduce Framework for Debugging
- Use Case 2 - Creating Records with a Scheduled Script
- Use Case 3 - Creating Records with a Map/Reduce Script
- Conclusion
RESTlets
- Testing RESTlets
- Authentication Methods
- RESTlet Concurrency
- Use Case 1: Retrieving Data with a GET Request
- Use Case 2: Creating Records with a PUT request in XML
- Use Case 3: Managing Customer Addresses with GET and POST
- Conclusion
Suitelets
- About Suitelets
- Using Suitelets to Chain User Events
- Back-End vs. UI Suitelets
- Custom Page (UI) Suitelet Architecture
- Using Suitelets for Button Actions
- Use Case 1 - Calling a Back-End Suitelet from a Button
- Use Case 2 - Calling a UI Suitelet from a Button
- Conclusion