/** *@NApiVersion 2.x *@NScriptType restlet */ define(['N/record', 'N/search', 'N/error'], function (record, search, error) { function findById(type, id) { return record.load({ type: type, id: id, isDynamic: true }); } function post(context) { context.errors = []; for (var i = 0; i < context.records.length; i++) { var r = context.records[i]; var rec = null; try { if (!!r.id) { rec = findById(context.recordType, r.id); } else { rec = record.create({ type: context.recordType }); } var hasSubrec = rec.hasSublistSubrecord({ sublistId: 'addressbook', fieldId: 'addressbookaddress', line: r['addressline'] } ); if(hasSubrec) { rec.selectLine({ sublistId: 'addressbook', line: r['addressline'] }); }else { rec.selectNewLine({ sublistId: 'addressbook' }); } var subrec = rec.getCurrentSublistSubrecord({ sublistId: 'addressbook', fieldId: 'addressbookaddress' }); subrec.setValue({ fieldId: 'country', value: r['country'] }); subrec.setValue({ fieldId: 'attention', value: r['attention'] }); subrec.setValue({ fieldId: 'addressee', value: r['addressee'] }); subrec.setValue({ fieldId: 'addrphone', value: r['addrphone'] }); subrec.setValue({ fieldId: 'addr1', value: r['addr1'] }); subrec.setValue({ fieldId: 'addr2', value: r['addr2'] }); subrec.setValue({ fieldId: 'city', value: r['city'] }); subrec.setValue({ fieldId: 'dropdownstate', value: r['dropdownstate'] }); subrec.setValue({ fieldId: 'zip', value: r['zip'] }); rec.commitLine({ sublistId: 'addressbook' }); rec.save(); } catch (e) { context.errors.push(e); if (!context.continueOnError) { break; } } } context.records = null; return context; } return { post: post } });