您好,请您先 登陆 或者 注册

【官方】A5进销差价中,要排除进价是零。还有进售差价率的计算列怎么写?

注意:其中的进价跟零售价都是按商品档案中的来的。
1.进销差:if(item_in_price=0,~"0~", db_data2(~"select item_sale_price- item_in_price from t_item_info where item_subno=? and item_in_price>0~",item_subno) )

2.进售差价率if(item_in_price=0,~"0~",string(db_data2(~"select left((item_sale_price- item_in_price)/item_sale_price*100,5) from t_item_info where item_subno=? and item_in_price>0~",item_subno))+~"%~")

提问者: ytkf007
等级:问不倒翁
时间:2011-09-17 16:46
悬赏:0
解决时间:2011-09-19 08:57
最佳答案
计算列的使用方法:相关单据→设置→增加新列→计算列→输入以下语句→确定。
进入表达式编辑器:相关单据设置→增加新列→计算列→计算列表达式框右边选“...”号进入表达式编辑器:
或者报表样式、商品价签、条码标签设计器中→点“+/=”按钮→右边放下该列双击该列→表达式框右边选“...”号进入表达式编辑器:

进销差价均价:
(因db_data函数取的数据显示是字符型,还要用DEC函数将字符型数据转换成数字型,才可以用string函数对数据进行格式化成两位小数的,小数太多不方便观看,所以要格式化一下)
string(Dec(db_data1('select avg(item_sale_price - item_in_price) from t_item_info where item_in_price>0 and item_sale_price>0')),'0.00')

进销差价均价率:
(这里因为百分比不可能出现100%以上的,所以只要用left函数取左边5位即可,即保留两位小数的百分比)
db_data1('select left(avg((item_sale_price - item_in_price)/item_sale_price)*100,5) from t_item_info where item_in_price>0 and item_sale_price>0')+'%'

关于DEC函数的用法看这里:
http://www.yt-pos.com/ask/question.php?id=169

更多计算列表达式:
http://www.yt-pos.com/a/fuwuyuxiazai/zaixianjishushouce/chanpinchangjian/2011/0201/76.html
回答者:李祥
等级:问不倒翁
时间:2011-09-17 16:47
您觉得最佳答案好不好?
目前有 1 个人评价
100% (1)
不好 0% (0)
对最佳答案的评论 共 1 条
我点晕
评论者:陈营
其它回答 共 5 条
在狠狠学习中。
回答者:小燕子
等级:钻石会员
时间:2011-09-17 16:47
学习了
回答者:kh359
等级:问不倒翁
时间:2011-09-17 18:25
学习了
回答者:mms
等级:金牌会员
时间:2011-09-17 18:57
领教
回答者:yxcc266
等级:银牌会员
时间:2011-09-18 12:29
学习了
回答者:kmyykj
等级:钻石会员
时间:2011-09-18 16:34
对最佳答案的评论:

评论字数200字以内
快到期问题
总积分排行
ytkf00720058 4704
kh35927124 3414
赢通技术43554 3069
bonchen13219 2797
赢通技术37615 2590
JCLH11087 1917
浅逝1873 1873
李祥19958 1542
xiaobird3309 1254
daoptt3310 1237