'自动更新批号表的库存数量
If e.DataRow.isnull("批号") = True
Else
Dim dr As DataRow = DataTables("批号表").find("批号 = '" & e.DataRow("批号") & "' And 物料编号 = '" & e.DataRow("物料编号") & "' and 批号='" & e.DataRow("批号") & "'")
If dr IsNot Nothing
'以下这段会导致采购单数量变化加倍,所以删除了2021/3/24
' dr("库存数量") = dr("库存数量") - e.DataRow("入库数量") - e.DataRow("出库数量")
End If
End If
'自动更新生产指令的已入库数量
If e.DataRow.isnull("指令单号") = True
Else
Dim dr As DataRow = DataTables("生产指令").find("指令单号 = '" & e.DataRow("指令单号") & "' And 产品代号 = '" & e.DataRow("物料编号") & "'")
If dr IsNot Nothing
dr("已入库数量") = dr("已入库数量") - e.DataRow("入库数量")
End If
End If
'自动更新采购单的收货数量
If e.DataRow.isnull("采购单号") = True
Else
Dim dr As DataRow = DataTables("采购单").find("采购单号 = '" & e.DataRow("采购单号") & "' And 采购单行号 = '" & e.DataRow("采购单行号") & "' And 物料编号 = '" & e.DataRow("物料编号") & "'")
If dr IsNot Nothing
'以下这段会导致采购单数量变化加倍,所以删除了2021/3/24
' dr("收货数量") = dr("收货数量") - e.DataRow("入库数量")
' dr("退货数量") = dr("退货数量") + e.DataRow("出库数量")
End If
End If
'自动更新销售单的收货数量和退货数量
If e.DataRow.isnull("销售单号") = True
Else
Dim dr As DataRow = DataTables("销售单").find("销售单号 = '" & e.DataRow("销售单号") & "' And 销售单行号 = '" & e.DataRow("销售单行号") & "' And 产品代号 = '" & e.DataRow("物料编号") & "'")
If dr IsNot Nothing
dr("退货数量") = dr("退货数量") - e.DataRow("入库数量")
dr("交货数量") = dr("交货数量") + e.DataRow("出库数量")
End If
End If
'自动更新铝铜库存表的来料公斤
If e.DataRow.isnull("采购单号") = False
If e.DataRow("类别") = "铝铜"
Dim dr As DataRow = DataTables("铝铜库存表").find("采购单号 = '" & e.DataRow("采购单号") & "' And 采购单行号 = '" & e.DataRow("采购单行号") & "' And 出入库单号 = '" & e.DataRow("出入库单号") & "' and 物料编号 = '" & e.DataRow("物料编号") & "'")
If dr IsNot Nothing
dr("来料公斤") = dr("来料公斤") - e.DataRow("入库数量")
End If
End If
End If
'用于重新计算模具清单"的生产模数
vars("filter") = "模具型号 = '" & e.DataRow("模具型号") & "'"
'用于计算余数
e.DataRow("入库数量") = 0
e.DataRow("出库数量") = 0
'余数计算结束
上面是“出入库” datarowdeleting 里面的全部代码。有两个红色字体的位置我把其代码注释了,就不会发生翻倍的问题了。是不是最后两句紫色的代码有问题?如果是,要怎么修改?谢谢。