以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  在销售单中勾选后相关内容在另一个表中以凭证格式显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192016)

--  作者:DLW77
--  发布时间:2024/5/23 18:46:00
--  在销售单中勾选后相关内容在另一个表中以凭证格式显示
老师,您好,我想在销售明细单中勾选某一行后,此行相关内容,在凭证表中以凭证的格式显示,代码要怎么写好呢?想了很久都没想出来,能帮我解决一下吗?
图片点击可在新窗口打开查看此主题相关图片如下:xsd.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:pj.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/5/23 20:10:00
--  
参考:http://www.foxtable.com/webhelp/topics/2292.htm
--  作者:DLW77
--  发布时间:2024/5/24 15:44:00
--  相同单号的销售单在勾选后能否把相同的科目合并在一起,金额合计
老师,谢谢!,现在能做到勾选某一行后,也能在凭证表中显示凭证内容了。但是我同一张销售单(单据号是一样的)可能有两行以上显示,我想在勾选这张销售单后,点击设定的按键,能把相同的凭证编码只显示一行,合计金额,显示出来。就是勾选销售单中多行数据,显示一张凭证。这样要怎么设置代码?
图片点击可在新窗口打开查看此主题相关图片如下:销售单1.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:凭证表1.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2024/5/24 16:02:00
--  
用了什么代码,发上来看看
--  作者:DLW77
--  发布时间:2024/5/24 17:43:00
--  回复:(有点蓝)用了什么代码,发上来看看

图片点击可在新窗口打开查看此主题相关图片如下:销售单2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:凭证表2.png
图片点击可在新窗口打开查看
老师,我现在是在一行中增加了几列内容,点击那一行的“已结转凭证”列,可以在凭证表中显示一张凭证内容。用的是下面这个代码:
If e.DataCol.Name = "已结转凭证" AndAlso e.DataRow("已结转凭证") = True Then
    Dim nma() As String = {"日期","借方_科目编码","借方_一级科目","借方_二级科目","本币金额","摘要"} \'A表数据来源列
    Dim nmb() As String = {"日期","会计科目_编码","会计科目_一级科目","会计科目_二级科目","借方金额","摘要"} \'B表数据接收列
    Dim dr As DataRow = DataTables("记账").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If

If e.DataCol.Name = "已结转凭证" AndAlso e.DataRow("已结转凭证") = True Then
    Dim nma() As String = {"日期","贷方_科目编码","贷方_一级科目","贷方_二级科目","本币金额","摘要"} \'A表数据来源列
    Dim nmb() As String = {"日期","会计科目_编码","会计科目_一级科目","会计科目_二级科目","贷方金额","摘要"} \'B表数据接收列
    Dim dr As DataRow = DataTables("记账").AddNew
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
End If

但我想勾选几张销售单后,合并一张凭证出来,不知道怎么做好。
[此贴子已经被作者于2024/5/24 17:44:31编辑过]

--  作者:有点蓝
--  发布时间:2024/5/25 9:03:00
--  
合并一张凭证是什么效果?手工填一行看看


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看


--  作者:DLW77
--  发布时间:2024/5/27 8:30:00
--  回复:(有点蓝)合并一张凭证是什么效果?手工填一行...

图片点击可在新窗口打开查看此主题相关图片如下:凭证表3.png
图片点击可在新窗口打开查看老师,就是这样的,把上面两张凭证(转1/转2),转变成下面那张凭证(转1).

--  作者:有点蓝
--  发布时间:2024/5/27 8:50:00
--  
If e.DataCol.Name = "已结转凭证" AndAlso e.DataRow("已结转凭证") = True Then
    Dim nma() As String = {"日期","借方_科目编码","借方_一级科目","借方_二级科目","摘要"} \'A表数据来源列
    Dim nmb() As String = {"日期","会计科目_编码","会计科目_一级科目","会计科目_二级科目","摘要"} \'B表数据接收列
    Dim dr As DataRow = DataTables("记账").find("单据编号=\'" & e.DataRow("单据编号") & "\' and 会计科目_编码=\'" & e.DataRow("借方_科目编码") & "\'")
if dr is nothing then
dr  = DataTables("记账").AddNew
dr("单据编号") = e.DataRow("单据编号")
dr("会计科目_编码") = e.DataRow("借方_科目编码")
end if
    For i As Integer = 0 To nma.Length - 1
        dr(nmb(i)) = e.DataRow(nma(i))
    Next
dr("借方金额") = e.datatable.compute("sum(本币金额)","单据编号=\'" & e.DataRow("单据编号") & "\' and 会计科目_编码=\'" & e.DataRow("借方_科目编码") & "\'")
End If