Foxtable(狐表)用户栏目专家坐堂 → 代码


  共有2231人关注过本帖树形打印复制链接

主题:代码

帅哥哟,离线,有人找我吗?
爱相随
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
代码  发帖心情 Post By:2016/4/26 16:36:00 [只看该作者]

老师,下面的代码是:从凭证明细表生成科目明细账,如果在科目明细表找到相同的凭证号和一级科目名称、明细科目、金方金额都有,根据新内容更新相关数据并返回不生成明细,如果没有找到,则将相关的列内容复制到科目明细。但有个问题是:橙色字体段不执行,就是有相同的行了,还是会增加相同凭证号的行,同时如果一个凭证号有几行明细,如果其中有两行的一级科目名称相同,则同一个一级科目名称的借方或贷方都只取第一个明细行的数据。比如会计凭证的明细是:
                                                                     借:主营业务成本   2500
                                                                     借:主营业务成本   2000
                                                                            贷:银行存款                4500
生成科目明细表后,主营业务成本科目明细账的两行都是2500,而不是一行是2500,另一行是2000。


If User.IsRole("财务") OrElse USER.NAME = "开发者" Then
    For Each r As Row In CurrentTable.Rows
        If r("选择") = True Then
            Dim dr1 As DataRow
            '否则在科目明细表查找同名的凭证号和一级科目名称行,将找到的行赋值给变量dr1
            dr1 = DataTables("科目明细").Find("[凭证号]  = '" & r("凭证号") & "'And [一级科目名称] = '" & r("一级科目名称") & "'And [明细科目] = '" & r("明细科目") & "'And [借方金额] = '" & r("借方金额") & "'")
            If dr1 IsNot Nothing Then '如果没有找到同名的凭证号和一级科目名称行,也就是dr1为Nothing
                Return '那么返回
            Else
                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)) = r(nma(i))
                Next
                MainTable = Tables("科目明细") '选择表B作为主表.
            End If
        End If
    Next
End If
[此贴子已经被作者于2016/4/26 16:39:09编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/26 16:46:00 [只看该作者]

 应该是 借方金额 的数据类型、保留小数位数 的设置不同造成的,你两个表这个列的设置,必须一模一样。

 回到顶部
帅哥哟,离线,有人找我吗?
爱相随
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/4/26 17:04:00 [只看该作者]

以下是引用大红袍在2016/4/26 16:46:00的发言:
 应该是 借方金额 的数据类型、保留小数位数 的设置不同造成的,你两个表这个列的设置,必须一模一样。
列的类型和保留小数的位数是一样的呢
凭证号、一级科目名称、科目明细,其中有一个不同就不会出现取第一个数的情况,但实际工作中这样的
比如:同一银行账户手续费和存款利息做在一张凭证上,支付手续费:借财务费  125  贷:银行存款  125  存款利息 借:银行存款   300    贷财务费用   300 生成科目明细账后,银行存款科目就两行数据,但都只取贷方金额125,两行都是

[此贴子已经被作者于2016/4/26 17:08:34编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/26 17:05:00 [只看该作者]

 那不可能有问题,做实例测试。

 回到顶部
帅哥哟,离线,有人找我吗?
爱相随
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/4/26 17:11:00 [只看该作者]

我用这个给一个幼儿园做的软件,2015年的账全是这样的,就是因为这个导致凭证明细和科目明细不等,一查原因就是这个问题
[此贴子已经被作者于2016/4/26 17:11:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/26 17:13:00 [只看该作者]

 做个具体例子说明问题。

 回到顶部
帅哥哟,离线,有人找我吗?
爱相随
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:932 积分:6531 威望:0 精华:0 注册:2014/6/25 10:48:00
  发帖心情 Post By:2016/4/26 17:19:00 [只看该作者]

还有老师,两个表明明设置了关联,但项目打开后,两个表却不关联,如果按照设置关联表的步骤去设置一下,什么都不动,只按步骤走一遍,关联又出来了。请问老师是什么情呢,怎么解决这个问题呢/

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/4/26 17:20:00 [只看该作者]

  一个问题,一个问题的解决啊,上传上传实例

 回到顶部