以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]请问专家:如何强制刷新计算教龄津贴?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=115873)

--  作者:evolymft
--  发布时间:2018/3/15 21:02:00
--  [求助]请问专家:如何强制刷新计算教龄津贴?

如何在启动时,强制刷新计算教龄津贴?

根据参工时间,算出教龄,再根据教龄计算教贴。在项目AFTEROPENPROJECT中强制刷新哪一个?谢谢。


--  作者:有点甜
--  发布时间:2018/3/15 22:18:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/2647.htm

 

http://www.foxtable.com/webhelp/scr/1587.htm

 


--  作者:evolymft
--  发布时间:2018/3/16 10:18:00
--  

谢谢老师。已根据参工时间,用代码算出了工龄,再用代码根据工龄计算教贴。1算2再算3,在项目AFTEROPENPROJECT中强制刷新参工时间、工龄还是没出结果?谢谢。



--  作者:有点甜
--  发布时间:2018/3/16 10:20:00
--  
以下是引用evolymft在2018/3/16 10:18:00的发言:

谢谢老师。已根据参工时间,用代码算出了工龄,再用代码根据工龄计算教贴。1算2再算3,在项目AFTEROPENPROJECT中强制刷新参工时间、工龄还是没出结果?谢谢。


 

不可能,上传实例说明。


--  作者:evolymft
--  发布时间:2018/3/26 17:46:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.zip


实例已上传,请老师指点,谢谢。

--  作者:有点甜
--  发布时间:2018/3/26 17:59:00
--  

DataColChanged事件

 

Select Case e.DataCol.name   \'算工龄
    Case "参工时间"
        If e.DataRow.IsNull("参工时间") Then
            e.DataRow("工龄") = Nothing
        Else
            Dim y As Integer = Date.Today.year
            Dim dt1 As new Date(y,1,1)    \'当前日期这一年的第1天
            Dim tp As TimeSpan = dt1 - CDate(e.DataRow("参工时间"))
            e.DataRow("工龄") = Math.Round(tp.TotalDays / 365.2422,2)
        End If
End Select
Select Case e.DataCol.name   \'算教贴
    Case "参工时间", "工龄"
        If e.DataRow.IsNull("工龄")  Then
            e.DataRow("教贴") = Nothing
        ElseIf e.DataRow("工龄") >= 21 Then  \'要达到满5,10,15,20之后,才调教贴,所以工龄都多加一年.
            e.DataRow("教贴") = 10
        ElseIf e.DataRow("工龄") >= 16 Then
            e.DataRow("教贴") = 7
        ElseIf e.DataRow("工龄") >= 11 Then
            e.DataRow("教贴") = 5
        ElseIf e.DataRow("工龄") >= 6 Then
            e.DataRow("教贴") = 3
        Else
            e.DataRow("教贴") = Nothing
        End If
End Select


--  作者:evolymft
--  发布时间:2018/3/26 18:05:00
--  
谢谢老师