Give an alert when empty rate field on record save. it should ignore if value is given as 0.00 and greater than zero.
function (record, runtime, search, currentRecord) {
“use strict”;
let ITEM_ID = [“852”];
let ITEM_TYPE=[‘Description’,’Subtotal’];
/**
* 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;
console.log(‘newRecord’, newRecord);
let createdFrom = newRecord.getValue({
fieldId: 'transform'
});
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 rate = newRecord.getSublistValue({
sublistId: 'item',
fieldId: 'rate',
line: i
});
// let typeFlags = false;
let detailsItem = newRecord.getCurrentSublistValue({
sublistId: "item",
fieldId: "itemtype"
});
let isItemId = ITEM_ID.includes(itemId);
let isItemType = ITEM_TYPE.includes(detailsItem);
if (isItemId == false && isItemType == false && !rate.toString().trim()) {
noRateItemList.push(itemName);
}
}
console.log('noRateItemList', noRateItemList);
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
};