TA的每日心情 开心 2015-9-7 08:41
签到天数: 105 天
[LV.6]常住居民II
※ 注 意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
楼主热帖