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


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

主题:如果出库大于入库,原价安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


 回到顶部