以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求计算工资代码方法 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83261) |
||||
-- 作者:ouyangfenghuan -- 发布时间:2016/4/5 15:52:00 -- 求计算工资代码方法 刚接触,复杂点点的代码不会写了,上头急要.求帮助. 项目有个"员工工资表" 要求根据 "员工资料表"中的员工的(部门)和(职位) 自动按生产日报表的当日产值 计算每位员工每日工资. 如第1张图
具体逻辑如下: 1.计算出每人每日累计产值; 2,当日提成=当日产值*当日比例; 3当日部门剩余产值总和默认全分给部门组长当剩余提成,可以手动分给操作员或技术员,相应组长剩余提成减少; 4当日工资=提成+剩余提成-扣餐-其它罚款+其它奖励 此主题相关图片如下:1.png 此主题相关图片如下:2.png [此贴子已经被作者于2016/4/5 18:19:33编辑过]
|
||||
-- 作者:大红袍 -- 发布时间:2016/4/5 16:22:00 -- 请上传具体foxtable例子,说明计算逻辑。 |
||||
-- 作者:ouyangfenghuan -- 发布时间:2016/4/5 16:55:00 -- 已编辑,请老师帮忙 |
||||
-- 作者:大红袍 -- 发布时间:2016/4/5 17:27:00 -- 请上传foxtable项目。 |
||||
-- 作者:ouyangfenghuan -- 发布时间:2016/4/5 18:22:00 -- 是整个文件夹 还是 订单生产.foxdb |
||||
-- 作者:大红袍 -- 发布时间:2016/4/5 20:15:00 -- 密码贴出来。 |
||||
-- 作者:ouyangfenghuan -- 发布时间:2016/4/5 21:02:00 -- 2732 |
||||
-- 作者:大红袍 -- 发布时间:2016/4/5 21:42:00 -- 你还要把数据库上传上来。 |
||||
-- 作者:ouyangfenghuan -- 发布时间:2016/4/6 14:22:00 -- 请帮看下代码,如何避免计算2次 Select Case e.DataCol.name \'计算剩余产值到组长剩余提成 Case "剩余产值","剩余提成" Dim cnt As Double \'计算汇总每部门每人每日剩余产值 cnt = DataTables("员工工资表").Compute("Sum([剩余产值])", "[部门] = \'" & e.DataRow("部门") & "\' and [日期] = \'" & e.DataRow("日期") & "\'") Dim cnt1 As Double \'计算汇总剩余手工分配提成 cnt1 = DataTables("员工工资表").Compute("Sum([剩余提成])", "[职位] <> \'组长\' And [部门] = \'" & e.DataRow("部门") & "\' and [日期] = \'" & e.DataRow("日期") & "\'") Dim dr As DataRow \'结算填写到组长剩余提成 Dim Filter11 As String Filter11 = "[职位] = \'组长\' And [部门] = \'" & e.DataRow("部门") & "\' and [日期] = \'" & e.DataRow("日期") & "\'" dr = DataTables("员工工资表").Find(Filter11 ) If dr IsNot Nothing Then \'如果找到 dr("剩余提成")=cnt-cnt1 Else \'如果没找到就新建一行 Dim dr1 As DataRow \' Dim Filter12 As String Filter12 = "[职位] = \'组长\' And [部门] = \'" & e.DataRow("部门") & "\'" dr1 = DataTables("员工资料表").Find(Filter12 ) \'到员工表找相应组长名字 If dr1 IsNot Nothing Then \'如果找到 dr = DataTables("员工工资表").AddNew() dr("姓名") = DR1("姓名") dr("日期") = e.DataRow("日期") dr("剩余提成")=cnt-cnt1 End If End If End Select |
||||
-- 作者:大红袍 -- 发布时间:2016/4/6 15:03:00 -- Select Case e.DataCol.name \'计算剩余产值到组长剩余提成
Case "剩余产值","剩余提成"
If e.DataRow.IsNull("剩余产值") = False AndAlso e.DataRow.IsNull("剩余提成") = False Then
End If
|