Scenario
User would like a script that sets the Revenue Start Date and Revenue End Date of the Item Members based on the Item Group
Solution
Sample Script
var itemName;
var itemType;
var isGroup = “F”; //will serve as a flag
var revrecstartdate;
var revrecenddate;
var objRecord = scriptContext.newRecord;
var itemCount = objRecord.getLineCount({
sublistId: “item”
});
for (var i = 0; i < itemCount – 1; i++) {
itemName = objRecord.getSublistValue({
sublistId: “item”,
fieldId: “item”,
line: i
});
itemType = search.lookupFields({
type: search.Type.ITEM,
id: itemName,
columns: “type”
});
if (itemType == null || itemType == “”) {
isGroup = “F”;
}
if (isGroup == “T”) {
if ((itemType.type[0].value == “InvtPart”) || (itemType.type[0].value == “NonInvtPart”)) {
objRecord.setSublistValue({
sublistId: “item”,
fieldId: “revrecstartdate”,
line: i,
value: revrecstartdate,
});
objRecord.setSublistValue({
sublistId: “item”,
fieldId: “revrecenddate”,
value: revrecenddate,
line: i,
value: revrecenddate,
});
}
}
if (itemType.type[0].value == “Group”) {
isGroup = “T”;
log.debug({
title: “isGroup inside t”,
details: isGroup
});
revrecstartdate = objRecord.getSublistValue({
sublistId: “item”,
fieldId: “revrecstartdate”,
line: i
});
revrecenddate = objRecord.getSublistValue({
sublistId: “item”,
fieldId: “revrecenddate”,
line: i
});
}
}