Foxtable(狐表)用户栏目专家坐堂 → [原创]请教滞纳金计算代码


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

主题:[原创]请教滞纳金计算代码

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/15 9:48:00 [显示全部帖子]

来个.Table格式的项目看看。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/16 0:43:00 [显示全部帖子]

好复杂,我没这方面的实战经验,有时间好好揣摸一下。


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/16 16:54:00 [显示全部帖子]

你的问题的确不太好理解,为便于自己理解我在第一个表增加了两列。

做的不一定对,不知道对你有没有参考价值。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目12.table


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/16 19:35:00 [显示全部帖子]

以下是引用mr725在2010-11-16 19:23:00的发言:

这个超难,C版的不知道是否正确? 因理解不同会有不同结果的,呵呵~ 

 

楼主:您给几个正确的各种情况下结果的贴图来看看。。。。

 

是的,外行人单凭一楼数语理解起来更难。

我只是凭我的领会做了下,对错不敢说。

 


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/17 9:35:00 [显示全部帖子]

楼上肯定是不对的,因为第二行数据没有加上第一次交款到第二次交款之间的第一次欠缴的滞纳金,第三行也同样没有加上。

我的也不对,我第三次交款中没有加上第一次少交款的(第一次的滞纳金只交到第二次交款日期)滞纳金。


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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/17 10:12:00 [显示全部帖子]

我改了一下,还是按自己的理解,不一定对。

 

Dim dr As DataRow = e.DataRow
Dim t,t1 As TimeSpan
Dim Val As Double
Dim pr As DataRow = dr.GetParentrow("宗地合同信息")
If pr IsNot Nothing Then
    If e.DataCol.Name = "缴款次数" AndAlso dr.IsNull("缴款次数") = False And dr("缴款次数") < 5 Then
        dr("滞纳金比例") = pr("滞纳金比例")
        dr("约定日期") = pr("缴款日期" & dr("缴款次数"))
        dr("本次应缴") = pr("缴款金额" & dr("缴款次数"))
    End If
    If e.DataCol.Name = "缴款日期" OrElse e.DataCol.Name = "缴款金额" And dr("缴款次数") < 5 Then
        If dr.IsNull("缴款日期") OrElse dr.IsNull("缴款金额") Then
            dr("应交滞纳金") = 0
        Else
            If dr("缴款次数") > 1 Then
                Dim dr1 As DataRow = e.DataTable.Find("宗地编号 = '" & dr("宗地编号") & "' And 缴款次数 = '" & dr("缴款次数")-1 & "'")
                Dim n As Double = e.DataTable.Compute("Sum(本次应缴)","[_Identify] < " & dr("_Identify"))
                Dim n1 As Double = e.DataTable.Compute("Sum(缴款金额)","[_Identify] < " & dr("_Identify"))
                If dr1 IsNot Nothing
                    t1 = dr("缴款日期") - dr1("缴款日期")
                    If dr1("本次应缴") - dr1("缴款金额") > 0 Then
                        Val = (n- n1) * dr("滞纳金比例")*t1.Days
                    End If
                End If
            End If
            t = dr("缴款日期") - dr("约定日期")
            If t.Days > 0 OrElse t1.Days > 0 Then
                If dr("本次应缴") > dr("缴款金额") Then
                    dr("应交滞纳金") = ((dr("本次应缴") - dr("缴款金额"))*dr("滞纳金比例")*t.Days) + Val
                Else
                    dr("应交滞纳金") = Val
                End If
            Else
                dr("应交滞纳金") = Val
            End If
        End If
    End If
End If

 

结果图

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图未命名.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2010-11-17 10:32:32编辑过]

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 18:17:00 [显示全部帖子]

呵呵,剃头挑子一头热。

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


加好友 发短信 一级勋章 三级勋章 二级勋章
等级:超级版主 帖子:6318 积分:33945 威望:0 精华:10 注册:2008/8/31 20:56:00
  发帖心情 Post By:2010/11/18 19:19:00 [显示全部帖子]

以下是引用mr725在2010-11-18 19:08:00的发言:

是的,挺难的,楼主无影无踪了···

 

我13楼手工计算的结果还合理吗? 其中个位的数字代表天数: 即  剩余的金额×天数×滞纳金比率

[此贴子已经被作者于2010-11-18 19:10:47编辑过]

 

哈,我也说不上到底是正确还是不正确,等楼主来回答吧。


 回到顶部