Nilesh Patil
09/07/2022, 3:56 PMec
09/07/2022, 3:57 PMNilesh Patil
09/07/2022, 3:58 PMec
09/07/2022, 3:59 PMec
09/07/2022, 3:59 PMNilesh Patil
09/07/2022, 3:59 PMfor(var j=0;j<prodUnit_ar.length;j++){
var transactionSearchObj = search.create({
type: "transaction",
filters:
[
["internalid","anyof",so_id],
"AND",
["taxline","is","F"],
"AND",
["mainline","is","F"],
"AND",
["item.class","anyof",prodUnit_ar[j]]
],
columns:
[
search.createColumn({name: "item", label: "Item"}),
search.createColumn({name: "quantity", label: "Quantity"}),
search.createColumn({
name: "class",
join: "item",
sort: search.Sort.ASC,
label: "Production Unit"
})
]
});
var searchResultCount = transactionSearchObj.runPaged().count;
log.debug("transactionSearchObj result count",searchResultCount);
transactionSearchObj.run().each(function(result){
var it_name = result.getText({name:'item'});
//it_name.replace('/&',"&");
item_ar.push(it_name);
qty_ar.push(result.getValue({name:'quantity'}));
item_prodUnit_ar.push(result.getValue({ name: "class",
join: "item",
sort: search.Sort.ASC}));
return true;
});
xml+='<tr>'
xml+='<td style="padding: 0;margin-left:50px;width:100px;"><span style="font-size: 8pt;"></span><br/></td>';
xml+='</tr>';
xml+='</table>';
xml+=''
xml+=' <table style="border: 0.3px solid ; margin-top: 10px;font-size: 10pt; width: 100%;">'
xml+=' <thead>'
xml+=' <tr>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;border-right:0;border-bottom:1;background-color: #E2EAF0;">Wash</td>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;background-color: #E2EAF0;border-right:0;border-bottom:1">Clean</td>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;background-color: #E2EAF0;border-right:0;border-bottom:1">Item</td>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;background-color: #E2EAF0;border-right:0;border-bottom:1"> Bundle</td>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;background-color: #E2EAF0;;border-bottom:1"> Remarks</td>'
xml+=' </tr>'
xml+=' </thead>'
for(var i=0;i<searchResultCount;i++){
xml+=' <tr style ="border: 0.3px solid ;">'
xml+=' <td align="left" style ="border: 0.3px solid ;">'+qty_ar[i]+'</td>'
xml+=' <td align="left" style ="border: 0.3px solid ;"></td>'
xml+=' <td align="left" style ="border: 0.3px solid ;">'+xmll.escape({xmlText :item_ar[i]})+'</td>'
xml+=' <td align="left" style ="border: 0.3px solid ;"></td>'
xml+=' <td align="left" style ="border: 0.3px solid ;"></td>'
//xml+=' <td align="left" style ="border: 0.3px solid ;"> '+open_bal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")+'</td>'
xml+=' </tr>'
}
item_ar = [];
qty_ar = [];
item_prodUnit_ar = [];
}
Nilesh Patil
09/07/2022, 3:59 PMec
09/07/2022, 4:00 PMNilesh Patil
09/07/2022, 4:01 PMec
09/07/2022, 4:01 PMxml+=' <pbr> ';
just like you did with the other tagsec
09/07/2022, 4:02 PM<pbr/>
(i missed the slash)ec
09/07/2022, 4:02 PMNilesh Patil
09/07/2022, 4:06 PMNilesh Patil
09/07/2022, 4:06 PMdefine(['N/xml','N/record','N/search','N/format','N/runtime'], function(xmll,record,search,format,runtime) {
function onRequest(context) {
var so_id= context.request.parameters.recid;
var so_obj = record.load({
type:record.Type.SALES_ORDER,
id:so_id
});
var so_num = so_obj.getText({fieldId:'tranid'});
var so_date = so_obj.getText({fieldId:'trandate'});
var cust_name = so_obj.getText({fieldId:'entity'});
var item_ar = [];
var qty_ar = [];
var item_prodUnit_ar = [];
var transactionSearchObj = search.create({
type: "transaction",
filters:
[
["internalid","anyof",so_id],
"AND",
["taxline","is","F"],
"AND",
["mainline","is","F"]
],
columns:
[
search.createColumn({name: "item", label: "Item"}),
search.createColumn({name: "quantity", label: "Quantity"}),
search.createColumn({
name: "class",
join: "item",
sort: search.Sort.ASC,
label: "Production Unit"
})
]
});
var searchResultCount = transactionSearchObj.runPaged().count;
log.debug("transactionSearchObj result count",searchResultCount);
transactionSearchObj.run().each(function(result){
item_ar.push(result.getText({name:'item'}));
qty_ar.push(result.getValue({name:'quantity'}));
item_prodUnit_ar.push(result.getValue({ name: "class",
join: "item",
sort: search.Sort.ASC}));
return true;
});
//No of Production Units:
var noProdUnit = 0;
var prodUnit_ar = [];
var transactionSearchObj = search.create({
type: "transaction",
filters:
[
["internalid","anyof",so_id],
"AND",
["taxline","is","F"],
"AND",
["mainline","is","F"]
],
columns:
[
search.createColumn({
name: "class",
join: "item",
summary: "GROUP",
sort: search.Sort.ASC,
label: "Production Unit"
}),
search.createColumn({
name: "class",
join: "item",
summary: "COUNT",
sort: search.Sort.ASC,
label: "Production Unit"
})
]
});
var searchResultCount_prodUnit = transactionSearchObj.runPaged().count;
log.debug("searchResultCount_prodUnit result count",searchResultCount_prodUnit);
transactionSearchObj.run().each(function(result){
prodUnit_ar.push(result.getValue({name: "class",
join: "item",
summary: "GROUP"}));
return true;
});
log.debug('Prod Unit array',prodUnit_ar);
////No of Production Units
var xml = '<?xml version=\"1.0\"?>\n<!DOCTYPE pdf PUBLIC \"-//big.faceless.org//report\" \"report-1.1.dtd\">\n';
xml+= '<pdf>';
xml += "<head><macrolist><macro id=\"myfooter\"><p align=\"right\">Page of <pagenumber /></p></macro></macrolist></head>";
xml+= '<body style="font-family: sans-serif" header="nlheader" header-height="14%" footer="myfooter" footer-height="15pt" padding="0.5in 0.5in 0.5in 0.5in" size="Letter">';
xml+='<table style="border=0px; width:100%;"><tr>'
xml+='<td><img src="<http://5550177-sb1.shop.netsuite.com/core/media/media.nl?id=13142&c=5550177_SB1&h=fVZtwAQ395jDmPqhlrq06E8O_wPf-tEavGATxAtitmAM5E9a>" style="width: 180px; height: 100px;" /><br /></td>';
xml+='<td style="padding: 0;margin-right:100px;align=right;width: 200px; height: 65px;"><span></span><br/></td>';
xml+='<td style="padding: 10px;margin-left:50px;width: 240px; height: 50px;font-size: 18pt;">Show Production Unit<br/></td>';
xml+='</tr>';
xml+='<tr>'
xml+='<td style="padding: 0;margin-left:50px;width:100px;"><span style="font-size: 8pt;"></span><br/></td>';
xml+='</tr>';
xml+='<tr>'
xml+='<td style="padding: 0 10px;align=center;margin:auto;width: 200px; height: 65px;"><span style="font-size: 8pt;"><b>DCS Address:</b> '+xmll.escape({xmlText :so_num})+'</span></td>';
xml+='<td style="padding: 0 10px;margin:auto;align=center;width: 200px; height: 65px;"><span style="font-size: 8pt;"><b>Client:</b> '+xmll.escape({xmlText :cust_name})+'</span></td>';
xml+='<td style="padding: 0 10px;text-align=right;margin-left:50px;width: 240px; height: 50px;"><span style="font-size: 10pt;"><b>SO#:</b> '+xmll.escape({xmlText :so_num})+'</span><br/><span style="font-size: 10pt;"><b>SO Date:</b> '+so_date+'</span></td>';
xml+='</tr>';
// Items, Qty and Production Unit:
for(var j=0;j<prodUnit_ar.length;j++){
var transactionSearchObj = search.create({
type: "transaction",
filters:
[
["internalid","anyof",so_id],
"AND",
["taxline","is","F"],
"AND",
["mainline","is","F"],
"AND",
["item.class","anyof",prodUnit_ar[j]]
],
columns:
[
search.createColumn({name: "item", label: "Item"}),
search.createColumn({name: "quantity", label: "Quantity"}),
search.createColumn({
name: "class",
join: "item",
sort: search.Sort.ASC,
label: "Production Unit"
})
]
});
var searchResultCount = transactionSearchObj.runPaged().count;
log.debug("transactionSearchObj result count",searchResultCount);
transactionSearchObj.run().each(function(result){
var it_name = result.getText({name:'item'});
//it_name.replace('/&',"&");
item_ar.push(it_name);
qty_ar.push(result.getValue({name:'quantity'}));
item_prodUnit_ar.push(result.getValue({ name: "class",
join: "item",
sort: search.Sort.ASC}));
return true;
});
xml+='<tr>'
xml+='<td style="padding: 0;margin-left:50px;width:100px;"><span style="font-size: 8pt;"></span><br/></td>';
xml+='</tr>';
xml+='</table>';
xml+=''
xml+=' <table style="border: 0.3px solid ; margin-top: 10px;font-size: 10pt; width: 100%;">'
xml+=' <thead>'
xml+=' <tr>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;border-right:0;border-bottom:1;background-color: #E2EAF0;">Wash</td>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;background-color: #E2EAF0;border-right:0;border-bottom:1">Clean</td>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;background-color: #E2EAF0;border-right:0;border-bottom:1">Item</td>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;background-color: #E2EAF0;border-right:0;border-bottom:1"> Bundle</td>'
xml+=' <td style="border: 0.3px solid;font-weight:bold;background-color: #E2EAF0;;border-bottom:1"> Remarks</td>'
xml+=' </tr>'
xml+=' </thead>'
for(var i=0;i<searchResultCount;i++){
xml+=' <tr style ="border: 0.3px solid ;">'
xml+=' <td align="left" style ="border: 0.3px solid ;">'+qty_ar[i]+'</td>'
xml+=' <td align="left" style ="border: 0.3px solid ;"></td>'
xml+=' <td align="left" style ="border: 0.3px solid ;">'+xmll.escape({xmlText :item_ar[i]})+'</td>'
xml+=' <td align="left" style ="border: 0.3px solid ;"></td>'
xml+=' <td align="left" style ="border: 0.3px solid ;"></td>'
//xml+=' <td align="left" style ="border: 0.3px solid ;"> '+open_bal.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")+'</td>'
xml+=' </tr>'
}
item_ar = [];
qty_ar = [];
item_prodUnit_ar = [];
}
xml+=' </table><br/>'
xml+=' <pbr/> ';
xml+=''
xml += '</body></pdf>';// end PDF tags
context.response.renderPdf({xmlString: xml});
}
return {
onRequest: onRequest
};
});
Nilesh Patil
09/07/2022, 4:06 PMNilesh Patil
09/07/2022, 4:07 PMNilesh Patil
09/07/2022, 4:07 PMNilesh Patil
09/07/2022, 4:07 PMNilesh Patil
09/07/2022, 4:07 PMec
09/07/2022, 4:07 PMec
09/07/2022, 4:07 PMec
09/07/2022, 4:07 PMec
09/07/2022, 4:08 PMNilesh Patil
09/07/2022, 4:08 PMNilesh Patil
09/07/2022, 4:09 PMec
09/07/2022, 4:09 PMxml+=' <pbr/> ';
This should appear IN your for loop. understand?Nilesh Patil
09/07/2022, 4:11 PMNilesh Patil
09/07/2022, 4:11 PMec
09/07/2022, 4:11 PMNilesh Patil
09/07/2022, 4:13 PMNilesh Patil
09/07/2022, 4:13 PMec
09/07/2022, 4:14 PMec
09/07/2022, 4:16 PMNilesh Patil
09/07/2022, 4:16 PMec
09/07/2022, 4:16 PMNilesh Patil
09/07/2022, 4:16 PMNilesh Patil
09/07/2022, 4:16 PMec
09/07/2022, 4:16 PMNilesh Patil
09/07/2022, 4:16 PMec
09/07/2022, 4:16 PMNilesh Patil
09/07/2022, 4:17 PMNilesh Patil
09/07/2022, 4:17 PMec
09/07/2022, 4:17 PMNilesh Patil
09/07/2022, 4:17 PMNilesh Patil
09/07/2022, 4:17 PMec
09/07/2022, 4:18 PMNilesh Patil
09/07/2022, 4:23 PMNilesh Patil
09/07/2022, 4:24 PM