Foxtable(狐表)用户栏目专家坐堂 → [求助]入库与出库的问题


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

主题:[求助]入库与出库的问题

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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
[求助]入库与出库的问题  发帖心情 Post By:2012/8/7 20:05:00 [只看该作者]

假如A产品入库的时候带单价,出库的时候单价和入库时一样,

如果产品A 多次入库的单价不同,出库数量和次数也不确定,有没有办法确定出库时的单价呢?


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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/8/8 8:16:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2012/8/8 8:56:00 [只看该作者]

请教,用什么方法去判断批次呢,另外主要是出库数量不确定,进货的X批次可能要混合进货的Y批次出库的话 两批次单价不同 有没有什么好的解决方案呢

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/8/8 9:06:00 [只看该作者]

很难,特别是混合的时候,所以最好从改变工作流程入手:

 

1、出库表加入一个入库单号,和出库表通过入库单号关联,入库单是父表。

2、入库表加入一个出库数量和剩余数量列,两个都是表达式列。

3、某产品出库的时候,从入库表从入库表选择该产品的某个有剩余数量的入库行,单击“出库”按钮,输入出库数量,这样单价就清楚了,也避免混合出库的问题。


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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2012/8/9 13:47:00 [只看该作者]

请教狐爸
我用了表达式列后 逻辑好像循环了
入库出库做了关联然后在入库表里加了个剩余数量的表达式列:[入库数量] - IsNull(Sum(Child(rck).领用数量),0)
然后我在出库表的领用数量做了代码:
If e.DataCol.name = "领用数量" Then
   If e.DataRow.Isnull("入库编号") Then
    e.DataRow("领用数量") = Nothing
      Else
      Dim dx As DataRow = DataTables("入库").Find("入库编号 = '" & e.DataRow("入库编号") & "'")
      If e.DataRow("领用数量") > dx("剩余数量")  Then
        messagebox.show("数量不能超过入库编号的剩余数量!")
      End If
   End If
End If

这样就循环了,比如我剩余数量显示20 我领用15 就会弹出"数量不能超过入库编号的剩余数量!"的提示,除非你领用数量<=10才没有提示


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


加好友 发短信
等级:等待验证 帖子:3855 积分:20692 威望:0 精华:5 注册:2012/6/21 14:03:00
  发帖心情 Post By:2012/8/9 16:17:00 [只看该作者]

用户已被锁定

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


加好友 发短信
等级:三尾狐 帖子:713 积分:5196 威望:0 精华:0 注册:2012/4/13 13:10:00
  发帖心情 Post By:2012/8/9 16:53:00 [只看该作者]

多谢帮忙 我搞定了  


If e.DataCol.name = "领用数量" Then
   If e.DataRow.Isnull("入库编号") Then
    e.DataRow("领用数量") = Nothing
      Else
      Dim dx As DataRow = DataTables("入库").Find("入库编号 = '" & e.DataRow("入库编号") & "'")
       If dx("剩余数量") < 0  Then
        messagebox.show("数量不能超过入库编号的剩余数量!")
        e.DataRow("领用数量") = 0
      End If
   End If
End If

 回到顶部