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!
Search Filter Expressions - Criteria Negation In User-Event Scripts
Negation in search filter expressions (on internal id field match) do not seem to work when run in user event scripts but work when run via a client script.
Client Script Result:
search_results_1[9127477] (should be same id) 9127477 search_results_2[9127477] (should be null) null
User Event Script Result:
search_results_1[9127477] (should be same id) 9127477 search_results_2[9127477] (should be null) 9127477
function testSearchFilterNegation(sales_order_id) { var sales_order = nlapiLoadRecord('salesorder', sales_order_id); var search_filters_1 = [ ['mainline', 'is', 'T'], 'and', ['entity', 'is', sales_order.getFieldValue('entity')], 'and', ['internalid', 'is', sales_order.getId()] ]; var search_results_1 = nlapiSearchRecord('salesorder', null, search_filters_1, [ new nlobjSearchColumn('internalid') ]); if(typeof window.console === 'undefined') nlapiLogExecution('DEBUG', 'search_results_1[' + sales_order.getId() + '] (should be same id)', (search_results_1 ? search_results_1[0].getValue('internalid') : null)); else console.log('search_results_1[' + sales_order.getId() + '] (should be same id)', (search_results_1 ? search_results_1[0].getValue('internalid') : null)); var search_filters_2 = [ ['mainline', 'is', 'T'], 'and', ['entity', 'is', sales_order.getFieldValue('entity')], 'and', 'not', ['internalid', 'is', sales_order.getId()] ]; var search_results_2 = nlapiSearchRecord('salesorder', null, search_filters_2, [ new nlobjSearchColumn('internalid') ]); if(typeof window.console === 'undefined') 0