bbeach
05/09/2024, 2:58 PMbbeach
05/09/2024, 2:59 PM/**
*@NApiVersion 2.x
*@NScriptType UserEventScript
*/
define([
'N/search',
'N/record',
'N/runtime'
], function ValidateCreditLimit(
Search,
Record,
Runtime
) {
'use strict';
return {
afterSubmit: function afterSubmit(context) {
if (Runtime.executionContext === Runtime.ContextType.WEBSTORE) {
try {
switch (context.type) {
case 'edit':
case 'create':
var salesOrder = context.newRecord;
var customerId = salesOrder.getValue('entity');
var customer = Record.load({
type: Record.Type.CUSTOMER,
id: customerId
});
salesOrder = Record.load({
type: Record.Type.SALES_ORDER,
id: salesOrder.id
});
var unbilledOrders = customer.getValue('unbilledorders');
var balance = customer.getValue('balance');
var creditLimit = customer.getValue('creditlimit');
var terms = salesOrder.getValue('terms');
if (terms && (balance + unbilledOrders > creditLimit)) {
salesOrder.setValue('custbody_artinapendingapprovalreason', 10);
salesOrder.setValue('orderstatus', 'A');
salesOrder.save({
ignoreMandatoryFields: true
});
}
break;
default:
log.debug({
title: 'Not allowed UserEventType'
});
break;
}
} catch (e) {
log.error({
title: 'Error in SCA | Validate Credit Limit',
details: e.message
});
}
}
}
};
});
erictgrubaugh
05/09/2024, 4:28 PMShawn Talbert
05/09/2024, 4:41 PMDMG
05/09/2024, 4:54 PMbbeach
05/09/2024, 6:26 PMDMG
05/09/2024, 6:27 PMbbeach
05/09/2024, 6:45 PMDMG
05/09/2024, 7:02 PMClay Roper
05/09/2024, 7:36 PMbbeach
05/09/2024, 8:32 PMClay Roper
05/09/2024, 8:41 PMClay Roper
05/09/2024, 9:06 PMbbeach
05/10/2024, 1:38 AMbbeach
05/10/2024, 5:17 PMClay Roper
05/10/2024, 5:57 PM