(other options discussed by other developers in these example links, see below for my approCH
https://community.servicenow.com/community?id=community_question&sys_id=6e3cc765db9cdbc01dcaf3231f961978
https://community.servicenow.com/community?id=community_question&sys_id=a09d7eafdb1294507d3e02d5ca9619fd
https://community.servicenow.com/community?id=community_question&sys_id=708e7767db5bef40107d5583ca9619d9
)
my solution:
whilst $('quantity').value worked beautifully in client script in classic UI, I could not locate an equivalent that was service portal friendly. As in this instance I did not wish to modify/copy the out of the box widget, I decided to follow this approach:
- add a read only max quantity variable to the catalog item (reusable variable set) and set it per item in onload client script
- below before insert business rule [sc_req_item] to override the value
(function executeRule(current, previous /*null when async*/ ) {
var sMaxQuantity = current.variables.item_max_quantity + "";
if (sMaxQuantity != "") {
if (parseInt(sMaxQuantity) > 0 && (parseInt(current.quantity) > parseInt(sMaxQuantity))) {
var sMsg = 'This item has a maximum quantity. As a higher quantity was selected on checkout [' + current.quantity + '] this has defaulted to the maximum value [' + sMaxQuantity + ']';
//current.work_notes = sMsg;
//gs.addInfoMessage(sMsg);
current.comments = sMsg;
}
}
})(current, previous);
Comments
Post a Comment