Help please. Im trying to pull the changes made on a customer record in Netsuite. But Im getting this error: TypeError: Cannot read property 'getValue' of null [at Object.onAction. Im doing an edit and save on Customer record but only newRecord is logged. Can you help. TIA!
/**
* @NApiVersion 2.1
* @NScriptType workflowactionscript
*/
define(["N/record", "N/runtime", "N/redirect"], function (
record,
runtime,
redirect
) {
let GLOBALVAR = {
CUSTOMER: {
RECORD: "customer",
ID: "internalid",
STATUS: "custentity_custstatus",
INACTIVE: "inactive",
},
CUSTOMER_FIELDS: [
"id",
"isperson",
"companyname",
"entitystatus",
"salesrep",
"partner",
"url",
"category",
"comments",
"email",
"phone",
"defaultaddress"
],
};
function onAction(scriptContext) {
log.debug("onAction", "onAction");
let objScript = runtime.getCurrentScript();
if (scriptContext.type == "edit") {
let oldRec = scriptContext.oldRecord;
let newRec = scriptContext.newRecord;
let customerfields_updated = false;
for (let i = 0; i < GLOBALVAR.CUSTOMER_FIELDS.length; i++) {
let newValue = newRec.getValue({ fieldId: GLOBALVAR.CUSTOMER_FIELDS[i] });
let oldValue = oldRec.getValue({ fieldId: GLOBALVAR.CUSTOMER_FIELDS[i] });
if (oldValue != newValue) {
customerfields_updated = true;
record.submitFields({
type: GLOBALVAR.CUSTOMER.RECORD,
id: newRec.id,
values: {
'isinactive': true,
},
});
log.debug("customerfields_updated", customerfields_updated);
}
}
log.debug('_Remaining governance units: ' , objScript.getRemainingUsage());
}
}
return {
onAction: onAction,
};
});