Create a Suitelet script that will return a list of Child Items based on the entered Parent Item.
/**
* @NApiVersion 2.x
* @NScriptType Suitelet
*/
define(['N/ui/serverWidget','N/search'], function(serverWidget,search) {
function onRequest(context) {
if (context.request.method === 'GET') {
// Section One - Forms - See 'Steps for Creating a Custom Form' in topic 'Sample Custom Form Script'
var form = serverWidget.createForm({
title: 'Search Matrix Items'
});
var itemid = form.addField({
id: 'custpage_itemid',
type: serverWidget.FieldType.TEXT,
label: 'ENTER ITEM NAME/NUMBER:'
});
form.addSubmitButton({
label: 'Submit'
});
context.response.writePage(form);
} else {
// Section Four - Output - Used in all sections
var delimiter = /\u0001/;
var parentItemID = context.request.parameters.custpage_itemid;
var myParentSearch = search.create({
type: search.Type.INVENTORY_ITEM,
filters: ['itemid', 'is', parentItemID]
});
var parentItemRecord = myParentSearch.run().getRange({
start:0,
end:1
})
var parentItem = parentItemRecord[0].id
context.response.write('RESULTS:'+'\n'+'\n');
var myChildSearch = search.create({
type: search.Type.INVENTORY_ITEM,
filters: [{
name: 'matrixchild',
operator: 'is',
values: ['T']
},{
name: 'parent',
operator: 'anyof',
values: parentItem
},
],
columns: ['itemid']
}).run().each(function(result) {
var resItemId = result.getValue('itemid');
context.response.write(resItemId.substring(parentItemID.length+3)+'\n');
return true;
});
}
}
return {
onRequest: onRequest
};
});