Discussions
Accessing Customer Fields from Sales Order Suitelet
I am trying to create a script to generate PDF document from SO. I had no issues making it work as long as I use fields and sublists from sales order. But it seems I cannot get any values from linked customer record. I followed these steps:
1. Created suitelet that generates PDF file using nlapiXMLToPDF
2. Created client script to call on suitelet and pass internal id
3. created user event script to create a button on SO form
</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">function printLabels(request, response)</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">{</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">//retrieve the record id passed to the Suitelet</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">var recId = request.getParameter('id');</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">//load records</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">var recSO = nlapiLoadRecord('salesorder', recId);</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">var companyInfo = nlapiLoadConfiguration('companyinformation');</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">var recShipAddress = recSO.viewSubrecord('shippingaddress');</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">var recBillAddress = recSO.viewSubrecord('billingaddress');</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'"><strong>var customerId = nlapiGetFieldValue('entity');</strong></span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'">// load the customer record using the internal id acquired above</span></span></span> <span style="font-family:'Verdana'"><span style="font-size:'1'"><span style="color:'#000000'"><strong>var customerRec = nlapiLoadRecord('customer', customerId, {recordmode : 'dynamic'}); ------</strong></span></span></span> <span style="color:'#000000'"><span style="font-family:'Verdana'"><span style="font-size:'12px'">