Printing Custom Sublist in Suitelet

Hi. I am building a suitelet. It searches fulfilments via package nr.
The form gets created and Sublist too. Sublist gets populated.

On screen I can see the data. When I click print and it runs the POST. I get log out that it is blank.

 

Any help on why it is blank when I click the Print Button.

/**

* Project:

*

*

* @NApiVersion 2.x

* @NScriptType Suitelet

* @NModuleScope SameAccount

*/

define(['N/ui/serverWidget','N/runtime','N/search',"N/record"],
function(serverWidget, runtime,search,record ) {
/**

* Definition of the Suitelet script trigger point.

*

* @param {Object} context

* @param {ServerRequest} context.request - Encapsulation of the incoming request

* @param {ServerResponse} context.response - Encapsulation of the Suitelet response

* @Since 2015.2

*/

function onRequest(context) {

var response = context.response;

var request = context.request; // Get Context

var department = request.parameters.wave_id; // Get previous Dep

var action = request.parameters.custpage_action; // Get previous Dep
//log.debug('Department Loaded from Parameter', department);

var form = createForm() // Create Form and retunr

//var sublist1 = createSublist (form) // Create a Sublist on the form

var wave_id = request.parameters.wave_id;

var dep_change = request.parameters.wave_id_change;

//log.debug('Wave changed Loaded from Parameter', dep_change);
log.debug('LOG' ,request.method + '<-Method |Dep Change -> ' + dep_change+' , '+ department + ' <--Department | wave_id --> ' +wave_id + ' , ' + action +'<-- Action Field' )
if (request.method === 'GET') {
//log.debug('LOG GET' ,request.method + '<-Method |Dep Change -> ' + dep_change+' , '+ department + ' <--Department | wave_id --> ' +wave_id + ' , ' + action+'<-- Action Field' )
if (department) {//AND NOT PRINT
////

//log.debug('LOG GET After Deparment' ,request.method + '<-Method |Dep Change -> ' + dep_change+' , '+ department + ' <--Department | wave_id --> ' +wave_id + ' , ' +action+ '<-- Action Field' )
//populateData(sublist1)
var sublist1 = form.addSublist({

id : 'sublistid1',

type : serverWidget.SublistType.INLINEEDITOR,

label : 'Retail Label Printing'

});

var itm_date = sublist1.addField({

id : 'custpage_date',

label : 'Ship Date',

type : serverWidget.FieldType.TEXT

});

itm_date.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var itm_tranid = sublist1.addField({

id : 'custpage_tranid',

label : 'Fulfillment Id',

type : serverWidget.FieldType.TEXT

});

itm_tranid.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var itm_id = sublist1.addField({

id : 'custpage_item',

label : 'Item Code',

type : serverWidget.FieldType.TEXT,

// source: 'item'
});

itm_id.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var itm_barcode = sublist1.addField({

id : 'custpage_item_barcode',

label : 'Item Barcode',

type : serverWidget.FieldType.TEXT,

// source: 'item'
});

itm_barcode.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var item_author = sublist1.addField({

id : 'custpage_long_auth',

label : 'Author',

type : serverWidget.FieldType.TEXT

});

item_author.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var item_dep = sublist1.addField({

id : 'custpage_dep',

label : 'Department',

type : serverWidget.FieldType.TEXT

});

item_dep.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var itm_desc = sublist1.addField({

id : 'custpage_item_desc',

label : 'Item Description',

type : serverWidget.FieldType.TEXT

});
itm_desc.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
itm_desc.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var item_price_excl = sublist1.addField({

id : 'custpage_sale_price',

label : 'Sale Price Excl VAT',

type : serverWidget.FieldType.CURRENCY

});

item_price_excl.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});

var item_price_incl = sublist1.addField({

id : 'custpage_sale_price_inc',

label : 'Sale Price Incl VAT',

type : serverWidget.FieldType.CURRENCY

});

item_price_incl.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var ful_qty = sublist1.addField({

id : 'custpage_quantity',

label : 'Qty',

type : serverWidget.FieldType.TEXT

});

ful_qty.updateDisplayType({

displayType: serverWidget.FieldDisplayType.ENTRY

});
var print = sublist1.addField({

id : 'custpage_print_line',

label : 'Print',

type : serverWidget.FieldType.CHECKBOX

});

print.updateDisplayType({

displayType: serverWidget.FieldDisplayType.ENTRY

});
var itemfulfillmentSearchObj = search.create({

type: "itemfulfillment",

settings:[{"name":"consolidationtype","value":"ACCTTYPE"}],

filters:

[

["type","anyof","ItemShip"],

"AND",

["shipmentpackage.contentsdescription","startswith",department],

"AND",

["taxline","is","F"],

"AND",

["cogs","is","F"],

"AND",

["item","noneof","32231"]

],

columns:

[

search.createColumn({

name: "contentsdescription",

join: "shipmentPackage"

}),

"tranid",

"trandate",

"createdfrom",

"item",

"quantity",

search.createColumn({

name: "formulacurrency",

formula: "{item.pricelevel17}"

}),

search.createColumn({

name: "formulacurrency2",

formula: "{item.pricelevel17}*1.15"

}),

search.createColumn({

name: "custitem_inv_master_barcode",

join: "item"

}),

search.createColumn({

name: "custitem_item_auth_bio_linked",

join: "item"

}),

search.createColumn({

name: "salesdescription",

join: "item"

}),

search.createColumn({

name: "departmentnohierarchy",

join: "item"

})

]

});
var searchResultCount = itemfulfillmentSearchObj.runPaged().count;

var lineno = 0;
itemfulfillmentSearchObj.run().each(function(result){
if (lineno != searchResultCount){
/* if (lineno==25) {

return true;

}*/
//var recInternalId = result.id;

var trandate = result.getValue("trandate");

var createdfrom = result.getText("createdfrom");

var item = result.getText("item");

var department_no_h = result.getText({name : "departmentnohierarchy", join: "item"});

var item_barcode = result.getValue({name : "custitem_inv_master_barcode", join: "item"});

var long_author = result.getText({name : "custitem_item_auth_bio_linked", join: "item"});
var item_description = result.getValue({name : "salesdescription", join: "item"});
var retail_exl = result.getValue({name : "formulacurrency", formula: "{item.pricelevel17}"});

var retail_incl = result.getValue({name : "formulacurrency2", formula: "{item.pricelevel17}*1.15"})||0;

var qty = result.getValue("quantity")||0;
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_date',

value: trandate,
line:lineno

});
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_tranid',

value: createdfrom,
line:lineno

});
if (!item_barcode) {
}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_item_barcode',

value: item_barcode,
line:lineno

});
}
if (!department_no_h) {
}else{

sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_dep',

value: department_no_h,
line:lineno

});

}
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_item',

value: item,
line:lineno

});
if (!long_author) {
}else{

sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_long_auth',

value: long_author,
line:lineno

});
}
if (!item_description) {
}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_item_desc',

value: item_description,
line:lineno

});
}
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_item',

value: item,
line:lineno

});
if(!retail_exl){}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_sale_price',

value: retail_exl,
line:lineno

});

}

if(!retail_incl){}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_sale_price_inc',

value: retail_incl,
line:lineno

});

}

if(!qty){}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_quantity',

value: qty,
line:lineno

});

}

sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_print_line',

value: 'T',
line:lineno

});
lineno+=1;

return true;

} else{

return true;}

});
}
} else if (request.method === 'POST') {
//populateData(sublist1)
log.debug(' Sublist in Post', sublist1);

//log.debug('LOG POST' ,request.method + '<-Method |Dep Change -> ' + dep_change+' , '+ department + ' <--Department | wave_id --> ' +wave_id + ' , ' + action+'<-- Action Field' )

var actionFieldVal = context.request.parameters.custpage_action_field;

//log.debug('Action', actionFieldVal)//Log value of Custom action Text
if ( action==='true') {

log.debug(' Sublist in Action in Post', sublist1);

//log.debug('LOG POST TRUE' ,request.method + '<-Method |Dep Change -> ' + dep_change+' , '+ department + ' <--Department | wave_id --> ' +wave_id + ' , ' + action+'<-- Action Field' )

printLabel(sublist1,request);

}
if (department ) { //AND NOT PRINT
department=null;

// Redirect back to this Suitelet

var script = runtime.getCurrentScript();

var params=[];

params['wave_id'] = wave_id;

params['wave_id_change'] = dep_change;

response.sendRedirect({type: 'SUITELET',

identifier: script.id,

id: script.deploymentId,

parameters: params });

}
}
//Create FORM and RETURN

function createForm(){

var form = serverWidget.createForm({ title: 'Retail Pricing Labels'});
var OldValue = form.addField({

id : 'custpage_wave_old_value',

type : serverWidget.FieldType.TEXT,

label : 'Wave Old Value'

}).updateDisplayType({displayType: serverWidget.FieldDisplayType.DISABLED });
var waveField = form.addField({

id: 'wave_id',

type: serverWidget.FieldType.TEXT, label: 'Wave Nr',

//source: "department"
});

//Set Old value to detect Change on screen
OldValue.defaultValue=department;
waveField.isMandatory = true;
form.addSubmitButton({ label: 'Search'});
var field = form.addField({

id : 'wave_id_change',

type : serverWidget.FieldType.CHECKBOX,

label : 'Wave Nr Change'

}).updateDisplayType({displayType: serverWidget.FieldDisplayType.DISABLED });

field.defaultValue=dep_change;
//add Client Side Script to detect Changes on form
form.clientScriptModulePath = "./shipment_details_cl.js";
form.addButton({

id: 'custpage_print2_btn',

label: 'PRINT 2',

functionName: 'onPrint2'

});
// Step 1: Add Hidden Field for Action

var actionField = form.addField({

id: 'custpage_action',

type: serverWidget.FieldType.TEXT,

label: 'Action'

}).updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
return form

}
//Create Sublist
function createSublist(form){

var sublist1 = form.addSublist({

id : 'sublistid1',

type : serverWidget.SublistType.INLINEEDITOR,

label : 'Retail Label Printing'

});

var itm_date = sublist1.addField({

id : 'custpage_date',

label : 'Ship Date',

type : serverWidget.FieldType.TEXT

});

itm_date.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var itm_tranid = sublist1.addField({

id : 'custpage_tranid',

label : 'Fulfillment Id',

type : serverWidget.FieldType.TEXT

});

itm_tranid.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var itm_id = sublist1.addField({

id : 'custpage_item',

label : 'Item Code',

type : serverWidget.FieldType.TEXT,

// source: 'item'
});

itm_id.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var itm_barcode = sublist1.addField({

id : 'custpage_item_barcode',

label : 'Item Barcode',

type : serverWidget.FieldType.TEXT,

// source: 'item'
});

itm_barcode.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var item_author = sublist1.addField({

id : 'custpage_long_auth',

label : 'Author',

type : serverWidget.FieldType.TEXT

});

item_author.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var item_dep = sublist1.addField({

id : 'custpage_dep',

label : 'Department',

type : serverWidget.FieldType.TEXT

});

item_dep.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var itm_desc = sublist1.addField({

id : 'custpage_item_desc',

label : 'Item Description',

type : serverWidget.FieldType.TEXT

});
itm_desc.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
itm_desc.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var item_price_excl = sublist1.addField({

id : 'custpage_sale_price',

label : 'Sale Price Excl VAT',

type : serverWidget.FieldType.CURRENCY

});

item_price_excl.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});

var item_price_incl = sublist1.addField({

id : 'custpage_sale_price_inc',

label : 'Sale Price Incl VAT',

type : serverWidget.FieldType.CURRENCY

});

item_price_incl.updateDisplayType({

displayType: serverWidget.FieldDisplayType.DISABLED

});
var ful_qty = sublist1.addField({

id : 'custpage_quantity',

label : 'Qty',

type : serverWidget.FieldType.TEXT

});

ful_qty.updateDisplayType({

displayType: serverWidget.FieldDisplayType.ENTRY

});
var print = sublist1.addField({

id : 'custpage_print_line',

label : 'Print',

type : serverWidget.FieldType.CHECKBOX

});

print.updateDisplayType({

displayType: serverWidget.FieldDisplayType.ENTRY

});
return sublist1;
}
function populateData(sublist1){

var itemfulfillmentSearchObj = search.create({

type: "itemfulfillment",

settings:[{"name":"consolidationtype","value":"ACCTTYPE"}],

filters:

[

["type","anyof","ItemShip"],

"AND",

["shipmentpackage.contentsdescription","startswith",department],

"AND",

["taxline","is","F"],

"AND",

["cogs","is","F"],

"AND",

["item","noneof","32231"]

],

columns:

[

search.createColumn({

name: "contentsdescription",

join: "shipmentPackage"

}),

"tranid",

"trandate",

"createdfrom",

"item",

"quantity",

search.createColumn({

name: "formulacurrency",

formula: "{item.pricelevel17}"

}),

search.createColumn({

name: "formulacurrency2",

formula: "{item.pricelevel17}*1.15"

}),

search.createColumn({

name: "custitem_inv_master_barcode",

join: "item"

}),

search.createColumn({

name: "custitem_item_auth_bio_linked",

join: "item"

}),

search.createColumn({

name: "salesdescription",

join: "item"

}),

search.createColumn({

name: "departmentnohierarchy",

join: "item"

})

]

});
var searchResultCount = itemfulfillmentSearchObj.runPaged().count;

var lineno = 0;
itemfulfillmentSearchObj.run().each(function(result){
if (lineno != searchResultCount){
/* if (lineno==25) {

return true;

}*/
//var recInternalId = result.id;

var trandate = result.getValue("trandate");

var createdfrom = result.getText("createdfrom");

var item = result.getText("item");

var department_no_h = result.getText({name : "departmentnohierarchy", join: "item"});

var item_barcode = result.getValue({name : "custitem_inv_master_barcode", join: "item"});

var long_author = result.getText({name : "custitem_item_auth_bio_linked", join: "item"});
var item_description = result.getValue({name : "salesdescription", join: "item"});
var retail_exl = result.getValue({name : "formulacurrency", formula: "{item.pricelevel17}"});

var retail_incl = result.getValue({name : "formulacurrency2", formula: "{item.pricelevel17}*1.15"})||0;

var qty = result.getValue("quantity")||0;
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_date',

value: trandate,
line:lineno

});
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_tranid',

value: createdfrom,
line:lineno

});
if (!item_barcode) {
}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_item_barcode',

value: item_barcode,
line:lineno

});
}
if (!department_no_h) {
}else{

sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_dep',

value: department_no_h,
line:lineno

});

}
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_item',

value: item,
line:lineno

});
if (!long_author) {
}else{

sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_long_auth',

value: long_author,
line:lineno

});
}
if (!item_description) {
}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_item_desc',

value: item_description,
line:lineno

});
}
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_item',

value: item,
line:lineno

});
if(!retail_exl){}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_sale_price',

value: retail_exl,
line:lineno

});

}

if(!retail_incl){}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_sale_price_inc',

value: retail_incl,
line:lineno

});

}

if(!qty){}else{
sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_quantity',

value: qty,
line:lineno

});

}

sublist1.setSublistValue({

sublistId: 'sublist1',

id: 'custpage_print_line',

value: 'T',
line:lineno

});
lineno+=1;

return true;

} else{

return true;}

});
}
function printLabel(sublist1,request){

// POST
// Get the values entered on the form
//var request = context.request;

//log.debug('request',request)
log.debug('PRINT LABEL')

// var itemId = request.parameters.custpage_itemid;
//if (dep_change=='F') {
var labelsToPrint = [];
//log.debug("Print Label for line Run",dep_change)
log.debug(' Sublist in Print', sublist1);
var linecount = request.getLineCount({group: 'sublistid1'});

//log.debug('linecount',linecount)
//log.debug('PRINT LABEL 2', linecount)
 
for (var i = 0; i < linecount; i++) {

//log.debug('linecount In Loop',i)
var _print_label = request.getSublistValue({
group: 'sublistid1', name: 'custpage_print_line', line: i
});
if (_print_label=='T') {
labelsToPrint.push({

shipDate: request.getSublistValue({ group: 'sublistid1', name: 'custpage_date', line: i }) || '',

transactionId: request.getSublistValue({ group: 'sublistid1', name: 'custpage_tranid', line: i }) || '',

itemCode: request.getSublistValue({ group: 'sublistid1', name: 'custpage_item', line: i }) || '',

itemBarcode: request.getSublistValue({ group: 'sublistid1', name: 'custpage_item_barcode', line: i }) || '',

author: request.getSublistValue({ group: 'sublistid1', name: 'custpage_long_auth', line: i }) || '',

department: request.getSublistValue({ group: 'sublistid1', name: 'custpage_dep', line: i }) || '',

description: request.getSublistValue({ group: 'sublistid1', name: 'custpage_item_desc', line: i }) || '',

salesPrice: request.getSublistValue({ group: 'sublistid1', name: 'custpage_sale_price_inc', line: i }) || '',

quantity: request.getSublistValue({ group: 'sublistid1', name: 'custpage_quantity', line: i }) || ''

});
}
}
log.debug({

title: 'labelsToPrint array',

details: JSON.stringify(labelsToPrint)

});
//}
}
//Create form on SCREEN

context.response.writePage(form);

}
return {

onRequest: onRequest

};
})
Rookie Asked on May 15, 2025 in SuiteScript.
Add Comment
0 Answer(s)

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.
  • This site made possible by our sponsors:   Tipalti   Celigo   SuiteMigration   Become a Sponsor