Foxtable(狐表)用户栏目专家坐堂 → 移动平均单价计算代码求助


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

主题:移动平均单价计算代码求助

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


加好友 发短信
等级:一尾狐 帖子:446 积分:3234 威望:0 精华:0 注册:2019/11/18 9:44:00
移动平均单价计算代码求助  发帖心情 Post By:2022/3/28 22:23:00 [显示全部帖子]

老师您好,求助一段代码,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:移动平均单价.rar


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


加好友 发短信
等级:一尾狐 帖子:446 积分:3234 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2022/3/29 8:27:00 [显示全部帖子]

老师您好。附件中有具体的公式,在文档的最后一行。谢谢。

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


加好友 发短信
等级:一尾狐 帖子:446 积分:3234 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2022/3/29 8:42:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:移动加权平均案例_202203290840.zip

老师您好,已经上传案例及公式,请您帮忙,谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:移动平均单价公式.rar


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


加好友 发短信
等级:一尾狐 帖子:446 积分:3234 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2022/3/29 11:37:00 [显示全部帖子]

比如产品SP002: 
1、本产品原有库存金额指的是:列【库存—金额】(也就是在本产品入库或者出库时,本产品上一行中的列【库存-金额】对应的值)
2、本产品原库存数量指的是:列【库存—数量】(也就是在本产品入库或者出库时,本产品上一行中的列【库存-数量】对应的值)
3、本产品本次入库金额是:当前增加行对应的列【入库—金额】
4、本产品本次入库数量是:当前增加行对应的列【入库—数量】

5、本产品本次领用前的库存单价:列【库存—单价】(也就是在本产品入库或者出库时,本产品上一行中的列【库存-单价】对应的值)

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


加好友 发短信
等级:一尾狐 帖子:446 积分:3234 威望:0 精华:0 注册:2019/11/18 9:44:00
  发帖心情 Post By:2022/3/29 13:18:00 [显示全部帖子]

' 即时库存数量计算
Select Case e.DataCol.Name
    Case "物料编号","入库_数量","出库_数量"
        Dim drs As List(of DataRow)
        Dim Filter As String
        Filter = "[_SortKey] >= " & e.DataRow("_SortKey") & " And [物料编号] = '" & e.DataRow("物料编号") & "'"
        drs = e.DataTable.Select(Filter)
        For Each dr As DataRow In drs
            Filter = "[_SortKey] <= " & dr("_SortKey") & " And [物料编号] = '" & dr("物料编号") & "'"
            Dim Val1 As Double = e.DataTable.Compute("Sum(入库_数量)",Filter)
            Dim Val2 As Double = e.DataTable.Compute("Sum(出库_数量)",Filter)
            dr("库存_数量") = Val1 - Val2
        Next
        If e.DataCol.Name = "物料编号" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
            Filter = "[_SortKey] > " & e.DataRow("_SortKey") & " And [物料编号] = '" & e.OldValue & "'"
            drs = e.DataTable.Select(Filter)
            For Each dr As DataRow In drs
                Filter = "[_SortKey] <= " & dr("_SortKey") & " And [物料编号] = '" & dr("物料编号") & "'"
                Dim Val1 As Double = e.DataTable.Compute("Sum(入库_数量)",Filter)
                Dim Val2 As Double = e.DataTable.Compute("Sum(出库_数量)",Filter)
                dr("库存_数量") = Val1 - Val2
            Next
        End If
End Select

这个数量我调出来了,但是单价的代码我没调出来。麻烦老师给添加一下单价部分代码图片点击可在新窗口打开查看

 回到顶部