Foxtable(狐表)用户栏目专家坐堂 → 库存调拨


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

主题:库存调拨

帅哥,在线噢!
有点蓝
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107793 积分:548316 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/9 11:13:00 [只看该作者]

贴出你的代码和出现的问题

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2017/3/9 11:40:00 [只看该作者]

Select Case e.DataCol.name
    Case "商品编号","初始数据"
        e.DataRow("库存_仓库") = e.DataRow("库存_仓库")
        e.DataRow("库存_店铺") = e.DataRow("库存_店铺")
        e.DataRow("库存_缓冲") = e.DataRow("库存_缓冲")
        If e.DataRow.IsNull("商品编号") = False Then
            Dim sum7 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调入仓库 = '仓库' and 商品编号 = '" & e.DataRow("商品编号") & "'")
            Dim sum8 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调出仓库 = '仓库' and 商品编号 = '" & e.DataRow("商品编号") & "'")
                 e.DataRow("库存_仓库") = 0 + DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" & e.DataRow("商品编号") & "'and 仓库='仓库'") - DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='仓库'") + DataTables("退货信息").Compute("sum(退货数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='仓库'") + sum7 - sum8
                 e.DataRow("库存_店铺") = 0 + DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" & e.DataRow("商品编号") & "'and 仓库='店铺'") - DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='店铺'") + DataTables("退货信息").Compute("sum(退货数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='店铺'") + sum7 - sum8
                 e.DataRow("库存_缓冲") = 0 + DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" & e.DataRow("商品编号") & "'and 仓库='缓冲'") - DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='缓冲'") + DataTables("退货信息").Compute("sum(退货数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='缓冲'") + sum7 - sum8
                 e.DataRow("累计_总出库") = DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'")
                e.DataRow("累计_总入库") = DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" &e.DataRow("商品编号") & "'")
                 e.DataRow("库存数量") = e.DataRow("初始数据") + e.DataRow("库存_仓库") + e.DataRow("库存_店铺") + e.DataRow("库存_缓冲")
            End If
End Select

现在的问题是:“库存调拨”表里面的数据发生变化后,“商品中心”表里面的 库存_仓库 库存_店铺 库存_缓冲 三列数据都发生变化,而不是只是“库存调拨”表指定的调出仓库及调入仓库数据发生变化


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


加好友 发短信
等级:超级版主 帖子:107793 积分:548316 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/9 11:47:00 [只看该作者]

贴出“库存调拨”相关事件代码

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2017/3/9 11:57:00 [只看该作者]

 DataColChanged        DataTables("商品中心").DataCols("商品编号").RaiseDataColChanged("商品编号 = '" &e.DataRow("商品编号") & "'")

DataRowDeleting       e.DataRow("调拨数量") = 0


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


加好友 发短信
等级:超级版主 帖子:107793 积分:548316 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/9 12:05:00 [只看该作者]

Select Case e.DataCol.name
    Case "商品编号","初始数据"
        e.DataRow("库存_仓库") = e.DataRow("库存_仓库")
        e.DataRow("库存_店铺") = e.DataRow("库存_店铺")
        e.DataRow("库存_缓冲") = e.DataRow("库存_缓冲")
        If e.DataRow.IsNull("商品编号") = False Then
            Dim sum7 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调入仓库 = '仓库' and 商品编号 = '" & e.DataRow("商品编号") & "'")
            Dim sum8 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调出仓库 = '仓库' and 商品编号 = '" & e.DataRow("商品编号") & "'")
            e.DataRow("库存_仓库") = 0 + DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" & e.DataRow("商品编号") & "'and 仓库='仓库'") - DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='仓库'") + DataTables("退货信息").Compute("sum(退货数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='仓库'") + sum7 - sum8
            
            
            Dim sum10 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调入仓库 = '店铺' and 商品编号 = '" & e.DataRow("商品编号") & "'")
            Dim sum11 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调出仓库 = '店铺' and 商品编号 = '" & e.DataRow("商品编号") & "'")
            e.DataRow("库存_店铺") = 0 + DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" & e.DataRow("商品编号") & "'and 仓库='店铺'") - DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='店铺'") + DataTables("退货信息").Compute("sum(退货数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='店铺'") + sum10 - sum11
            
            
            Dim sum15 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调入仓库 = '缓冲' and 商品编号 = '" & e.DataRow("商品编号") & "'")
            Dim sum16 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调出仓库 = '缓冲' and 商品编号 = '" & e.DataRow("商品编号") & "'")
            
            e.DataRow("库存_缓冲") = 0 + DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" & e.DataRow("商品编号") & "'and 仓库='缓冲'") - DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='缓冲'") + DataTables("退货信息").Compute("sum(退货数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='缓冲'") + sum15 - sum16
            e.DataRow("累计_总出库") = DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'")
            e.DataRow("累计_总入库") = DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" &e.DataRow("商品编号") & "'")
            e.DataRow("库存数量") = e.DataRow("初始数据") + e.DataRow("库存_仓库") + e.DataRow("库存_店铺") + e.DataRow("库存_缓冲")
        End If
End Select

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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2017/3/9 12:21:00 [只看该作者]

衷心感谢,解决了困扰我很久的问题了


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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2017/3/9 12:50:00 [只看该作者]

老师,如果以上代码需要加上条件:如“库存调拨”(入库表,销售表)行的 审核=true 后的单据才能参与计算,审核=false的行的数据不参加计算,请问可以实现吗

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/9 13:04:00 [只看该作者]

以下是引用yaojun在2017/3/9 12:50:00的发言:
老师,如果以上代码需要加上条件:如“库存调拨”(入库表,销售表)行的 审核=true 后的单据才能参与计算,审核=false的行的数据不参加计算,请问可以实现吗

 

加上条件

 

Dim sum7 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调入仓库 = '仓库' and 商品编号 = '" & e.DataRow("商品编号") & "' and 审核 = true")


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


加好友 发短信
等级:二尾狐 帖子:573 积分:4653 威望:0 精华:0 注册:2014/7/3 15:28:00
  发帖心情 Post By:2017/3/9 13:28:00 [只看该作者]

谢谢,解决了


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