此主题相关图片如下:图像 022.png
Select Case e.DataCol.name
Case "商品编号", "数量"
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("数量")
s &= dr("进货单号") & ","
K &= dr("库存") & ","
If sy >= 0 Then
dr("出库") = dr("数量") - sy
cb += dr("单价") * dr("出库")
dr("库存") = sy
r("进货单号") = s.trim(",")
r("库存") = K.trim(",")
r("成本") = cb
Exit For
Else
dr("出库") = dr("数量")
dr("库存") = 0
cb += dr("单价") * dr("出库")
End If
Next
End If
End If
End Select