MoCheeks
05/19/2020, 11:21 PMbattk
05/19/2020, 11:39 PMbattk
05/19/2020, 11:40 PMbattk
05/19/2020, 11:40 PMMoCheeks
05/20/2020, 12:03 AMbattk
05/20/2020, 12:06 AMbattk
05/20/2020, 12:22 AMMoCheeks
05/20/2020, 12:24 AM/**
*@NApiVersion 2.x
*@NScriptType UserEventScript
*/
define(['N/search', 'N/record'],
function (search, record) {
function beforeSubmit (context) {
try {
var currIncident = context.newRecord;
var oldIncident = context.oldRecord;
var currCustomer = currIncident.getValue({
fieldId : 'company'
});
var mySNAR_Search = search.create({
type: "customer",
filters: [
["internalid","anyof",currCustomer]
],
columns:
[
search.createColumn({
name: "name",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Name",
sort: search.Sort.NONE
}),
search.createColumn({
name: "custrecord_unit_status",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Unit Status",
sort: search.Sort.ASC
}),
search.createColumn({
name: "custrecord_maint_plan",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Maintenance Plan"
}),
search.createColumn({
name: "custrecord_maintenance_expire",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Maintenance Plan Expiration"
}),
search.createColumn({
name: "custrecord_equipment_model",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Equipment Model",
sort: search.Sort.ASC
}),
search.createColumn({
name: "custrecord_purch_date",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Purchase Date"
}),
search.createColumn({
name: "custrecord_total_spent",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Total amount spent on unit"
}),
search.createColumn({
name: "custrecord_amt_remaining",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Total amount remaining"
}),
search.createColumn({
name: "formulatext",
formula: "CASE WHEN {custrecord_customer_unit.custrecord_item_number} LIKE '%LB%' THEN 'Lithium' ELSE NULL END",
label: "Lithium"
}),
]
});
var mySearchResults = mySNAR_Search.run().getRange(0,999);
//create the HTML string to plop into RTF
var strHTML = "<table border=2 cellpadding=8 cellspacing=2 class=”hoverTable” style=”width:500px”>";
strHTML += "<tr><th><font size='4'>Serial</font></th><th><font size='4'>Status</font></th><th><font size='4'>Equip Type</font></th><th><font size='4'>Purchase Date</font></th><th><font size='4'>Total Spent</font></th><th><font size='4'>Total Remaining</font></th><th><font size='4'>Maintenance Plan</font></th><th><font size='4'>Maint Plan Exp Date</font></th><th><font size='4'>Lithium</font></th></tr>";
//Loop through results adding to table
for (var i = 0; i < mySearchResults.length; i++) {
var isDNR = mySearchResults[i].getText({
name: "custrecord_unit_status",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Unit Status"
});
var isLith = mySearchResults[i].getText({
name: "custrecord_item_number",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Item Number"
});
if (isDNR == 'DNR' || isDNR == 'RTDC'){
strHTML += '<tr style="text-decoration: line-through;"><td>';
} else {
strHTML += '<tr><td>';
}
strHTML += mySearchResults[i].getValue({
name: "name",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Name"
}),
strHTML += '</td><td>';
strHTML += mySearchResults[i].getText({
name: "custrecord_unit_status",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Unit Status"
}),
strHTML += '</td><td>';
strHTML += mySearchResults[i].getText({
name: "custrecord_equipment_model",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Equipment Model"
}),
strHTML += '</td><td>';
strHTML += mySearchResults[i].getValue({
name: "custrecord_purch_date",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Purchase Date"
}),
strHTML += '</td><td>';
strHTML += mySearchResults[i].getValue({
name: "custrecord_total_spent",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Total amount spent on unit"
});
strHTML += '</td><td>';
strHTML += mySearchResults[i].getValue({
name: "custrecord_amt_remaining",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Total amount remaining"
}),
strHTML += '</td><td>';
strHTML += mySearchResults[i].getText({
name: "custrecord_maint_plan",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Maintenance Plan"
}),
strHTML += '</td><td>';
strHTML += mySearchResults[i].getValue({
name: "custrecord_maintenance_expire",
join: "CUSTRECORD_CUSTOMER_UNIT",
label: "Maintenance Plan Expiration"
}),
strHTML += '</td><td>';
strHTML += mySearchResults[i].getValue({
name: "formulatext",
formula: "CASE WHEN {custrecord_customer_unit.custrecord_item_number} LIKE '%LB%' THEN 'Lithium' ELSE NULL END",
label: "Lithium"
}),
strHTML += "</td>";
}
strHTML += "</table>";
currIncident.setValue({
fieldId : 'custevent_equipment_details',
value : strHTML
});
} catch (e) {
log.error(e.name);
log.debug({
title : 'Incident and Customer',
details: "Incident = " + currIncident + " " + "Customer =" + currCustomer
})
}
}
return {
beforeSubmit : beforeSubmit
};
});MoCheeks
05/20/2020, 12:25 AMbattk
05/20/2020, 12:30 AMbattk
05/20/2020, 12:30 AMMoCheeks
05/20/2020, 12:32 AMbattk
05/20/2020, 12:47 AM