Working with NetSuite for many years, on any kind of customization and integration, allowed me to get the knowledge about umpteen tips and tricks on how to workaround defects / limits of the platform, especially when it comes to scripting or other customization-related processes.
Most of them are the result of reverse-engineering of the NetSuite pages and objects, absolutely essential when the documentation and the support could not give an answer, causing a project or SuiteApp release being delayed.
I would like to start sharing some of this knowledge through ketka's blog, which hopefully might be useful for the community of NetSuite architects and developers.
NetSuite obviously discourages to use unofficial code, which is indeed a dangerous practice within any technology. Consider this blog as a source of additional information that you might not find through an official channel, but don't use any of the tricks I will post here without first understanding if it might have negative impacts on the process you are implementing.
For our own developments I have 2 main rules when it comes to use of non-official code or API:
- It must be wrapped in our development framework within safe functions, and in case it stops working it must be handled gracefully, while an alternate solution or process - probably more manual and less fancy - must be already in place for such a case. I remember once my plan B for a client script using some unofficial API was an alert to the user saying something like "you have to do this thing manually before saving, because my script failed!". It was a bit shameful but effective, and probably no one ever saw that alert.
- If an alternate process is not possible or not good enough, the code cannot be used within business processes, just for simple side things that won't stop any operativity if the code stops working
That said, if you decide to use any of my tips and tricks because it allows you to finalize some customization where you are stuck or unhappy of the current result, but you are unsure about how dangerous or critical it can be using my approach in your case, feel free to contact me and discuss it.