以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助,同一单据编号下多个品种删除,库存不对 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194592) |
-- 作者:chz007 -- 发布时间:2024/12/25 13:20:00 -- 求助,同一单据编号下多个品种删除,库存不对 1、在一个单据编号下有一个品种,删除此单据,运行正常 2、在一个单据编号下有多个品种,删除此单据,库存量不对,不正常运行 3、库存计算:维一标识 “源单编号” Dim tb1 As WinForm.Table = e.Form.Controls("Table1") Dim r1 As Row Dim Names As New List(Of String) For i As Integer = vars("trow") To vars("brow") r1 = tb1.Table.Rows(i) If Names.Contains(r1("单据编号")) = False Then \'判断集合是否包括"电视机" Names.Add(r1("单据编号")) End If Next Dim Result As DialogResult Result = MessageBox.Show("您确定要删除" & names.Count & "条单据吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then For Each djbh As String In names Dim dr As DataRow = DataTables("出入库主表").SQLFind("单据编号=\'" & djbh & "\'") If dr IsNot Nothing And dr("单据状态") = "计划" Then Dim dr1 As DataRow = DataTables("出入库明细表").Find("源单编号=\'" & r1("源单编号") & "\'") If dr1 IsNot Nothing Then dr1("库存数量") += r1("出库数量") dr1.save End If DataTables("出入库主表").SQLDeleteFor("单据编号=\'" & djbh & "\'") DataTables("出入库明细表").SQLDeleteFor("单据编号=\'" & djbh & "\'") Else MessageBox.Show("审核过单据不能审除") End If Next End If Dim cx As WinForm.Button = e.Form.Controls("查询") cx.PerformClick |
-- 作者:有点蓝 -- 发布时间:2024/12/25 13:53:00 -- 逻辑有点混乱。截图表格数据说明一下 |
-- 作者:chz007 -- 发布时间:2024/12/25 14:05:00 -- 附件 |
-- 作者:chz007 -- 发布时间:2024/12/25 14:06:00 -- 附件传不上去 |