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


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

主题:固定资产累计折旧

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/20 9:23:00 [显示全部帖子]

Dim nx As Integer  = (Date.Today.Year - e.DataRow("投入使用日期").Year)
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 < 4 Then
        k =  (yz - sum) * (1.0-0.85)
    ElseIf i >= 4 And i <= 7 Then
        k =  (yz - sum) * (1.0-0.9)
    Else
        k =  (yz - sum) * (1.0-0.95)
    End If
    sum += k
    i += 1
Loop

e.DataRow("年折旧额") = k


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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/20 11:15:00 [显示全部帖子]

Dim nx As Integer  = (Date.Today.Year - e.DataRow("投入使用日期").Year)
msgbox(nx)显示什么

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/20 11:48:00 [显示全部帖子]

如果0是第一年

Dim i As Integer = 0

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/2/21 21:32:00 [显示全部帖子]

0单独处理

Dim nx As Integer  = (Date.Today.Year - e.DataRow("投入使用日期").Year)
if nx = 0 then
e.DataRow("年折旧额") = e.DataRow("设备原值") * (1.0-0.85)
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 < 4 Then
        k =  (yz - sum) * (1.0-0.85)
    ElseIf i >= 4 And i <= 7 Then
        k =  (yz - sum) * (1.0-0.9)
    Else
        k =  (yz - sum) * (1.0-0.95)
    End If
    sum += k
    i += 1
Loop

e.DataRow("年折旧额") = k
endif

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/18 13:46:00 [显示全部帖子]

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

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望: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

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望: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编辑过]

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


加好友 发短信
等级:超级版主 帖子:106207 积分:540158 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/19 11:25:00 [显示全部帖子]

Dim nx As double= t.TotalDays / 365.2422

 回到顶部