Foxtable(狐表)用户栏目专家坐堂 → 月结问题


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

主题:月结问题

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
月结问题  发帖心情 Post By:2016/10/29 7:54:00 [只看该作者]

月结表的本月加权平均单价采用的是月加权平均法计算,截图中的本月期初金额≠上月结存金额导致月结表错误,【生成月结表】按钮代码如下,问题可能出在红色粗字,请老师指点。


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


 

DataTables("材料月结").DataRows.Clear
Dim Arys As List(Of String())
Arys = DataTables("材料明细").GetValues("月|材料分类|材料名称|型号规格","月 >= '" & e.Form.Controls("起始月").Text & "' And 月 <= '" & e.Form.Controls("截止月").Text & "' ")
For Each Ary As String() In Arys
    Dim r As Row = Tables("材料月结").AddNew
    r("月") = Ary(0)
    r("材料分类") = Ary(1)
    r("材料名称") = Ary(2)
    r("型号规格") = Ary(3)
Next
Dim dt As DataTable = DataTables("材料明细")
For Each dr As DataRow In DataTables("材料月结").DataRows
    Dim Filter As String = "材料分类 = '" & dr("材料分类") & "' and 材料名称 = '" & dr("材料名称") & "' and 型号规格 = '" & dr("型号规格") & "'"
    Dim Sum,Sum1 As Double
   
    dr("本月入仓_数量") = dt.Compute("Sum(入仓数量)",Filter & " And 月 = '" & dr("月") & "'")
    dr("本月入仓_金额") = dt.Compute("Sum(入仓金额)",Filter & " And 月 = '" & dr("月") & "'")
    dr("本月出仓_数量") = dt.Compute("Sum(出仓数量)",Filter & " And 月 = '" & dr("月") & "'")
    dr("上月结存_数量") = dt.Compute("Sum(入仓数量)",Filter & " And 月 < '" & dr("月") & "'") - dt.Compute("Sum(出仓数量)",Filter & " And 月 < '" & dr("月") & "'")
    Sum = DataTables("材料明细").Compute("Sum(入仓金额)",Filter & " And 月 < '" & dr("月") & "'")
    Sum1 = DataTables("材料明细").Compute("Sum(入仓数量)",Filter & " And 月 < '" & dr("月") & "'")
    dr("上月结存_金额") = Sum / Sum1 * dr("上月结存_数量")
    dr("本月结存_数量") = dr("上月结存_数量") + dr("本月入仓_数量") - dr("本月出仓_数量")
    dr("本月加权平均单价") = (dr("上月结存_金额") + dr("本月入仓_金额"))/(dr("上月结存_数量") + dr("本月入仓_数量"))
    dr("本月出仓_金额") = dr("本月加权平均单价") * dr("本月出仓_数量")
    dr("本月结存_金额") = dr("上月结存_金额") + dr("本月入仓_金额") - dr("本月出仓_金额")
Next

DataTables("材料月结").DeleteFor(" [材料名称] is null AND [型号规格] is null  " )
DataTables("材料月结").DeleteFor(" 上月结存_数量 = 0 AND  本月入仓_数量 is null  AND  本月出仓_数量 is null  AND  本月结存_数量 = 0  " )

[此贴子已经被作者于2016/10/29 7:55:23编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/10/29 8:48:00 [只看该作者]

dr("上月结存_金额") = Sum / Sum1 * dr("上月结存_数量")

这段代码有问题,它不是月加权平均单价。有什么方法计算上月结存_金额?


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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/29 9:41:00 [只看该作者]

业务的东西我不懂,月加权平均单价的数学公式应该是怎样的?

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/10/29 13:53:00 [只看该作者]

不好意思,上午出去办事了。本月加权平均单价=(本月期初金额 + 本月入仓金额)/(本月期初数量 + 本月入仓数量)

在上式中,本月期初金额应该等于上月结存金额

2楼的公式中计算出来的就不是本月加权平均单价,而是所有月加权平均单价


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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/29 15:04:00 [只看该作者]

本月(201609)的上月结存金额是不是等于上一个月(201608)数据的本月结存金额?还是又要通过什么公式进行计算?
[此贴子已经被作者于2016/10/29 15:04:25编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/10/30 5:10:00 [只看该作者]

应该相等,但(201608)的本月结存又与(201608)的上月结存金额有关。我想代码应该是这样的:首先按材料和月份排序,然后,对于各材料,如果是第一行,则 dr("本月结存_金额") = dr("上月结存_金额") + dr("本月入仓_金额") - dr("本月出仓_金额") ,这里上月结存_金额是期初手工录入的;以后各行的 上月结存_金额 = 上一行的月结存_金额
以上代码如何写?

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2016/10/30 9:46:00 [只看该作者]

看看流水账这一章:

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


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/10/31 8:48:00 [只看该作者]

还是没搞定,上个案例,请帮帮忙。(窗口按钮代码)

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:月结.foxdb


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/10/31 13:31:00 [只看该作者]

补充计算公式,请老师帮帮忙

月结计算(按材料和月份排序)

1 上月结存数量 = 期初数量 + 本月之前各月入仓数量合计 - 本月之前各月出仓数量合计
2 本月结存数量 = 上月结存数量 + 本月入仓数量 - 本月出仓数量
3 上月结存金额 = 上个月的本月结存金额 (对于第1行,就是该材料的期初金额)
4 本月结存金额 = 全月加权平均单价 * 本月结存数量
5 全月加权平均单价 = (上月结存金额 + 本月入仓金额) / (上月结存数量 + 本月入仓数量)
6 本月出仓金额 = 全月加权平均单价 * 本月出仓数量
最后验算 本月结存金额 = 上月结存金额 + 本月入仓金额 - 本月出仓金额) = 全月加权平均单价 * 本月结存数量


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


加好友 发短信
等级:九尾狐 帖子:2649 积分:19390 威望:0 精华:1 注册:2008/9/12 9:19:00
  发帖心情 Post By:2016/10/31 16:31:00 [只看该作者]

再顶一次

 回到顶部
总数 34 1 2 3 4 下一页