以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动编号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139475) |
||||||||
-- 作者:13775189031 -- 发布时间:2019/8/13 16:40:00 -- 自动编号
147258 请老师看一下,角钢进料表明细中,列“序号”是根据派单日期生成的编号,“派单日期”列是增加行时自动生成的,现在发现填写实发支数列后,派单日期会更新到当天,序号也会变化,是什么原因?
|
||||||||
-- 作者:有点蓝 -- 发布时间:2019/8/13 16:55:00 -- 实发支数更改,触发“未发数量”;“未发数量”更改,触发(DataTables("角钢进料台账").DataCols("进料表编号").RaiseDataColChanged(dr1));然后台账表"进料表编号"更改触发(dr("派单日期") = Date.today);"派单日期"更改又触发角钢进料表明细表: If e.DataCol.Name = "派单日期" Dim Filter As String = "[进料表编号] = \'" & e.DataRow("进料表编号") & "\'" Dim drs As List(Of DataRow) = DataTables("角钢进料表明细").Select(Filter) For Each dr2 As DataRow In drs dr2("派单日期") = e.DataRow("派单日期") Next End If 自己给自己挖坑的节奏
|
||||||||
-- 作者:13775189031 -- 发布时间:2019/8/13 17:29:00 -- If e.DataCol.Name = "派单日期" Dim Filter As String = "[进料表编号] = \'" & e.DataRow("进料表编号") & "\'" Dim drs As List(Of DataRow) = DataTables("角钢进料表明细").Select(Filter) For Each dr2 As DataRow In drs dr2("派单日期") = e.DataRow("派单日期") Next End If 把这段删除了,并做了一下修改 角钢进料台账 Select Case e.DataCol.name Case "进料表编号" If e.DataRow.IsNull("进料表编号") Then DataTables("角钢进料表明细").DeleteFor("进料表编号=\'" & e.DataRow("进料表编号") & "\'") e.DataRow("状态_发料完成") = False e.DataRow("状态_U8出库") = False Else If e.OldValue Is Nothing Dim ndr As Row = Tables("角钢进料表明细").AddNew ndr("进料表编号") = e.DataRow("进料表编号") ndr("工程名称") = e.DataRow("工程名称") ndr("塔型") = e.DataRow("塔型") ndr("材料标准") = e.DataRow("材料标准") ndr("仓储配料员") = e.DataRow("仓储配料员") ndr("审核") = e.DataRow("审核") ndr("编制人") = e.DataRow("编制人") ndr.Move(0) End If If e.DataRow.GetChildRows("角钢进料表明细").Count > 0 Dim cnt As Integer = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号=\'" & e.NewValue & "\' and (U8出库=false and 处置_重派=false)") e.DataRow("状态_U8出库") = (cnt=0) cnt = DataTables("角钢进料表明细").Compute("count(进料表编号)","进料表编号=\'" & e.NewValue & "\' and (未发数量 > 0 or 未发数量 is null)") e.DataRow("状态_发料完成") = (cnt=0) End If End If End Select 角钢进料表明细 If e.DataCol.Name = "进料表编号" Then If e.NewValue Is Nothing Then e.DataRow("工程名称") = Nothing e.DataRow("塔型") = Nothing e.DataRow("仓储配料员") = Nothing e.DataRow("审核") = Nothing e.DataRow("编制人") = Nothing Else Dim dr3 As DataRow dr3 = DataTables("角钢进料台账").Find("[进料表编号] = \'" & e.NewValue & "\'") If dr3 IsNot Nothing e.DataRow("工程名称") = dr3("工程名称") e.DataRow("塔型") = dr3("塔型") e.DataRow("仓储配料员") = dr3("仓储配料员") e.DataRow("审核") = dr3("审核") e.DataRow("编制人") = dr3("编制人") End If End If End If 还需要怎么修改? |
||||||||
-- 作者:有点蓝 -- 发布时间:2019/8/13 17:39:00 -- 这个业务流转的过程不应该问我们,我也不懂这个业务,自己理清楚这个业务逻辑 |