域名已变更 请手动修改文章中域名指向carlzeng.com

netsuite SyncQtyRate

function SyncQtyRate()
207 var form = document.forms['item_form'];
208 // Make sure all the fields are there. Otherwise, bail out.
209 if (!(form.elements['rateschedule'] && form.elements['quantity']))
210 return;
211 // If this line is a credit of some other doc, retain the original QtyRate on the line
212 if ( (form.elements['orderdoc'] && form.elements['orderdoc'].value.length > 0) || (form.elements['srcline'] && form.elements['srcline'].value.length > 0) )
213 return;
214 var schedstr = form.elements['rateschedule'].value;
215 var qty = parseFloat(form.elements['quantity'].value);
216 var marginal = 'T' == form.elements['marginal'].value;
217 var overallqtydisc = form.elements['overallqtydisc'].value;
218 if (overallqtydisc.length>0)
219 {
220 var linecount=item_machine.getNextIndex()-1;
221 var linenum=item_machine.getMachineIndex();
222 var qtygroup=parseInt(form.elements['qtygroup'].value);
223 for (var j=1; j <= linecount; j++)
224 if (j != linenum && getEncodedValue('item',j,'overallqtydisc') == overallqtydisc && parseInt(getEncodedValue('item',j,'qtygroup')) == qtygroup && parseFloat(getEncodedValue('item',j,'quantity'))>0) qty += parseFloat(getEncodedValue('item',j,'quantity'));
225 }
226 var bCustomPriceLevel = form.elements['price'] != null && parseFloat(form.elements['price'].value) == -1;
228 if (schedstr.length>0 && !isNaN(qty) && !bCustomPriceLevel)
229 {
230 form.elements['rate'].value=format_rate(round_float(getQtyRate(schedstr,qty,marginal)));
231 fireProperOnChange(form.elements['rate']);
232 }
posted @   CarlZeng  阅读(220)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
域名已变更 请手动修改文章中域名指向carlzeng.com
点击右上角即可分享
微信分享提示