NetSuite Client Script fieldChanged using old item values
up vote
1
down vote
favorite
I made a simple client script following this logic: Once a new item is added or an item is changed to a new item, the Gross Margin will be auto calculated and added to the corresponding field for that item. The problem I am having is that fieldChanged is giving me the old (or undef.) sublist values for that item as if it hadn't changed yet. Is there a way to tell NetSuite to, after the item is changed, wait for its corresponding sublist values to update before populating the values with fieldChanged? Thanks!
function fieldChanged(context)
var currentRecord = context.currentRecord;
var sublistName = context.sublistId;
var sublistFieldName = context.fieldId;
var line = context.line;
if (sublistName === 'item' && sublistFieldName === 'item')
var costrateestimate = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'costestimaterate');
var amount = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'amount');
var quantity = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'quantity');
var grossPerc = Math.round((1-(costrateestimate/amount*quantity))*100);
log.debug("Gross Margin Calculated = 100 - ("+costrateestimate+" / "+amount+" * "+currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'quantity')+") = "+grossPerc+"%");
currentRecord.setCurrentSublistValue(
sublistId: sublistName,
fieldId: 'custcol_gross_margin_perc',
value: grossPerc
);
netsuite suitescript suitescript2.0
add a comment |
up vote
1
down vote
favorite
I made a simple client script following this logic: Once a new item is added or an item is changed to a new item, the Gross Margin will be auto calculated and added to the corresponding field for that item. The problem I am having is that fieldChanged is giving me the old (or undef.) sublist values for that item as if it hadn't changed yet. Is there a way to tell NetSuite to, after the item is changed, wait for its corresponding sublist values to update before populating the values with fieldChanged? Thanks!
function fieldChanged(context)
var currentRecord = context.currentRecord;
var sublistName = context.sublistId;
var sublistFieldName = context.fieldId;
var line = context.line;
if (sublistName === 'item' && sublistFieldName === 'item')
var costrateestimate = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'costestimaterate');
var amount = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'amount');
var quantity = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'quantity');
var grossPerc = Math.round((1-(costrateestimate/amount*quantity))*100);
log.debug("Gross Margin Calculated = 100 - ("+costrateestimate+" / "+amount+" * "+currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'quantity')+") = "+grossPerc+"%");
currentRecord.setCurrentSublistValue(
sublistId: sublistName,
fieldId: 'custcol_gross_margin_perc',
value: grossPerc
);
netsuite suitescript suitescript2.0
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I made a simple client script following this logic: Once a new item is added or an item is changed to a new item, the Gross Margin will be auto calculated and added to the corresponding field for that item. The problem I am having is that fieldChanged is giving me the old (or undef.) sublist values for that item as if it hadn't changed yet. Is there a way to tell NetSuite to, after the item is changed, wait for its corresponding sublist values to update before populating the values with fieldChanged? Thanks!
function fieldChanged(context)
var currentRecord = context.currentRecord;
var sublistName = context.sublistId;
var sublistFieldName = context.fieldId;
var line = context.line;
if (sublistName === 'item' && sublistFieldName === 'item')
var costrateestimate = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'costestimaterate');
var amount = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'amount');
var quantity = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'quantity');
var grossPerc = Math.round((1-(costrateestimate/amount*quantity))*100);
log.debug("Gross Margin Calculated = 100 - ("+costrateestimate+" / "+amount+" * "+currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'quantity')+") = "+grossPerc+"%");
currentRecord.setCurrentSublistValue(
sublistId: sublistName,
fieldId: 'custcol_gross_margin_perc',
value: grossPerc
);
netsuite suitescript suitescript2.0
I made a simple client script following this logic: Once a new item is added or an item is changed to a new item, the Gross Margin will be auto calculated and added to the corresponding field for that item. The problem I am having is that fieldChanged is giving me the old (or undef.) sublist values for that item as if it hadn't changed yet. Is there a way to tell NetSuite to, after the item is changed, wait for its corresponding sublist values to update before populating the values with fieldChanged? Thanks!
function fieldChanged(context)
var currentRecord = context.currentRecord;
var sublistName = context.sublistId;
var sublistFieldName = context.fieldId;
var line = context.line;
if (sublistName === 'item' && sublistFieldName === 'item')
var costrateestimate = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'costestimaterate');
var amount = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'amount');
var quantity = currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'quantity');
var grossPerc = Math.round((1-(costrateestimate/amount*quantity))*100);
log.debug("Gross Margin Calculated = 100 - ("+costrateestimate+" / "+amount+" * "+currentRecord.getCurrentSublistValue(sublistId: sublistName,fieldId: 'quantity')+") = "+grossPerc+"%");
currentRecord.setCurrentSublistValue(
sublistId: sublistName,
fieldId: 'custcol_gross_margin_perc',
value: grossPerc
);
netsuite suitescript suitescript2.0
netsuite suitescript suitescript2.0
asked Nov 9 at 20:19
Nick
227
227
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
Figured it out! I needed to use the postSourcing entry point instead of fieldChanged...
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Figured it out! I needed to use the postSourcing entry point instead of fieldChanged...
add a comment |
up vote
1
down vote
accepted
Figured it out! I needed to use the postSourcing entry point instead of fieldChanged...
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Figured it out! I needed to use the postSourcing entry point instead of fieldChanged...
Figured it out! I needed to use the postSourcing entry point instead of fieldChanged...
answered Nov 9 at 20:52
Nick
227
227
add a comment |
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53232769%2fnetsuite-client-script-fieldchanged-using-old-item-values%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown