/**
* @NApiVersion 2.1
* @NScriptType Suitelet
*/
define(['N/file', 'N/render', 'N/record', 'N/search'],
(file, render, record, search) => {
/**
* Defines the Suitelet script trigger point.
* @param {Object} scriptContext
* @param {ServerRequest} scriptContext.request - Incoming request
* @param {ServerResponse} scriptContext.response - Suitelet response
* @since 2015.2
*/
const onRequest = (scriptContext) => {
try{
let TO_id= scriptContext.request.parameters.TO_id;
let CustRec= record.load({
type: record.Type.INBOUND_SHIPMENT,
id: TO_id
});
var so_ids=JSON.parse(TO_id);
var inboundshipmentSearchObj = search.create({
type: "inboundshipment",
filters:
[
["internalid","anyof",so_ids]
],
columns:
[
search.createColumn({name: "internalid", label: "Internal Id"}),
search.createColumn({name: "item", label: "Items - Item"}),
search.createColumn({name: "description", label: "Items - Description"}),
search.createColumn({name: "quantityexpected", label: "Items - Quantity Expected"}),
search.createColumn({
name: "cseg_aha_brand",
join: "item",
label: "Brand"
}),
search.createColumn({
name: "upccode",
join: "item",
label: "UPC Code"
}),
search.createColumn({
name: "custitem_jj_current_date",
join: "item",
label: "Current Date"
}),
search.createColumn({name: "quantityreceived", label: "Items - Quantity Received"})
]
});
var searchResultCount = inboundshipmentSearchObj.runPaged().count;
log.debug('search count',searchResultCount);
var content = '';
content+='<pdf>'
inboundshipmentSearchObj.run().each(function (result){
var itemName = result.getText(inboundshipmentSearchObj.columns[1]);
var description = result.getValue(inboundshipmentSearchObj.columns[2]);
var quantityExpected = result.getValue(inboundshipmentSearchObj.columns[3]);
var brand = result.getText(inboundshipmentSearchObj.columns[4]);
var upcCode = result.getValue(inboundshipmentSearchObj.columns[5]);
var currentdate = result.getValue(inboundshipmentSearchObj.columns[6]);
var quantityReceived = result.getValue(inboundshipmentSearchObj.columns[7]);
if(quantityExpected !='')
content = content + '<head><link name="sans" type="font" subtype="opentype" src="https://4594915.app.netsuite.com/core/media/media.nl?id=293276&c=4594915&h=f0e47ffccd148916a9f8&_xt=.ttf" bytes="2" /><style type="text/css">table {table-layout: fixed;page-break-inside: avoid;}</style></head><body padding="0 0 0 0" style="left: 0px;top:0px;width:5in;height:3in;"><table align="center" valign="middle"><tr><td align="left" style="font-size:15px;font-family:sans-serif;font-weight: bolder">' + itemName + '</td></tr><tr><td align="left" style="font-size:13px;font-family:sans-serif;font-weight: bolder">' + brand + '</td></tr><tr><td align="right" style="font-size:5px;font-family:sans-serif;"><barcode style="vertical-align: top;" width="2in" height="50px" codetype="code128" showtext="false" value="' + upcCode + '"></barcode></td></tr><tr><td align="center" style="font-size:12px;font-family:sans-serif;">' + upcCode + '</td></tr><tr><td align="left" style="font-size:10px;font-family:sans-serif;">' +description + '</td></tr><tr><td align="left" style="font-size:9px;font-family:sans-serif;">' +currentdate + '</td></tr></table></body>'
}
return true;
});
content+='</pdf>'
var myXMLFile=render.create();
myXMLFile.templateContent=content;
var pdfFile = myXMLFile.renderAsPdf();
scriptContext.response.writeFile(pdfFile, true);
}
catch (error) {
log.error('onRequest', error);
}
}
return {onRequest}
});