案例:某企业的原来是圆木棍,不同木棍有不同体积,业务原通常在使用中会使用x根来描述,比如xx家具需要1.25根a木棍;木棍基本单位是立方毫米;操作员在制单时要输入xxx立方毫米这个值就得拿计算器出来算,所以希望能再单据上增加一个字段,他们输入根数,自动计算出需要发多少量,并填到实发数量上;
首先给物料体积赋值:(物料基础资料有体积字段select * from t_ItemPropDesc where FItemClassID = 4 and FName like '%体积%'),
比如我这里随便设置一个值3.65 update t_ICItem set FSize = 3.65(测试过程中,我把所有物料体积都设置成了3.65)到单据自定义界面,给单据增加2个字段,体积和根数;
已销售订单为例:
点工具栏的添加表体字段,根数设置为数量类型并设置来源为手工录入;体积设置为数量类型并设置来源物料的体积
保存并退出
找到销售订单的表体模版
找到数量、根数、体积
可以看到数量字段freationid和action已经有值了;
把他复制出来,
再relation的最后加上,FEntrySelfS0175 ;变成FQty,FUnitID,FAuxQty,FEntrySelfS0175
再actin后面加上 (注意这里第一个符号是;号);Cal,A=B*C,FEntrySelfS0175,FEntrySelfS0176
就是说数量字段收到根数字段变化时,会触发计算公式,公式为a=b*c ,a就是更新的字段自己,b,c分别是FEntrySelfS0175,FEntrySelfS0176公式里面可以有常数比如;Cal,A=B*C/100,FEntrySelfS0175,FEntrySelfS0176
执行更新脚本:
update ICTemplateEntry set FRelationID = 'FQty,FUnitID,FAuxQty,FEntrySelfS0175',FAction='A2,FQty,FAuxQty;D*,FItemID,FUnitID,FAuxQty,FAmount,FCustID,FCurrencyID,FExchangeRate,FTaxRate,FUniDiscount;N>=,FAuxCommitQty;N>=,FAuxStockQty;S1*,Head&FCustID,Head&FEmpID,Head&FCurrencyID,Head&FExchangeRate,Head&FDate,Entry&FItemID,Entry&FAuxPropID,Entry&FUnitID,Entry&FAuxQty,FUniDiscount;Cal,A=B*C,FEntrySelfS0175,FEntrySelfS0176' where FID = 'S01' and FFieldName = 'Fauxqty'
你去根据自己的账套去调整,不要直接复制我这段update脚本,一个action里不要存在有多个计算公式;
效果如下:算出来的值会根据物料的精度做四舍五入,我这里物料精度是0,即无小数位;所以显示的值是这个样子;
完
推荐阅读
您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!
请选择打赏金币数 *