Foxtable(狐表)用户栏目专家坐堂 → 如果出库大于入库,原价安0计算。应该怎么改?


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

主题:如果出库大于入库,原价安0计算。应该怎么改?

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


加好友 发短信
等级:五尾狐 帖子:1062 积分:9781 威望:0 精华:0 注册:2012/3/13 5:23:00
如果出库大于入库,原价安0计算。应该怎么改?  发帖心情 Post By:2016/3/7 5:29:00 [只看该作者]

Dim r As Row = Tables("wx").Current

Dim rks As Double = DataTables("rukudan").sqlCompute("sum(shuliang)", "name = '" & r("name") & "'")

Dim rks1 As Double = DataTables("weixin").sqlCompute("sum(shuliang)", "name = '" & r("name") & "'")

Dim cks As Double = DataTables("wx").sqlCompute("sum(shuliang)", "name = '" & r("name") & "'")

If cks + rks1 > rks Then
    
    'msgbox("无法出库,库存不足")
    
Else
    
    Dim count As Integer = 0
    
    Dim drs As List(Of DataRow) = DataTables("rukudan").Select("name = '" & r("name") & "'", "_Identify")
    
    For i As Integer = 0 To drs.count - 1
        
        Dim dr As DataRow = drs(i)
        
        count += dr("shuliang")
        
        Dim sy As Integer = count - (cks + rks1 - r("shuliang"))
        
        If sy >= 0 Then
            
            Dim cb, cbs As Double
            
            count = 0
            
            For j As Integer = i To drs.count - 1
                
                dr = drs(j)
                
                If j = i Then
                    
                    count += sy
                    
                    cb = sy * dr("price")
                    
                Else
                    
                    count += dr("shuliang")
                    
                    cb = dr("shuliang") * dr("price")
                    
                    sy = dr("shuliang")
                    
                End If
                
                If count >= r("shuliang") Then
                    
                    cbs += (r("shuliang") - (count - sy)) * dr("price")
                    
                    r("cb")=cb
                    
                    r("cbs")=cbs
                    
                    r("bb") = count
                    
                    ' msgbox(cbs & count)
                    
                    r("lirun") = r("shuliang") * r("price") - cbs
                    
                    Exit For
                    
                Else
                    
                    cbs += cb
                    
                End If
                
            Next
            
            Exit For
            
        End If
        
    Next
    
    '    End If
    
End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/7 9:07:00 [只看该作者]

没看懂你什么意思,出库大于入库的时候,就是库存不足的提示啊。

 

你要做什么,就在这个判断后面写代码

 

If cks + rks1 > rks Then
    
    msgbox("无法出库,库存不足")


 回到顶部