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


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

主题:库存调拨

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


加好友 发短信
等级:二尾狐 帖子:576 积分:4731 威望:0 精华:0 注册:2014/7/3 15:28:00
库存调拨  发帖心情 Post By:2017/3/9 8:46:00 [只看该作者]

用foxtable做的出库管理软件公司一直在用,确实好用,公司的人都说好:可是因为个人是个程序白痴,一直不能实现库存的调拨功能,让软件使用起来有很的部方便,个人也折腾了很久,就是没有办法,今天来请教老师们,希望永久解决问题。谢谢!

我现在的各个仓库的库存是通过如下代码实现的:

表“商品中心”里的代码:
Select Case e.DataCol.name
    Case "商品编号","初始数据"
        e.DataRow("库存_仓库") = e.DataRow("库存_仓库")
        e.DataRow("库存_店铺") = e.DataRow("库存_店铺")
        e.DataRow("库存_缓冲") = e.DataRow("库存_缓冲")
        If e.DataRow.IsNull("商品编号") = False Then
           
                 e.DataRow("库存_仓库") = 0 + DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" & e.DataRow("商品编号") & "'and 仓库='仓库'") - DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='仓库'") + DataTables("退货信息").Compute("sum(退货数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='仓库'")
                 e.DataRow("库存_店铺") = 0 + DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" & e.DataRow("商品编号") & "'and 仓库='店铺'") - DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='店铺'") + DataTables("退货信息").Compute("sum(退货数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='店铺'")
                 e.DataRow("库存_缓冲") = 0 + DataTables("入库表").Compute("sum(入库数量)", "商品编号 = '" & e.DataRow("商品编号") & "'and 仓库='缓冲'") - DataTables("销售表").Compute("sum(销售数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='缓冲'") + DataTables("退货信息").Compute("sum(退货数量)", "商品编号 = '" &e.DataRow("商品编号") & "'and 仓库='缓冲'")
                 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

现在新增了张“库存调拨”表如下:

 


此主题相关图片如下:截图.png
按此在新窗口浏览图片

请求老师们帮忙修改下“商品中心”表里面的代码,让“库存调拨”表里面各个仓库数据发生变化后,“商品中心”表里面的各个仓库的数据也会发生变化,拜求各位老师了,希望困扰了很久很久的问题得到解决。谢谢


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


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

参考:http://www.foxtable.com/webhelp/scr/1453.htm

“库存调拨”表DataColChanged事件写代码,到“商品中心”查找到对应的商品,减去调出仓库的数量,加上调入仓库的数量

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


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

看过帮助好久了,就是搞不定,老师能给段代码学习下吗


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


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

1、出入库弄好了吗?

 

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

 

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

 

2、调拨就是相当于,出库一次,入库一次啊。


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


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

 

[此贴子已经被作者于2017/6/27 21:44:06编辑过]

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


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

 

[此贴子已经被作者于2017/3/9 11:25:55编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1249 积分:9474 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2017/3/9 10:14:00 [只看该作者]

库存调拨表的DataColChanged事件:

Select Case e.DataCol.Name
    Case "调拨数量"
        Dim dr As DataRow = DataTables("商品中心").Find("商品编号 = '" & e.DataRow("商品编号") & "'")
        If dr IsNot Nothing Then
            DataTables("商品中心")中的数量逻辑变化的代码...
        End If
End Select

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


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

谢谢,我不明白就是数量逻辑变化的代码,特别是有各个仓库,如果是不分仓库就觉得没有问题,但是分了仓库对于我这个程序小白来说,确实很难,呵呵


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


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

直接统计就行啊

 

            Dim sum1 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调入仓库 = '仓库' and 商品编号 = '" & e.DataRow("商品编号") & "'")
            Dim sum2 As Double = DataTables("库存调拨").Compute("sum(调拨数量)", "调出仓库 = '仓库' and 商品编号 = '" & e.DataRow("商品编号") & "'")
            e.DataRow("库存_仓库") = sum1-sum2

 

然后你库存调拨表的DataColChanged事件重新统计一次即可

 

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

[此贴子已经被作者于2017/3/9 13:02:30编辑过]

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


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

色老师能帮我把代码写到项目里面去吗,我做了下,还是没有做好,总是提示这里问题哪里问题的,谢谢老师了


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