Foxtable(狐表)用户栏目专家坐堂 → 会计凭证的设计和录入


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

主题:会计凭证的设计和录入

美女呀,离线,留言给我吧!
采菊东篱下
  61楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/9 15:26:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:空行.png
图片点击可在新窗口打开查看
没关闭窗口前产生很多空行怎么解决?目前修改收款凭证里的贷方金额重新保存,收付转财务数据源中的借、贷金额都没跟着改变。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理(0409).rar

密码:888888

 回到顶部
帅哥,在线噢!
有点蓝
  62楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105484 积分:536411 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/9 15:29:00 [只看该作者]

去掉addnew(10)新增空行的代码,需要的时候再新增(或者在编辑最后一行的时候在自动增加一行)

或者保存的时候不要保存空行

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  63楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/9 15:36:00 [只看该作者]

哦,在定义行时加个条件不为空保存就行了。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  64楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/9 15:38:00 [只看该作者]

那修改收款凭证里的贷方金额重新保存,收付转财务数据源中的借、贷金额都没跟着改变怎么解决?


 回到顶部
帅哥,在线噢!
有点蓝
  65楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105484 积分:536411 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/9 15:43:00 [只看该作者]

60楼方法,保存前重新统计

或者到datacolchanged事件处理,金额变化的同时统计

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  66楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/9 23:47:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理(040923).rar

密码:888888
我弄来弄去,收付转财务数据源中的借方金额始终不变,贷方可变了。

 回到顶部
帅哥,在线噢!
有点蓝
  67楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105484 积分:536411 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/10 11:00:00 [只看该作者]

Select Case e.StripItem.Name
    Case "保存" '保存代
        If e.Form.Controls("rq").text = "" Then
            messagebox.show("请选择日期")
            Return
        ElseIf Tables("收款凭证_Table1").Compute("Count([贷方科目])") = 0 Then
            Return
        End If
        For Each dt As DataRow In Tables("收款凭证_Table1").DataTable.Select("[贷方科目] Is not null")
            Dim Tel As String = dt("明细科目")
            Dim Parts() As String = Tel.Split("-")
            dt("日期") = e.Form.Controls("rq").text
            dt("凭证号") = e.Form.Controls("dh").text
            dt("安日期生成单号辅助列") = e.Form.Controls("dh1").text
            dt("附件张数") = e.Form.Controls("TextBox1").text
            dt("录入员") = e.Form.Controls("lry").text
            dt("字号") = "收"
            dt("借或贷") = "贷"
            dt("贷方金额") =  dt("金额")
            dt("操作人姓名") = User.Name & " " & Date.Now
            If Parts.length > 0 Then
                dt("二级科目") = Parts(0)
                If Parts.length > 1 Then
                    dt("三级科目") = Parts(1)
                    If Parts.length > 2 Then
                        dt("四级科目") = Parts(2)
                        If Parts.length > 3 Then
                            dt("五级科目") = Parts(3)
                        End If
                    End If
                End If
            End If
            dt.Save
        Next
        'DataTables("收付转财务数据源").load
        msgbox("[字号] = '收' And Month([日期]) = " & Month(e.Form.Controls("rq").Value) & " And [安日期生成单号辅助列] = '" & e.Form.Controls("dh1").text & "' And [借或贷] = '借'")
        Dim r As DataRow = DataTables("收付转财务数据源").SQLFind("[字号] = '收' And Month([日期]) = " & Month(e.Form.Controls("rq").Value) & " And [安日期生成单号辅助列] = '" & e.Form.Controls("dh1").text & "' And [借或贷] = '借'")
        If r Is Nothing Then
            r = DataTables("收付转财务数据源").addnew
        End If
        r("日期") = e.Form.Controls("rq").text
        r("凭证号") = e.Form.Controls("dh").text
        r("附件张数") = e.Form.Controls("TextBox1").text
        r("录入员") = e.Form.Controls("lry").text
        r("操作人姓名") = User.Name & " " & Date.Now
        Dim Tel0 As String = e.Form.Controls("ComboBox3").text
        Dim Parts0() As String = Tel0.Split("-")
        If Parts0.length > 0 Then
            r("借方科目") = Parts0(0)
            If Parts0.length > 1 Then
                r("二级科目") = Parts0(1)
            End If
        End If
        r("借方金额") = Tables("收款凭证_Table1").Compute("Sum(金额)")
        r.save
        For i As Integer = DataTables("收付转财务数据源").DataRows.count - 1 To 0 Step -1
            Dim tr As DataRow = DataTables("收付转财务数据源").DataRows(i)
            If tr.Isnull("日期") Then
                tr.delete
            End If
        Next
        DataTables("收付转财务数据源").Save()
        DataTables("收付转财务数据源").load
    Case "取消" '取消代码
        e.Form.Close()

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  68楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/10 22:09:00 [只看该作者]

你不要收款凭证窗口保存按钮里下面的如果不为空代码,修改窗口中的数据,收付转财务数据源这张单的借方整行数据不会自动更新,更不会重新统计金额。

 回到顶部
帅哥,在线噢!
有点蓝
  69楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105484 积分:536411 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/11 20:32:00 [只看该作者]

我测试没有问题。您根本就没有理解代码,所以代码里经常有大量重复的代码和操作

‘如果为空蓝色代码就新增一行,然后红色代码就是对新增行的赋值;如果不为空,那么说明r是可以直接使用的,所以下面红色代码直接就是直接对查询不为空的行赋值。
        If r Is Nothing Then 
            r = DataTables("收付转财务数据源").addnew
        End If
        r("日期") = e.Form.Controls("rq").text
        r("凭证号") = e.Form.Controls("dh").text
        r("附件张数") = e.Form.Controls("TextBox1").text
        r("录入员") = e.Form.Controls("lry").text
        r("操作人姓名") = User.Name & " " & Date.Now
        Dim Tel0 As String = e.Form.Controls("ComboBox3").text
        Dim Parts0() As String = Tel0.Split("-")
        If Parts0.length > 0 Then
            r("借方科目") = Parts0(0)
            If Parts0.length > 1 Then
                r("二级科目") = Parts0(1)
            End If
        End If

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  70楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/4/12 8:28:00 [只看该作者]

  我把你的代码细节部份全忽略了,刚看了你的回复我在新增行下加上End if,试了一下收付转财务数据源表此单的借方金额依然没变,我把ie缩小跟软件中的代码一行行核对,发现你的代码中在统计金额后有保存代码,添上这代码后重试可以更新了。
  其实这个问题我昨天已解决了,我的方法是把原来的借方整行删除,重新添加一行重新生成新的数据,另用代码合成了借方摘要,更用代码实现了安日期、凭证号、先借后贷的顺序排列显示,因觉应有替换原数据的方法,就没回,等待你如何解决,始终是你的代码简洁些,现两种方法的代码我都保存,作为学习,谢谢指教。
[此贴子已经被作者于2021/4/12 8:28:56编辑过]

 回到顶部