/**
* @NApiVersion 2.1
* @NScriptType Restlet
*/
define([‘N/record’, ‘N/search’],
/**
* @param{record} record
* @param{search} search
*/
(record, search) => {
/**
* Defines the function that is executed when a GET request is sent to a RESTlet.
* @param {Object} requestParams – Parameters from HTTP request URL; parameters passed as an Object (for all supported
* content types)
* @returns {string | Object} HTTP response body; returns a string when request Content-Type is ‘text/plain’; returns an
* Object when request Content-Type is ‘application/json’ or ‘application/xml’
* @since 2015.2
*/
var objArr =[];
var lineObj =[];
const get = (requestParams) => {
try {
if(requestParams.salesId==null){
let salesOrderSearch=search.load({
id:’customsearch_jj_opensalesorder_otp7207?
});
let searchObj=salesOrderSearch.run().getRange({
start:0,
end:100
});
for (let i=0; i< searchObj.length;i++){
objArr[i]=[
searchObj[i].getValue(‘internalid’)+” “+
searchObj[i].getValue(‘tranid’)+” “+
searchObj[i].getValue(‘trandate’)+” “+
searchObj[i].getValue(‘amount’)
];
}
return JSON.stringify(objArr);
}
else{
let order=search.lookupFields({
type:search.Type.SALES_ORDER,
id:requestParams.salesId,
columns:[“internalid”]
});
let internalId=order[“internalid”];
if(internalId==null){
return(“RESULT NOT FOUND”);
}
else{
let salesRec = record.load({
type: record.Type.SALES_ORDER,
id:requestParams.salesId,
isDynamic:true
});
let lineCount=salesRec.getLineCount({
sublistId:’item’
});
for(let i=0;i< lineCount;i++) {
let Item = salesRec.getSublistText({
sublistId: ‘item’,
fieldId: ‘item’,
line: i
});
let Quantity = salesRec.getSublistValue({
sublistId: ‘item’,
fieldId: ‘quantity’,
line: i
});
let Rate = salesRec.getSublistValue({
sublistId: ‘item’,
fieldId: ‘rate’,
line: i
});
let Amount = salesRec.getSublistValue({
sublistId: ‘item’,
fieldId: ‘amount’,
line: i
});
lineObj[i] = [Item, Quantity, Rate, Amount];
}
return JSON.stringify( lineObj);
}
}
} catch (error) {
log.debug(error)
}
}
return {get}
});