阳光网驿-企业信息化交流平台【DTC零售连锁全渠道解决方案】

 找回密码
 注册

QQ登录

只需一步,快速开始

扫描二维码登录本站

手机号码,快捷登录

老司机
查看: 3393|回复: 1

[讨论] 二次开发调用凭证问题

[复制链接]
  • TA的每日心情
    开心
    2015-9-7 08:41
  • 签到天数: 105 天

    [LV.6]常住居民II

    发表于 2008-6-6 21:32:52 | 显示全部楼层 |阅读模式

    ※ 注 意2:为了网友们能更快地解决你的问题,请详细表述你的交流内容,并最好附上问题图片。



    下面是我做二次开发调用U8.21总帐凭证的程序,但总是出错,麻烦各位DX帮一下忙
    经过半个月的研究现在已经能在二次开发中把相应单据自动生成凭证,而且可以查查询修改,调出凭证界面,需要更改数据及数据字段和值,以上在U8-V8.21中测试通过




    Private Sub PZ_Add()
        '增加凭证
       

        Dim m_ZwPub As clsPub     '定义公用函数
        'Dim WithEvents m_objPz As clsPZ      '定义凭证对象
       
        Set m_ZwPub = New clsPub
        m_ZwPub.InitPubs2 "DP", g_oLogin.UfSystemDb, Ufdbs, g_oLogin.cAcc_ID, g_oLogin.cIYear, g_oLogin.cUserID, g_oLogin.CurDate, g_oLogin.SysPassword
        '准备数据
        Dim i As Integer, rstVouch As UfRecordset
        Sql = "select * from " & m_ZwPub.WbTableName
        Set rstVouch = m_ZwPub.DataMdb.OpenRecordset(Sql)

         '------------1.借方科目--------------------------------------
        rstVouch.AddNew
        rstVouch!csign = "记"                    '凭证类别字
        rstVouch!iNid = 0                     '行号
        rstVouch!iDoc = 0                     '附单据数
        rstVouch!cBill = g_oLogin.cUserName   '制单人
        rstVouch!cDigest = ComType.Text & "_" & NBlank(txtDate.Text) & "_" & NBlank(txtCusCode.Text)              '摘要
         rstVouch!cCode = "10201"           '科目编码
                            '    rstVouch!cexch_name = "人民币"        '币种
        rstVouch!md = Nz(txtMoneys.Text)
        rstVouch!mc = 0
        rstVouch!md_f = 0                   '外币借方金额
        rstVouch!mc_f = 0                   '外币货方金额
        'rstVouch!nFrat = 8.265                '汇率
        rstVouch!nd_s = 0                     '数量_借方
        rstVouch!nc_s = 0                     '数量_贷方
    '    rstVouch!cSettle = Null               '结算方式编码
        rstVouch!cn_id = NBlank(txtCode.Text)    '票号
        rstVouch!dT_Date = NBlank(txtDate.Text)  '票号发生日期
           rstVouch!cOutAccset = g_oLogin.cAcc_ID  '外部凭证帐套号
        rstVouch!iOutYear = g_oLogin.cIYear      '外部凭证会计年度
        rstVouch!cOutSysName = "DP"              '外部凭证系统名称
        '              rstVouch!cOutSysVer = "外部凭证系统版本号" '外部凭证系统版本号
        rstVouch!dOutBillDate = NBlank(txtDate.Text)       '外部凭证制单日期
        rstVouch!iOutPeriod = Month(txtDate.Text)     '外部凭证会计期间
        rstVouch!cOutSign = "DP" '"AR"                        '外部凭证业务类型
        rstVouch!cOutNo_id = MaxPzNo                 '外部凭证业务号"
        rstVouch!dOutDate = NBlank(txtDate.Text)      '外部凭证单据日期
        rstVouch!cOutBillSign = "DP"                 '外部凭证单据类型
        rstVouch!cOutId = NBlank(txtCode.Text)     '外部凭证单据号
        rstVouch!bVouchedit = True                '凭证是否可修改
        rstVouch!bVouchAddorDele = True           '凭证分录是否可增删
        rstVouch!bVouchMoneyHold = False           '凭证合计金额是否保值
        rstVouch!bValUeedit = False                '分录数值是否可修改
        rstVouch!bCodeedit = True                 '分录科目是否可修改
    '    rstVouch!cCodecontrol = Null              '分录受控科目可用状态
        rstVouch!bPCSedit = True                  '分录往来项是否可修改
        rstVouch!bDeptedit = True                  '分录部门是否可修改
        rstVouch!bItemedit = True               '分录项目是否可修改
           rstVouch.Update
       
         '------------2.贷方科目--------------------------------------
        rstVouch.AddNew
        rstVouch!csign = "记"                    '凭证类别字
        rstVouch!iNid = 1                     '行号
        rstVouch!iDoc = 0                     '附单据数
        rstVouch!cBill = g_oLogin.cUserName   '制单人
        rstVouch!cDigest = ComType.Text & "_" & NBlank(txtDate.Text) & "_" & NBlank(txtCusCode.Text)              '摘要
        rstVouch!cCode = "12201"           '科目编码
      '    rstVouch!cexch_name = "人民币"        '币种
        rstVouch!md = 0
        rstVouch!mc = Nz(txtMoneys.Text)
           rstVouch!md_f = 0                   '外币借方金额
        rstVouch!mc_f = 0                   '外币货方金额
        'rstVouch!nFrat = 8.265                '汇率
        rstVouch!nd_s = 0                     '数量_借方
        rstVouch!nc_s = 0                     '数量_贷方
    '    rstVouch!cSettle = Null               '结算方式编码
        rstVouch!cn_id = NBlank(txtCode.Text)    '票号
        rstVouch!dT_Date = NBlank(txtDate.Text)  '票号发生日期
           rstVouch!cCus_id = NBlank(txtCusCode.ToolTipText)    '客户编码
           Set mCus = New ClsCustomer
        mCus.GetDetail NBlank(txtCusCode.ToolTipText)
        Set mPerson = New ClsPerson
        mPerson.GetDetail mCus.cCusPPerson
       
        rstVouch!cName = NBlank(mPerson.cPersonName)      '业务员"
        rstVouch!cCode_equal = "对方科目编码" '对方科目编码
        rstVouch!cOutAccset = g_oLogin.cAcc_ID  '外部凭证帐套号
        rstVouch!iOutYear = g_oLogin.cIYear      '外部凭证会计年度
        rstVouch!cOutSysName = "DP"              '外部凭证系统名称
    '    '              rstVouch!cOutSysVer = "外部凭证系统版本号" '外部凭证系统版本号
        rstVouch!dOutBillDate = NBlank(txtDate.Text)       '外部凭证制单日期
        rstVouch!iOutPeriod = Month(txtDate.Text)     '外部凭证会计期间
        rstVouch!cOutSign = "DP" '"AR"                       '外部凭证业务类型
        rstVouch!cOutNo_id = MaxPzNo                 '外部凭证业务号"
        rstVouch!dOutDate = NBlank(txtDate.Text)      '外部凭证单据日期
        rstVouch!cOutBillSign = "DP"                 '外部凭证单据类型
        rstVouch!cOutId = NBlank(txtCode.Text)     '外部凭证单据号
        rstVouch!bVouchedit = True                '凭证是否可修改
        rstVouch!bVouchAddorDele = True           '凭证分录是否可增删
        rstVouch!bVouchMoneyHold = False           '凭证合计金额是否保值
        rstVouch!bValUeedit = False                '分录数值是否可修改
        rstVouch!bCodeedit = True                 '分录科目是否可修改
    '    rstVouch!cCodec              '分录受控科目可用状态
        rstVouch!bPCSedit = True                  '分录往来项是否可修改
        rstVouch!bDeptedit = True                  '分录部门是否可修改
        rstVouch!bItemedit = True                 '分录项目是否可修改
        rstVouch!bCusSupInput = True              '分录往来项是滞必输
           rstVouch.Update
       
    '调用凭证对象
    Set m_objPz = New clsPZ
    Set m_objPz.zzLogin = g_oLogin
    Set m_objPz.zzSys = m_ZwPub
    m_objPz.StartUpPz "DP", "GL0201", Pz_ZD

    finally:
    Set m_objPz = Nothing:    Set m_ZwPub = Nothing

    Set mVouch = Nothing
    Exit Sub
    Err:
    MsgBox "生成凭证时有错误,请与系统管理员联系!", vbCritical, "生成凭证"
    GoTo finally
    End Sub



    Private Sub m_objPz_Save(rstCurrentVouch As UfDbKit.UfRecordset, IsSuccess As Boolean)
    '保存凭证  IsSuccess 为是否同意提交该凭证, IsSuccess=True提交该凭证,IsSuccess=False放弃该凭证的保存
        On Error GoTo ErrHandle
        '用户业务处理 开始
    '        Set mVouch = New ClsZ_HApVouch
    '        If mVouch.GetPzNo_True(MaxPzNo, 0) = True Then
    '           MsgBox "收款单生成凭证业务单号[" & MaxPzNo & "]已经存在,请重新生成!"
    '           GoTo ErrHandle
    '        End If
    '        '更新收款单
    '        'gDBO.BeginTrans '开始
    '    'gDBO.Commit        '结束
    '    'gDBO.Rollback      '回滚
    '        gDBO.BeginTrans '开始
    '        Set mVouch = New ClsZ_HApVouch
    '        mVouch.GetDetail iValue
    '        mVouch.EditRecord
    '        mVouch.iID = iValue
    '        mVouch.iPzYear = g_oLogin.cIYear
    '        mVouch.iPzNo = MaxPzNo
    '        If Not mVouch.Submit Then
    '            MsgBox "生成凭证时更新收款单数据时出错,请与系统管理员联系!", vbCritical
    '            gDBO.RollBack      '回滚
    '            GoTo ErrHandle
    '        End If
    '        gDBO.Commit        '结束
    '        MsgBox "生成凭证成功", vbInformation
    '        Call GetDetail(iValue)
    '    '用户业务处理 结束
        IsSuccess = True
    finally:
        Set mVouch = Nothing
        Exit Sub
    ErrHandle:
        IsSuccess = False
        MsgBox "生成凭证失败", vbInformation
        GoTo finally
    End Sub


    showimg.jpg
    楼主热帖
    启用邀请码注册,提高发帖质量,建设交流社区
  • TA的每日心情
    开心
    2024-2-19 12:58
  • 签到天数: 241 天

    [LV.8]以坛为家I

    发表于 2008-7-19 10:30:34 | 显示全部楼层
    1.凭证的授权控件安装没有
    2.外部调用凭证好象还要增加参数

    我的建议供你参考!
    启用邀请码注册,提高发帖质量,建设交流社区
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表