There are instances when a user would like to make sure that the PO#s being set on the Sales Orders belonging to the same customer are not to be duplicated.
Such use case may be met by using a client side script such as below:
function onSave(){
var poNum = nlapiGetFieldValue('otherrefnum');
alert(poNum);
var customer = nlapiGetFieldValue('entity');
var filter = new nlobjSearchFilter('entity', null, 'is', customer);
var column = new Array();
column[0] = new nlobjSearchColumn('internalid');
column[1] = new nlobjSearchColumn('otherrefnum');
var searchResults = nlapiSearchRecord('salesorder',null, filter,column);
for(var i = 0; searchResults != null && i < searchResults.length; i++){
var searchResult = searchResults[i];
var soID = searchResult.getValue('internalid');
nlapiLogExecution('debug','soID',soID);
var soPONum = searchResult.getValue('otherrefnum');
nlapiLogExecution('debug','soPONum',soPONum);
alert('Checking existing PO#s for customer. Please wait.');
if(soPONum == poNum){
alert('PO# is already used by this customer');
return false;
}
}
}
This serves as an alternate solution for Enhancement#266363.
No comments:
Post a Comment