Foxtable(狐表)用户栏目专家坐堂 → [求助]销售


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

主题:[求助]销售

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/9 14:58:00 [显示全部帖子]

以下是引用江南小镇在2018/8/9 14:18:00的发言:
老师,有例子吗?

 

你这个帖子的成本列的计算就是例子,你有没有理解?

 

成本除以数量,不就是单价?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/10 15:14:00 [显示全部帖子]

Dim e
Select Case e.DataCol.name
    Case "商品编号", "数量"
        If e.newvalue <> e.oldvalue Then '不是重置列
           
            If e.DataRow("数量") IsNot Nothing Then
                Dim r As DataRow = e.DataRow
                Dim sum As Double = DataTables("进").compute("sum(库存)", "商品编号 = '" & e.DataRow("商品编号") & "' And 库存状态 = '可出库'")
                If sum < r("数量") Then
                    msgbox("库存不够")
                Else
                    Dim count As Integer = 0
                    Dim cb As Double = 0
                    Dim drs As List(Of DataRow) = DataTables("进").Select("商品编号 = '" & e.DataRow("商品编号") & "' And 库存状态 = '可出库'", "日期, _Identify")
                    Dim s As String = ""
                    Dim K As String = ""
                   
                    For i As Integer = 0 To drs.count - 1
                        Dim dr As DataRow = drs(i)
                        count += dr("库存")
                        Dim sy As Integer = count - r("数量")
                       
                        If sy >= 0 Then
                            cb += dr("单价") * (dr("库存")-sy)
                            dr("出库") = dr("数量") - sy
                            s &= dr("进货单号") & ","
                            K &= dr("库存") & ","
                            r("进货单号") = s.trim(",")
                            r("库存") = K.trim(",")
                            r("成本") = cb
                            Exit For
                        Else
                            s &= dr("进货单号") & ","
                            K &= "0,"
                            cb += dr("单价") * dr("库存")
                            dr("出库") = dr("数量")
                            dr("库存") = 0
                        End If
                    Next
                End If
            End If
        End If
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/12 22:19:00 [显示全部帖子]

1、你改成23楼的项目了没有?

 

2、做个实例发上来测试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/12 23:23:00 [显示全部帖子]

Select Case e.DataCol.name
    Case "商品ID", "出库_数量"
        If e.newvalue <> e.oldvalue Then '不是重置列
           
            If e.DataRow("出库_数量") IsNot Nothing Then
                Dim r As DataRow = e.DataRow
                If e.DataCol.name = "出库_数量" AndAlso e.OldValue<> Nothing Then
                    Dim count As Integer = 0
                    Dim drs As List(Of DataRow) = DataTables("入库明细").Select("商品ID = '" & e.DataRow("商品ID") & "'", "入库日期 desc, _Identify desc")
                    Dim val = e.OldValue
                    For i As Integer = 0 To drs.count - 1
                        Dim dr As DataRow = drs(i)
                        count += dr("出库")
                        Dim sy As Integer = count - val
                       
                        If sy >= 0 Then
                            dr("出库") = sy
                            dr("库存") = dr("入库_数量")-sy
                            Exit For
                        Else
                            dr("出库") = 0
                            dr("库存") = dr("入库_数量")
                        End If
                    Next
                End If
                Dim sum As Double = DataTables("入库明细").compute("sum(库存)", "商品ID = '" & e.DataRow("商品ID") & "' And 库存状态 = '可出库'")
                If sum < r("出库_数量") Then
                    msgbox("库存不够")
                Else
                    '==================================
                    Dim count As Integer = 0
                    Dim cb As Double = 0
                    Dim drs As List(Of DataRow) = DataTables("入库明细").Select("商品ID = '" & e.DataRow("商品ID") & "' And 库存状态 = '可出库'", "入库日期, _Identify")
                    Dim s As String = ""
                    Dim K As String = ""
                   
                    For i As Integer = 0 To drs.count - 1
                        Dim dr As DataRow = drs(i)
                        count += dr("库存")
                        Dim sy As Integer = count - r("出库_数量")
                       
                        If sy >= 0 Then
                            cb += dr("入库_单价") * (dr("库存")-sy)
                            dr("出库") = dr("入库_数量") - sy
                            s &= dr("入库单编号明细") & ","
                            K &= dr("库存") & ","
                            r("入库批次号") = s.trim(",")
                            r("库存") = K.trim(",")
                            r("成本") = cb
                            Exit For
                        Else
                            s &= dr("入库单编号明细") & ","
                            K &= "0,"
                            cb += dr("入库_单价") * dr("库存")
                            dr("出库") = dr("入库_数量")
                            dr("库存") = 0
                        End If
                    Next
                End If
               
            End If
           
        End If
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/13 15:26:00 [显示全部帖子]

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:进销存 (1).table


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/14 9:43:00 [显示全部帖子]

以下是引用江南小镇在2018/8/13 22:22:00的发言:


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

 

库存列你可以改名成【提取数量】(改名代码也要改)

 

然后再加一列库存列,用来显示剩余库存

 

再说一次:请在理解代码的基础上再继续开发。如果上面两句话理解不了,请下功夫先看懂一下代码。

[此贴子已经被作者于2018/8/14 9:43:56编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/14 9:49:00 [显示全部帖子]

而且,不建议你显示剩余库存。剩余库存没有意义,每次修改出库所有行的剩余库存都要更新很影响效率。

 

如果确实希望显示,建议单独显示入库明细表。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/14 17:58:00 [显示全部帖子]

请具体说明你给的例子如何测试?要做到什么效果?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/15 9:13:00 [显示全部帖子]

以下是引用江南小镇在2018/8/14 22:04:00的发言:
老师,在出库.出库明细表赋值后出库_数量列输入数据时出库批次号列的批次号自动修改了。

 

1、你根本就没有理解之前的代码;

 

2、本来的代码是根据商品id号先进先出的;和你批次号无关;

 

3、如果你要限定商品id和批次号,那请修改代码,根据这两列查询。


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