Dim Result As DialogResult
Result = MessageBox.Show("确定要【复制续签】此合同吗?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
If Result = DialogResult.Yes Then
If Tables("主合同").Current IsNot Nothing Then
If Tables("主合同").Current("已审核") = False Then
MessageBox.Show("当前合同【未审核】请返回!","提示")
Return
End If
Dim bh As String = Tables("主合同").Current("合同编号")
Dim dr As DataRow = DataTables("主合同").SQLFind("合同编号 = '" & bh & "'")
With DataTables("主合同")
If .LoadPage < .TotalPages - 1 Then
.LoadPage = .TotalPages - 1
.Load()
End If
End With
With Tables("主合同")
If .Current Is Nothing OrElse .Current.DataRow.RowState = DataRowState.Unchanged Then '如果当前行未曾修改
Tables("主合同").AddNew()
.Current("签订日期") = Date.Today()
.Current("合同种类") = dr("合同种类")
.Current("合同期限") = dr("合同期限")
.Current("客户名称") = dr("客户名称")
.Current("客户名称首字母") = dr("客户名称首字母")
Dim dStar As Date = dr("合同结束日期")
.Current("合同开始日期") = dStar.AddDays(1)
.Current("代账服务") = dr("代账服务")
.Current("代税服务_国税申报") = dr("代税服务_国税申报")
.Current("代税服务_地税申报") = dr("代税服务_地税申报")
.Current("代税服务_fa piao开具") = dr("代税服务_fa piao开具")
.Current("工商代理_注册登记") = dr("工商代理_注册登记")
.Current("工商代理_变更登记") = dr("工商代理_变更登记")
.Current("工商代理_注销登记") = dr("工商代理_注销登记")
.Current("工商代理_年报公示") = dr("工商代理_年报公示")
.Current("其他代理") = dr("其他代理")
Dim d As Date = .Current("合同开始日期")
Dim d1 As Date = Date.Today
Dim n As Integer = d.Year
Dim n1 As Integer = d1.Year
If n >= n1-1 Then
Dim qx As Integer = Tables("主合同").Current("合同期限")
If qx > 0 Then
Dim d2 As Date = d.AddMonths(qx)
Dim d3 As Date = d2.AddDays(-1)
Tables("主合同").Current("合同结束日期") = d3
Else
MessageBox.Show("请输入合同期限!","提示")
e.Form.Controls("NumericComboBox1").Select()
End If
Else
MessageBox.Show("请检查合同开始日期是否输入正确!","提示")
e.Form.Controls("DateTimePicker2").Select()
End If
Dim Result1 As DialogResult
Result1 = MessageBox.Show("主合同已复制成功,现在要【复制合同明细】吗?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
If Result1 = DialogResult.Yes Then
Dim drs As List(Of DataRow)
drs = dr.GetChildRows("合同附件之代理明细")
For Each drmx1 As DataRow In drs
Dim drmx2 As Row = Tables("主合同.合同附件之代理明细").AddNew()
drmx2("证件代管_证件名称") = drmx1("证件代管_证件名称")
Next
Else
e.Cancel = True
End If
Else
MessageBox.Show("请先保存修改或撤销修改!","提示")
End If
End With
End If
Else
e.Cancel = True
End If
老师,你好!此代码执行到“蓝字”处停止执行(Tables("主合同.合同附件之代理明细")中未增加行)。主合同能够完整复制。主合同和合同明细通过“主合同编号”建立的关联,现在需要将旧合同的明细全部复制到新合同明细中(也就是除了“主合同编号”不同外,其他相同)。自己琢磨了好久,一直没有成功,希望老师帮忙改一下,谢谢!
以下为操作窗口,代码为按钮“复制续签”代码。
此主题相关图片如下:2.png
[此贴子已经被作者于2018/4/26 14:57:11编辑过]