Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
这段代码执行时,只能计算出勤1,双休轮休1不能计算,求助修改。
'出勤代码
If e.DataRow("确认考勤")=True Then
Dim chuqin As Decimal
If e.DataRow("班组") = "27保安" Then
chuqin=Math.Floor(((e.DataRow("第一周_一") + e.DataRow("第一周_二") + e.DataRow("第一周_三") + e.DataRow("第一周_四") + e.DataRow("第一周_五") + e.DataRow("第一周_六") + e.DataRow("第一周_日") + e.DataRow("第二周_一") + e.DataRow("第二周_二") + e.DataRow("第二周_三") + e.DataRow("第二周_四") + e.DataRow("第二周_五") + e.DataRow("第二周_六") + e.DataRow("第二周_日") + e.DataRow("第三周_一") + e.DataRow("第三周_二") + e.DataRow("第三周_三") + e.DataRow("第三周_四") + e.DataRow("第三周_五") + e.DataRow("第三周_六") + e.DataRow("第三周_日") + e.DataRow("第四周_一") + e.DataRow("第四周_二") + e.DataRow("第四周_三") + e.DataRow("第四周_四") + e.DataRow("第四周_五")+ e.DataRow("第四周_六") + e.DataRow("第四周_日") + e.DataRow("第五周_一") + e.DataRow("第五周_二") + e.DataRow("第五周_三") + e.DataRow("第五周_四") + e.DataRow("第五周_五") + e.DataRow("第五周_六") + e.DataRow("第五周_日"))/8+e.DataRow("调休") + e.DataRow("年休假"))*100+0.5)/100
Else
Dim fadingchuqin As Decimal=Tables("法定出勤").Compute("Sum(出勤天数)", "日期='" & e.DataRow("考勤日期") & "'")
chuqin = Math.Floor((fadingchuqin-(e.DataRow("第一周_一") + e.DataRow("第一周_二") + e.DataRow("第一周_三") + e.DataRow("第一周_四") + e.DataRow("第一周_五") + e.DataRow("第一周_六") + e.DataRow("第一周_日") + e.DataRow("第二周_一") + e.DataRow("第二周_二") + e.DataRow("第二周_三") + e.DataRow("第二周_四") + e.DataRow("第二周_五") + e.DataRow("第二周_六") + e.DataRow("第二周_日") + e.DataRow("第三周_一") + e.DataRow("第三周_二") + e.DataRow("第三周_三") + e.DataRow("第三周_四") + e.DataRow("第三周_五") + e.DataRow("第三周_六") + e.DataRow("第三周_日") + e.DataRow("第四周_一") + e.DataRow("第四周_二") + e.DataRow("第四周_三") + e.DataRow("第四周_四") + e.DataRow("第四周_五")+ e.DataRow("第四周_六") + e.DataRow("第四周_日") + e.DataRow("第五周_一") + e.DataRow("第五周_二") + e.DataRow("第五周_三") + e.DataRow("第五周_四") + e.DataRow("第五周_五") + e.DataRow("第五周_六") + e.DataRow("第五周_日"))/8+ e.DataRow("调休") + e.DataRow("年休假"))*100+0.5) / 100
End If
e.DataRow("出勤1")=chuqin
Dim shuangxiulunxiu As Decimal=e.DataRow("双休轮休1")
If (e.DataRow("第一周加班_六")+e.DataRow("第一周加班_日")+ e.DataRow("第二周加班_六")+e.DataRow("第二周加班_日")+e.DataRow("第三周加班_六")+e.DataRow("第三周加班_日")+e.DataRow("第四周加班_六")+e.DataRow("第四周加班_日")+e.DataRow("第五周加班_六")+e.DataRow("第五周加班_日"))/8+ e.DataRow("节日加班1")>4 Then
shuangxiulunxiu = Math.Floor((e.DataRow("第一周加班_六")+e.DataRow("第一周加班_日")+ e.DataRow("第二周加班_六")+e.DataRow("第二周加班_日")+e.DataRow("第三周加班_六")+e.DataRow("第三周加班_日")+e.DataRow("第四周加班_六")+e.DataRow("第四周加班_日")+e.DataRow("第五周加班_六")+e.DataRow("第五周加班_日"))/8 - e.DataRow("双休加班1")*100+0.5) / 100
End If
End If
If e.DataRow("确认考勤")<>True Then
e.DataRow("出勤1")=Nothing
End If
蒙一下:
Dim r As DataRow = e.DataRow
If r("确认考勤")=True Then
Dim chuqin As Decimal
If r("班组") = "27保安" Then
chuqin=Math.Floor(((r("第一周_一") + r("第一周_二") + r("第一周_三") + r("第一周_四") + r("第一周_五") + r("第一周_六") + r("第一周_日") + r("第二周_一") + r("第二周_二") + r("第二周_三") + r("第二周_四") + r("第二周_五") + r("第二周_六") + r("第二周_日") + r("第三周_一") + r("第三周_二") + r("第三周_三") + r("第三周_四") + r("第三周_五") + r("第三周_六") + r("第三周_日") + r("第四周_一") + r("第四周_二") + r("第四周_三") + r("第四周_四") + r("第四周_五")+ r("第四周_六") + r("第四周_日") + r("第五周_一") + r("第五周_二") + r("第五周_三") + r("第五周_四") + r("第五周_五") + r("第五周_六") + r("第五周_日"))/8+r("调休") + r("年休假"))*100+0.5)/100
Else
Dim fadingchuqin As Decimal=Tables("法定出勤").Compute("Sum(出勤天数)", "日期='" & r("考勤日期") & "'")
chuqin = Math.Floor((fadingchuqin-(r("第一周_一") + r("第一周_二") + r("第一周_三") + r("第一周_四") + r("第一周_五") + r("第一周_六") + r("第一周_日") + r("第二周_一") + r("第二周_二") + r("第二周_三") + r("第二周_四") + r("第二周_五") + r("第二周_六") + r("第二周_日") + r("第三周_一") + r("第三周_二") + r("第三周_三") + r("第三周_四") + r("第三周_五") + r("第三周_六") + r("第三周_日") + r("第四周_一") + r("第四周_二") + r("第四周_三") + r("第四周_四") + r("第四周_五")+ r("第四周_六") + r("第四周_日") + r("第五周_一") + r("第五周_二") + r("第五周_三") + r("第五周_四") + r("第五周_五") + r("第五周_六") + r("第五周_日"))/8+ r("调休") + r("年休假"))*100+0.5) / 100
End If
r("出勤1")=chuqin
If (r("第一周加班_六")+r("第一周加班_日")+ r("第二周加班_六")+r("第二周加班_日")+r("第三周加班_六")+r("第三周加班_日")+r("第四周加班_六")+r("第四周加班_日")+r("第五周加班_六")+r("第五周加班_日"))/8+ r("节日加班1")>4 Then
r("双休轮休1") = Math.Floor((r("第一周加班_六")+r("第一周加班_日")+ r("第二周加班_六")+r("第二周加班_日")+r("第三周加班_六")+r("第三周加班_日")+r("第四周加班_六")+r("第四周加班_日")+r("第五周加班_六")+r("第五周加班_日"))/8 - r("双休加班1")*100+0.5) / 100
End If
End If
If r("确认考勤")<>True Then
r("出勤1")=Nothing
End If
还请高手帮助,代码执行时退出系统。
Dim r As DataRow = e.DataRow
If r("确认考勤")=True Then
Dim chuqin As Decimal
If r("班组") = "27保安" Then
chuqin=Math.Floor(((r("第一周_一") + r("第一周_二") + r("第一周_三") + r("第一周_四") + r("第一周_五") + r("第一周_六") + r("第一周_日") + r("第二周_一") + r("第二周_二") + r("第二周_三") + r("第二周_四") + r("第二周_五") + r("第二周_六") + r("第二周_日") + r("第三周_一") + r("第三周_二") + r("第三周_三") + r("第三周_四") + r("第三周_五") + r("第三周_六") + r("第三周_日") + r("第四周_一") + r("第四周_二") + r("第四周_三") + r("第四周_四") + r("第四周_五")+ r("第四周_六") + r("第四周_日") + r("第五周_一") + r("第五周_二") + r("第五周_三") + r("第五周_四") + r("第五周_五") + r("第五周_六") + r("第五周_日"))/8+r("调休") + r("年休假"))*1000+0.5)/1000
Else
Dim fadingchuqin As Decimal=Tables("法定出勤").Compute("Sum(出勤天数)", "日期='" & r("考勤日期") & "'")
chuqin = Math.Floor((fadingchuqin-(r("第一周_一") + r("第一周_二") + r("第一周_三") + r("第一周_四") + r("第一周_五") + r("第一周_六") + r("第一周_日") + r("第二周_一") + r("第二周_二") + r("第二周_三") + r("第二周_四") + r("第二周_五") + r("第二周_六") + r("第二周_日") + r("第三周_一") + r("第三周_二") + r("第三周_三") + r("第三周_四") + r("第三周_五") + r("第三周_六") + r("第三周_日") + r("第四周_一") + r("第四周_二") + r("第四周_三") + r("第四周_四") + r("第四周_五")+ r("第四周_六") + r("第四周_日") + r("第五周_一") + r("第五周_二") + r("第五周_三") + r("第五周_四") + r("第五周_五") + r("第五周_六") + r("第五周_日"))/8+ r("调休") + r("年休假"))*1000+0.5) / 1000
End If
r("出勤1")=chuqin
'计算双休
If (r("第一周加班_六")+r("第一周加班_日")+ r("第二周加班_六")+r("第二周加班_日")+r("第三周加班_六")+r("第三周加班_日")+r("第四周加班_六")+r("第四周加班_日")+r("第五周加班_六")+r("第五周加班_日"))/8+ r("节日加班1")<4 Then
r("双休加班1") = Math.Floor(((r("第一周加班_六")+r("第一周加班_日")+ r("第二周加班_六")+r("第二周加班_日")+r("第三周加班_六")+r("第三周加班_日")+r("第四周加班_六")+r("第四周加班_日")+r("第五周加班_六")+r("第五周加班_日"))/8 )*1000+0.5) / 1000
Else
r("双休加班1") = Math.Floor(((r("第一周加班_六")+r("第一周加班_日")+ r("第二周加班_六")+r("第二周加班_日")+r("第三周加班_六")+r("第三周加班_日")+r("第四周加班_六")+r("第四周加班_日")+r("第五周加班_六")+r("第五周加班_日"))/8 - r("节日加班1"))*1000+0.5) / 1000
End If
If (r("第一周加班_六")+r("第一周加班_日")+ r("第二周加班_六")+r("第二周加班_日")+r("第三周加班_六")+r("第三周加班_日")+r("第四周加班_六")+r("第四周加班_日")+r("第五周加班_六")+r("第五周加班_日"))/8+ r("节日加班1")>4 Then
r("双休轮休1") = Math.Floor(((r("第一周加班_六")+r("第一周加班_日")+ r("第二周加班_六")+r("第二周加班_日")+r("第三周加班_六")+r("第三周加班_日")+r("第四周加班_六")+r("第四周加班_日")+r("第五周加班_六")+r("第五周加班_日"))/8 - r("双休加班1"))*1000+0.5) / 1000
End If
'计算平时加班
If (r("第一周加班_一")+r("第一周加班_二")+r("第一周加班_三")+r("第二周加班_一")+r("第二周加班_二")+r("第二周加班_三")+r("第二周加班_四")+r("第二周加班_五")+r("第三周加班_一")+r("第三周加班_二")+r("第三周加班_三")+r("第三周加班_四")+r("第三周加班_五")+r("第四周加班_一")+r("第四周加班_二")+r("第四周加班_三")+r("第四周加班_四")+r("第四周加班_五")+r("第五周加班_一")+r("第五周加班_二")+r("第五周加班_三")+r("第五周加班_四")+r("第五周加班_五"))/8 <=0 Then
r("平时加班1") = Nothing
End If
If (r("节日加班1")+r("双休加班1"))>= 4 Then
r("平时加班1") = Nothing
End If
If (r("第一周加班_一")+r("第一周加班_二")+r("第一周加班_三")+r("第二周加班_一")+r("第二周加班_二")+r("第二周加班_三")+r("第二周加班_四")+r("第二周加班_五")+r("第三周加班_一")+r("第三周加班_二")+r("第三周加班_三")+r("第三周加班_四")+r("第三周加班_五")+r("第四周加班_一")+r("第四周加班_二")+r("第四周加班_三")+r("第四周加班_四")+r("第四周加班_五")+r("第五周加班_一")+r("第五周加班_二")+r("第五周加班_三")+r("第五周加班_四")+r("第五周加班_五"))/8 <4 Then
r("平时加班1") = Math.Floor(((r("第一周加班_六")+r("第一周加班_日")+ r("第二周加班_六")+r("第二周加班_日")+r("第三周加班_六")+r("第三周加班_日")+r("第四周加班_六")+r("第四周加班_日")+r("第五周加班_六")+r("第五周加班_日"))/8+r("双休轮休1") )*1000+0.5) / 1000
Else
r("平时加班1") = Math.Floor((4- r("双休加班1") - r("节日加班1"))*1000+0.5) / 1000
End If
'计算平时轮休
If (r("平时加班1")+r("节日加班1")+r("双休加班1")+r("双休轮休1"))<=4 Then
r("平时轮休1")= Nothing
Else
r("平时轮休1") = Math.Floor(((r("第一周加班_六")+r("第一周加班_日")+ r("第二周加班_六")+r("第二周加班_日")+r("第三周加班_六")+r("第三周加班_日")+r("第四周加班_六")+r("第四周加班_日")+r("第五周加班_六")+r("第五周加班_日"))/8 - r("平时加班1"))*1000+0.5) / 1000
End If
End If
If r("确认考勤")<>True Then
r("出勤1")=Nothing
End If