To generate Alert only when rate field is empty not zero or greater than zero when saving a record.
/** * Validation function to be executed when record is saved.
* * @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord – Current form record
* @returns {boolean} Return true if record is valid * * @since 2015.2
*/
function saveRecord(scriptContext) {
try {
let newRecord = scriptContext.currentRecord;
let itemCount = newRecord.getLineCount({
sublistId: ‘item’ // Assuming the item sublist ID is ‘item’
});
let noRateItemList = [];
for (let i = 0; i < itemCount; i++) {
let itemId = newRecord.getSublistValue({
sublistId: ‘item’,
fieldId: ‘item’,
line: i
});
let itemName = newRecord.getSublistText({
sublistId: ‘item’,
fieldId: ‘item’,
line: i
});
let isItemId = ITEM_ID.includes(itemId);
let rate = newRecord.getSublistValue({
sublistId: ‘item’,
fieldId: ‘rate’,
line: i
});
if (isItemId == false && !rate.toString().trim()) {
noRateItemList.push(itemName);
} }
if (noRateItemList.length > 0) {
let itemDetails = noRateItemList.toString();
alert(‘The sales order cannot be saved due to empty rates in item line ‘ + itemDetails);
return false;
}
return true;
} catch (e) {
console.log(“error@saverecord”, e);
console.log(e.message);
return true;
} }
return {
saveRecord: saveRecord
};
});