Foxtable(狐表)用户栏目专家坐堂 → 固定资产累计折旧


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

主题:固定资产累计折旧

美女呀,离线,留言给我吧!
nuoyan89
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:2850 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2021/2/21 22:05:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:2850 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/5/18 13:21:00 [只看该作者]

老师,如图,我的投入使用日期为2022-04-07,截止到今天应该是1年1个多月了,那我的年折旧额应该跳到第二年的档的,但现在还在第一年,另:当nx到第四年时,年折旧额等于((yz - sum) -e.DataRow("残值"))/2
,第五年的年折旧额等于第四年的年折旧额,大于5年的年折旧额等于残值,请帮忙看看,谢谢!代码如下:

Dim nx As Integer  = (Date.Today.Year - e.DataRow("投入使用日期").Year)
If nx <= 1  Then
    e.DataRow("年折旧额") = e.DataRow("设备原值") * (2/5)
Else
    Dim i As Integer = 1
    Dim sum As Double = 0
    Dim yz As Double = e.DataRow("设备原值")
    Dim k As Double
    Do While i <= nx
        If i <= 3 Then
            k =  (yz - sum) * (2/5)
        ElseIf i > 3 And i <= 4 Then
            k = ((yz - sum) -e.DataRow("残值"))/2
        Else
            k =  e.DataRow("残值") 
        End If
        sum += k
        i += 1
    Loop
    e.DataRow("年折旧额") = k
End If


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2022/5/18 13:31:49编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105935 积分:538744 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/18 13:46:00 [只看该作者]

确定2022-04-07,截止到今天应该是1年1个多月?今年是2023年?莫非穿越了!

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:2850 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/5/18 13:49:00 [只看该作者]

是蓝色圈起来的那个,2022-04-07这个是电子表格的,并系统里的没有关系,系统里的是对的

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105935 积分:538744 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/18 14:10:00 [只看该作者]

按年份直接减肯定就是第一年了,应该使用这个:http://www.foxtable.com/webhelp/topics/0287.htm

Dim nx As Integer  = (Date.Today.Year - e.DataRow("投入使用日期").Year)
msgbox(nx)
If nx <= 1  Then

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:2850 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/5/18 21:10:00 [只看该作者]

老师,结果是1年,但实际结果应该是1年1个多月。是哪里设置有问题吗?

图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105935 积分:538744 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/19 8:34:00 [只看该作者]

看15楼帮助:http://www.foxtable.com/webhelp/topics/0287.htm

Dim t As TimeSpan = Date.Today- cdate(e.DataRow("投入使用日期"))
Dim nx As Integer  = t.TotalDays / 365.2422
[此贴子已经被作者于2022/5/19 8:36:53编辑过]

 回到顶部
美女呀,离线,留言给我吧!
nuoyan89
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:409 积分:2850 威望:0 精华:0 注册:2020/10/9 8:45:00
  发帖心情 Post By:2022/5/19 11:12:00 [只看该作者]

老师,还是需要帮忙看看,不知道咋改了。如图的,现在1年2个月了,年折旧应该是第二年的,但现在还是在第一年
Dim t As TimeSpan = Date.Today - cdate(e.DataRow("投入使用日期"))
Dim nx As Integer  = t.TotalDays / 365.2422
If nx <= 1  Then
    e.DataRow("年折旧额") = e.DataRow("设备原值") * (2/5)
Else
    Dim i As Integer = 1
    Dim sum As Double = 0
    Dim yz As Double = e.DataRow("设备原值")
    Dim k As Double
    Do While i <= nx
        If i <= 3 Then
            k =  (yz - sum) * (2/5)
        ElseIf i > 3 And i <= 4 Then
            k = ((yz - sum) -e.DataRow("残值"))/2
        ElseIf i > 4 And i < 5 Then
            Dim k1 As Double = k
            k1= k
        Else
            k =  e.DataRow("残值")
        End If
        sum += k
        i += 1
    Loop
    e.DataRow("年折旧额") = k
End If


图片点击可在新窗口打开查看此主题相关图片如下:1.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥,在线噢!
有点蓝
  19楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105935 积分:538744 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/19 11:25:00 [只看该作者]

Dim nx As double= t.TotalDays / 365.2422

 回到顶部
总数 19 上一页 1 2