|
发表于 2012-11-30 14:15:19
|
显示全部楼层
为何要收费呢??因为小弟穷,打字也要费时间好歹也得赚点幸苦费吧....
下面是小弟最近实施碰到的问题,板砖要轻点拍啊....
案例: 计算 考勤夜班次数 (U890).标准的功能中是没有计算夜班次数,那么如何实现呢?
1.首先在考勤项目中的考勤日结果,考勤月结果中增加项目:夜班次数 数据类型 整型
2.定义算法
2.1 在考勤日结果中定义算法:目标字段:夜班次数 ,公式内容: 如果 考勤日结果.班次类别= 'AS01' 那么 1 否则 0 结束
注:很多朋友应该会这样的操作,但是系统会提示说 数据类型不匹配,那怎么办呢? 按照我下面的方法即可实现
"如果 考勤日结果.班次类别= 'AS01' 那么 (1) 否则 (0) 结束"
2.2 定义好了日结果算法后,肯定要定义考勤月结果了,用大家期待的方法先做下定义:
在考勤月结果汇总中定义算法:目标字段: 夜班次数 公式内容: sum(考勤日结果.夜班次数)
定义好了,我们是不是就开始测试了.....
2.3 都定义好了,我们就开始测试吧:
考勤计算,考勤日结果正常.
月考勤汇总,目前来说,我还没有成功,但是我已经找出了U890的BUG了..
下面贴上我根据U890汇总的这个语句查出的问题:
昨天 21:01 上传下载附件 (18.63 KB)
这个是原始跟踪的数据,相信有数据库基础的朋友很快就看出了作者的思路了.
我大致说下:就是把 夜班次数 的计算结果插入到临时表,然后再做更新,最后删除临时表.
既然思路大家都知道了.
那么我们是不是要判断他查询的数据是否有问题呢??
首先我将部分临时表替换成实体表,然后把group by 语句去掉.
昨天 21:10 上传下载附件 (14.25 KB)
结果,吓一跳...原来这语句有问题,为何这么说呢??还是那句话,懂数据库的同志已经看出来了..
那么我们来核对下吧....查询下日结果本该有的记录.
昨天 21:23 上传下载附件 (17.93 KB)
select count(*) from hr_tm_dayResult where cpsn_num= '1036'
尼玛,30条啊...这不坑爹吗???
唉...看来要找用友去汇报bug了....
此bug应该有很多同志碰到了...小弟就献丑了....各位别笑啊...
觉得对自己有帮助的就顶贴吧.....
您的回帖是我的动力,以后发更多好的帖子出来给大伙学习..
|
|