Discussions
Stay up-to-date with the latest news from NetSuite. You’ll be in the know about how to connect with peers and take your business to new heights at our virtual, in-person, on demand events, and much more.
Now is the time to ask your NetSuite-savvy friends and colleagues to join the NetSuite Support Community! Refer now! Click here to watch and learn more!
Stay in the Know
Be sure you're subscribed to NetSuite communication to stay in the know about monthly happenings, updates and announcements. Subscribe
Be sure you're subscribed to NetSuite communication to stay in the know about monthly happenings, updates and announcements. Subscribe
Please note that on Friday, March 20, 2026, at 8:00 PM Pacific time, our Case Management System will undergo a scheduled maintenance for approximately 4 hours. During this time, case creation via SuiteAnswers will be unavailable and inbound calls will be routed to Customer Service.
Simple (Hopefully) Suitelet question
Hello,
I am trying to create a suitelet that will split an SO.
I would like it to run through the following steps:
- Enter SO
- Display item lines from that SO with tick box to indicate lines to split out
- Goes away and copies SO removing ticked lines from original and retaining only those lines on the copy
The last bit i have done and am happy that it works, its the displaying that i am having trouble with.
I have done this:
function SplitSOSuitelet(request, response) { if ( request.getMethod() == 'GET' ) { var form = nlapiCreateForm('SO Split'); var filters = new Array(); var columns = new Array(); var soToSplit = form.addField('custpage_sotosplit','select','Select Sales Order','transaction'); var soItems = form.addSubList('custpage_soitems','list','Lines to split'); soItems.addField('sublist_item','text','Item'); soItems.addField('sublist_qty','float','Quantity'); soItems.addField('sublist_desc','text','Description'); soItems.addField('sublist_split','checkbox','Split'); filters[0] = new nlobjSearchFilter('type', null, 'is', 'salesOrder'); filters[1] = new nlobjSearchFilter('tranid', null, 'is', 'SO42140'); filters[2] = new nlobjSearchFilter('mainline', null, 'is', 'false'); columns[0] = new nlobjSearchColumn('item'); columns[1] = new nlobjSearchColumn('quantity'); columns[2] = new nlobjSearchColumn('description', 'item'); nlapiLogExecution('DEBUG', 'Filters', filters[0]+filters[1]+filters[2] ); nlapiLogExecution('DEBUG', 'Columns', columns[0]+columns[1]+columns[2] ); var itemsdata = nlapiSearchRecord('transaction', 4936, null, null ); nlapiLogExecution('DEBUG', 'Data', itemsdata ); soItems.setLineItemValues( itemsdata ); form.addSubmitButton('Split'); 0