以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  实现“入库单在保存时自动生成会计凭证”  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98239)

--  作者:nths
--  发布时间:2017/3/27 8:37:00
--  实现“入库单在保存时自动生成会计凭证”
老师:能否提示一下如何能实现“入库单在保存时自动生成会计凭证”,运用哪些属性和方法?在帮助文件中有没有例子
--  作者:有点蓝
--  发布时间:2017/3/27 9:13:00
--  
具体业务的处理,帮助是不会有的。

请提出具体的技术问题,并上传实例说明

--  作者:有点色
--  发布时间:2017/3/27 9:26:00
--  
以下是引用nths在2017/3/27 8:37:00的发言:
老师:能否提示一下如何能实现“入库单在保存时自动生成会计凭证”,运用哪些属性和方法?在帮助文件中有没有例子

 

参考 http://www.foxtable.com/webhelp/scr/1607.htm

 


--  作者:nths
--  发布时间:2017/3/27 9:49:00
--  
我的思路是这样的,在采购入库主表审核后,能够在凭证明细表中自动增加一条:借:原材料     贷:应付账款-XX供应商
--  作者:有点色
--  发布时间:2017/3/27 10:17:00
--  

Dim ndr As DataRow = DataTables("凭证表").AddNew

ndr("编号") = "xxxx"

ndr("借") = "xxx"

ndr("贷") = "xxxxxxxx"


--  作者:nths
--  发布时间:2017/4/10 10:21:00
--  
老师:在我项目中看样才能实现“采购入库主表审核后,能够在凭证明细表中自动增加一条:借:原材料     贷:应付账款-XX供应商”
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:有点色
--  发布时间:2017/4/10 10:33:00
--  

DataColChanged事件,参考代码

 

If e.DataCol.name = "审批" Then
    If e.NewValue = True Then
        Dim dt1 As DataTable = DataTables("凭证")
        Dim dt2 As DataTable = DataTables("凭证明细")
        Dim ndr As DataRow = dt1.addnew
        ndr("日期") = Date.Today
        ndr("凭证id") = e.DataRow("入库单号")
        Dim cdr1 As DataRow = dt2.AddNew
        cdr1("凭证id") = ndr("凭证id")
        cdr1("会计科目_一级科目") = "原材料"
        Dim cdr2 As DataRow = dt2.AddNew
        cdr2("凭证id") = ndr("凭证id")
        cdr2("会计科目_一级科目") = "应付账款"
        cdr2("会计科目_明细科目") = e.DataRow("供应商名称")
       
    End If
End If


--  作者:nths
--  发布时间:2017/4/10 11:02:00
--  
谢谢!老师


--  作者:nths
--  发布时间:2017/4/10 12:42:00
--  
老师:你好!感谢你的指导,你这个代码确实是自动生成凭证明细,但能否在入库单取消审核时,凭证明细对应行自动删除、在删除入库单时对应的凭证明细也删除了
--  作者:有点色
--  发布时间:2017/4/10 14:59:00
--  

参考代码

 

If e.DataCol.name = "审批" Then
    If e.NewValue = True Then
        Dim dt1 As DataTable = DataTables("凭证")
        Dim dt2 As DataTable = DataTables("凭证明细")
        Dim ndr As DataRow = dt1.addnew
        ndr("日期") = Date.Today
        ndr("凭证id") = e.DataRow("入库单号")
        Dim cdr1 As DataRow = dt2.AddNew
        cdr1("凭证id") = ndr("凭证id")
        cdr1("会计科目_一级科目") = "原材料"
        Dim cdr2 As DataRow = dt2.AddNew
        cdr2("凭证id") = ndr("凭证id")
        cdr2("会计科目_一级科目") = "应付账款"
        cdr2("会计科目_明细科目") = e.DataRow("供应商名称")
    Else

        Dim dt1 As DataTable = DataTables("凭证")
        Dim dt2 As DataTable = DataTables("凭证明细")

        dt1.DeleteFor("凭证id = \'" & e.DataRow("入库单号") & "\'")        

        dt2.DeleteFor("凭证id = \'" & e.DataRow("入库单号") & "\'")        
    End If
End If