Foxtable(狐表)用户栏目专家坐堂 → 关于工期时间逻辑计算


  共有2897人关注过本帖树形打印复制链接

主题:关于工期时间逻辑计算

帅哥哟,离线,有人找我吗?
ideaplayer
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:51 积分:674 威望:0 精华:0 注册:2019/4/3 21:28:00
关于工期时间逻辑计算  发帖心情 Post By:2019/7/16 0:18:00 [只看该作者]

如附件图片所示, “签约日期”,“工期”,“实际发货日期”这三列手动填写,请问其他几项如何实现自动计算填写。其中发货状态仅有两个状态:已发货和未发货。

代码怎么写?
代码放在哪个位置?

以上谢谢。
图片点击可在新窗口打开查看此主题相关图片如下:1563207318.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/16 8:47:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
ideaplayer
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:51 积分:674 威望:0 精华:0 注册:2019/4/3 21:28:00
  发帖心情 Post By:2019/7/16 17:17:00 [只看该作者]

还请帮看看有什么问题,前半部分可以执行,后半部分没有执行的效果。什么原因,谢谢。

Dim dc As DataCol = e.DataCol
Dim dr As DataRow = e.DataRow
If dc.Name = "预付款_日期" OrElse dc.Name = "工期" Then
    If dr.IsNull("预付款_日期") OrElse dr.IsNull("工期") Then
        dr("合同发货日期") = Nothing
    Else
        dr("合同发货日期") = dr("预付款_日期").AddDays(dr("工期"))
    End If
End If

Select Case e.DataCol.Name
    Case "预付款_日期","实际发货日期"
        Dim dr2 As DataRow = e.DataRow
        If dr2.IsNull("预付款_日期") OrElse dr2.IsNull("实际发货日期") Then
            dr2("实际交期") = Nothing
        Else
            Dim tp As TimeSpan = dr2("实际发货日期") - dr2("预付款_日期") 
            dr2("实际交期") = tp.TotalDays
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/16 17:26:00 [只看该作者]

看看:http://www.foxtable.com/webhelp/topics/1517.htm

Dim tp As TimeSpan = cdate(dr2("实际发货日期") )- cdate(dr2("预付款_日期") )

 回到顶部
帅哥哟,离线,有人找我吗?
ideaplayer
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:51 积分:674 威望:0 精华:0 注册:2019/4/3 21:28:00
  发帖心情 Post By:2019/7/16 17:33:00 [只看该作者]

另外想增加一个条件判断。
如果时间列“实际发货时日期”为空,则“发货状态”为未发货,反之为已发货。

帮助文件以及看了,但是还是整不出来。

还请帮忙别写上面的时间计算及发货状态标记的全部语句,万分感谢。


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109720 积分:558310 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/7/16 20:12:00 [只看该作者]

Select Case e.DataCol.Name
    Case "预付款_日期","实际发货日期"
        Dim dr2 As DataRow = e.DataRow
        If dr2.IsNull("预付款_日期") OrElse dr2.IsNull("实际发货日期") Then
            dr2("实际交期") = Nothing
        Else
            Dim tp As TimeSpan = cdate(dr2("实际发货日期") )- cdate(dr2("预付款_日期") )
            dr2("实际交期") = tp.TotalDays
        End If
End Select
Select Case e.DataCol.Name
    Case "实际发货日期"
        If e.DataRow.IsNull("实际发货日期") Then
            e.DataRow("发货状态") = "未发货"
        Else
            e.DataRow("发货状态") = "已发货"
        End If
End Select

 回到顶部
帅哥哟,离线,有人找我吗?
ideaplayer
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:51 积分:674 威望:0 精华:0 注册:2019/4/3 21:28:00
  发帖心情 Post By:2019/7/17 0:56:00 [只看该作者]

太感谢了


 回到顶部