Created
August 18, 2016 23:58
-
-
Save michoelchaikin/8250088d4d993250d59a5fdf958515d8 to your computer and use it in GitHub Desktop.
Netsuite Advanced PDF/HTML templates for any record type
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Add 'Print Item Labels' button to Item Page | |
* | |
* Script ID: customscript_mos_itemlabels_ue | |
* Script Type: User Event | |
* Deployed to: Inventory Item | |
* | |
*/ | |
function beforeload(type, form) { | |
if (type == 'view') { | |
var script = "window.open(nlapiResolveURL(\'SUITELET\', \'customscript_mos_itemlabels_sl\', \'customdeploy_mos_itemlabels_sl\') + \'&custom_id=\' + nlapiGetRecordId());"; | |
form.addButton('custpage_printitemlabel','Print Item Label', script); | |
} | |
} | |
/** | |
* Suitelet to print Item Label | |
* | |
* Script ID: customscript_mos_itemlabels_sl | |
* Script Type: Suitelet | |
* | |
*/ | |
function suitelet(request, response) { | |
try { | |
var id = request.getParameter('custom_id'); | |
if(! id) { | |
response.write('custom_id parameter missing'); | |
} | |
var record = nlapiLoadRecord('inventoryitem', id); | |
var renderer = nlapiCreateTemplateRenderer(); | |
var template = nlapiLoadFile('SuiteScripts/MOS Advanced PDF Forms/Item Label.xml'); | |
renderer.setTemplate(template.getValue()); | |
renderer.addRecord('record', record); | |
var xml = renderer.renderToString(); | |
var pdf = nlapiXMLToPDF(xml); | |
response.setContentType('PDF', 'itemlabel.pdf', 'inline'); | |
response.write(pdf.getValue()); | |
} catch(err) { | |
response.write(err + ' (line number: ' + err.lineno + ')'); | |
return; | |
} | |
} |
@tbell630 Sure, you can connect with me via Slack channel (https://netsuiteprofessionals.com/slack/, @michoel) and I'll be happy to walk you through
@michoelchaikin can this be used on a transaction instead of item record? Trying to figure out how to print custom labels from PO record from line level info with barcodes..
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hello, Any chance you would walk me through this and help me understand it better?