Create an entity field(checkbox) and add the condition if the checkbox enabled the customer not allowed to add or delete the address.
For achieving the solution we can use the Client script 2.0 :
first, need to create a custom entity field in NetSuite with type as a checkbox.
Add the enity field to customer and website options while creating, then we write script based on the value of checkbox.
Script:
/**
*@NApiVersion 2.x
*@NScriptType ClientScript
* 13 Jan 2022 JJ Sets address limit to 30 numbers in customer/lead record
*/
define(['N/error','N/record'],
function(error, record) {
function pageInit(scriptContext) {
console.log("scriptContext", scriptContext)
log.debug("scriptContext", scriptContext)
}
function fieldChanged(context) {
var currentRecord = context.currentRecord;
var sublistName = context.sublistId;
var sublistFieldName = context.fieldId;
console.log("sublistFieldName", sublistFieldName)
log.debug("sublistName", sublistName)
}
function validateLine(scriptContext, sublist) {
// console.log("context", context)
console.log("sublist", sublist)
try {
var objRecord = scriptContext.currentRecord; //get customer record
var address_Limit = objRecord.getValue({
fieldId: 'custentityaddress_lock'
});
console.log("address_Limit", address_Limit)
if (address_Limit === true) {
console.log("if_true2");
alert('Address Limit exceeded and Address Locked.');
} else {
return true;
}
} catch (e) {
console.log("address limit error", e)
}
}
function validateDelete(scriptContext,sublist) {
console.log("context2", scriptContext)
console.log("sublist2", sublist)
try {
var objRecord2 = scriptContext.currentRecord; //get customer record
var address_Limit2 = objRecord2.getValue({
fieldId: 'custentityaddress_lock'
});
console.log("address_Limit2", address_Limit2)
if (address_Limit2 === true) {
console.log("if_true2");
alert('Address Limit exceeded and Address Locked.');
} else {
return true;
}
} catch (e) {
console.log("address limit error", e)
}
}
function validateInsert(scriptContext,sublist) {
console.log("context3", scriptContext)
console.log("sublist3", sublist)
try {
var objRecord3 = scriptContext.currentRecord; //get customer record
var address_Limit3 = objRecord3.getValue({
fieldId: 'custentityaddress_lock'
});
console.log("address_Limit3", address_Limit3)
if (address_Limit3 === true) {
console.log("if_true3");
alert('Address Limit exceeded and Address Locked.');
} else {
return true;
}
} catch (e) {
console.log("address limit error", e)
}
}
return {
pageInit: pageInit,
validateLine: validateLine,
validateDelete: validateDelete,
validateInsert: validateInsert
};
});