TypeError: Cannot read property 'getValue' of null at Object.onAction

82 Views Asked by At

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,
  };
});
0

There are 0 best solutions below