以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 复制新增 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=122784) |
||||
-- 作者:yetle -- 发布时间:2018/8/2 9:15:00 -- 复制新增 代码写的下面代码中有dnew("业务跟单") = usna,这一句应该是在新增行中将列值改为当前操作用户,为什么复制新增后,新的行中显示老的操作用户,旧的行中显示的却是新的操作用户 复制新增前 复制新增后 Dim Result As DialogResult If Tables("报价单").Current("研发部_总监审核")="研发-总监" Then Result = MessageBox.Show("确认要新增版本吗?","提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question) If Result = DialogResult.Yes Then If usna Like "业务*" Or usna="admin" Or usna="研发-祝炫丽" Then Dim r As Row = Tables("报价单").Current Dim dnew As Row = Tables("报价单").AddNew Dim name As String = r("订单编号") Dim max As String Dim idx As Integer max = Tables("报价单").Compute("Max(订单编号)","订单编号 like \'" & name & "%\' and [_Identify] <> " & r("_Identify")) If max > "" AndAlso max.Contains("*") Then \'如果存在最大编号 idx = CInt(max.split("*")(1)) + 1 \'获得最大编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If r("订单编号") = name & "*" & Format(idx,"000") For Each c As Col In Tables("报价单").Cols If c.Name <> "研发管理费" And c.Name <> "后勤管理费" And c.Name <> "制造费" Then If c.Name = "订单编号" Then dnew(c.Name) = name ElseIf c.Name <> "_Identify" Then dnew(c.Name) = r(c.Name) dnew("材料成本")=Tables("报价单.报价明细").Compute("Sum(金额)","订单编号=\'" & Tables("报价单").Current("订单编号") & "\'") dnew("财务审核") = Nothing dnew("总经理审批") = Nothing dnew("订单量") = 10000 dnew("业务跟单") = usna End If End If Next Dim drs As List(Of DataRow) drs = r.DataRow.GetChildRows("报价明细") Dim rc As DataRow For Each dr As DataRow In drs rc = dr.Clone rc("订单编号") = name Next End If Else MessageBox.show("你无此操作权限!") End If Else MessageBox.show("未审核报价款式不能复制新增版本!") End If
[此贴子已经被作者于2018/8/2 9:17:30编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/8/2 9:19:00 -- 试试改成
ElseIf c.Name <> "_Identify" AndAlso c.name <> "业务跟单" Then dnew("业务跟单") = usna dnew("材料成本")=Tables("报价单.报价明细").Compute("Sum(金额)","订单编号=\'" & Tables("报价单").Current("订单编号") & "\'") [此贴子已经被作者于2018/8/2 9:19:06编辑过]
|
||||
-- 作者:yetle -- 发布时间:2018/8/2 9:31:00 -- 不行 ![]() ![]() |
||||
-- 作者:有点甜 -- 发布时间:2018/8/2 9:40:00 -- 上传具体实例测试。
或者加上 http://www.foxtable.com/webhelp/scr/2218.htm
[此贴子已经被作者于2018/8/2 9:41:29编辑过]
|
||||
-- 作者:yetle -- 发布时间:2018/8/2 9:59:00 --
|
||||
-- 作者:有点甜 -- 发布时间:2018/8/2 10:03:00 -- 你给的例子测试没问题,请上传具体有问题的实例测试。 |
||||
-- 作者:yetle -- 发布时间:2018/8/2 11:10:00 -- 给的列子就是有问题嘛,正好反了 新增前 新增后
[此贴子已经被作者于2018/8/2 11:14:24编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/8/2 11:27:00 -- \' Tables("报价单").Current.Clone() \' Tables("报价明细").save \' Tables("报价单").Current("订单编号") =Tables("报价单").Current("订单编号") & "*" If Tables("报价单").Current("研发部_总监审核")="研发-总监" Then |
||||
-- 作者:yetle -- 发布时间:2018/8/2 11:30:00 -- 好了,谢谢 [此贴子已经被作者于2018/8/2 11:51:19编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2018/8/2 11:52:00 -- 我,测试没问题。请认真测试楼上代码。 |