代码没变,就是把供应商名称和单价自己带,老师,红色的代码不要新增,直接把单价,最早的采购订单号显示到对应编码的列里面!因为可出数量大于出库数量!If e.KeyCode = Keys.Enter Then
Dim sl As Integer = Val(e.Sender.Text)
Dim bm As String = e.Form.Controls("材料编码1").text
If sl > 0 AndAlso bm > "" Then
Dim t As Table = e.Form.Controls("出库").Table
If t.DataTable.HasChanges Then
t.DataTable.save
End If
If DataTables("入库明细").GetValues("供应商名称", "成品编码='" & bm & "' And 入库类型= '在库'").count > 1 Then
Vars("bm") = bm
Forms("窗口1").Open
End If
Dim filter As String = "成品编码='" & bm & "'And 入库类型= '在库'"
If vars("供应商名称") > "" Then
filter = filter & " and 供应商名称='" & vars("供应商") & "'"
End If
For Each dr As DataRow In DataTables("入库明细").Select(filter, "采购订单号")
If dr("可出数量") >= sl Then
Dim dr1 As DataRow = t.DataTable.addnew
dr1("采购订单号") = dr("采购订单号")
dr1("成品编码") = dr("成品编码")
dr1("成品描述") = dr("成品描述")
dr1("单价") = dr("单价")
dr1("供应商名称") = dr("供应商名称")
dr1("出库数量") = sl
dr("可出数量") = dr("可出数量") - sl
Exit For
Else
Dim dr1 As DataRow = t.DataTable.addnew
dr1("采购订单号") = dr("采购订单号")
dr1("单价") = dr("单价")
dr1("供应商名称") = dr("供应商名称")
dr1("成品编码") = dr("成品编码")
dr1("成品描述") = dr("成品描述")
dr1("出库数量") = dr("可出数量")
sl = sl - dr("可出数量")
dr("可出数量") = 0
End If
Next
End If
End If