📄 -
字号:
.Fields("AccCode") = RecTemp.Fields("AccCode") '应付票据科目
.Fields("AccCodeArAp") = RecTemp.Fields("AccCodeArAp") '应付科目
.Fields("ForeignCurrCode") = RecTemp.Fields("ForeignCurrCode") '原币编码
.Fields("AccRate") = RecTemp.Fields("AccRate") '记帐汇率
.Fields("YbSsJe") = RecTemp.Fields("YbSsJe") '原币金额
.Fields("BbSsje") = RecTemp.Fields("BbSsJe") '本币金额
.Fields("DeptCode") = RecTemp.Fields("DeptCode") '部门
.Fields("PersonCode") = RecTemp.Fields("PersonCode") '经办人
.Fields("Digest") = Trim(RecTemp.Fields("Digest")) & "应付票据" & Trim(RecTemp.Fields("NoteCode")) '摘要
.Fields("Maker") = RecTemp.Fields("Maker") '制单人
.Fields("SourceBillCode") = RecTemp.Fields("NoteCode") '应付票据编码
.Fields("Checker") = Xtczy '审核人
.Fields("IfBuildVouch") = True '付款单中不必再做凭证
.Update
End With
'20-登记应收/应付明细帐
With Rec_AccList
If .State = 1 Then .Close
.Open "Select * From RP_AccList Where 1=2", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
.AddNew
.Fields("RPFlag") = RecTemp.Fields("RPFlag") '应收应付标识
.Fields("PSCode") = RecTemp.Fields("PSCode") '往来单位编码
.Fields("KJYear") = RecTemp.Fields("KJYear") '会计年度
.Fields("Period") = RecTemp.Fields("Period") '会计期间
.Fields("BillItemCode") = "90" '单据类型
.Fields("BillID") = CloseBillId '单据ID
.Fields("BillCode") = CloseBillCode '单据编码
.Fields("BillDate") = RecTemp.Fields("BillDate") '单据日期
.Fields("Digest") = Trim(RecTemp.Fields("Digest")) & "应付票据" & Trim(RecTemp.Fields("NoteCode")) '摘要
.Fields("BbSsje") = RecTemp.Fields("BbSsJe") '收回/付款本币金额
.Fields("ForeignCurrCode") = RecTemp.Fields("ForeignCurrCode") '原币编码
.Fields("AccRate") = RecTemp.Fields("AccRate") + 0 '记帐汇率
.Fields("YbSsje") = RecTemp.Fields("YbSsJe") '原币收回/付款金额
.Fields("DeptCode") = RecTemp.Fields("DeptCode") '部门
.Fields("PersonCode") = RecTemp.Fields("PersonCode") '经办人
.Fields("AccCode") = RecTemp.Fields("AccCode") '应付票据科目编码
.Fields("AccCodeArAp") = RecTemp.Fields("AccCodeArAp") '应付科目编码
.Fields("Maker") = RecTemp.Fields("Maker") '制单人
.Fields("Checker") = RecTemp.Fields("Checker") '审核人
.Fields("IfBuildVouch") = True '在不必在明细帐中做凭证
.Update
End With
'30-登记应收/应付总帐
Str_PSCode = Trim(RecTemp.Fields("PSCode") & "")
Str_DeptCode = Trim(RecTemp.Fields("DeptCode") & "")
Str_PersonCode = Trim(RecTemp.Fields("PersonCode") & "")
Str_ForeignCurrCode = Trim(RecTemp.Fields("ForeignCurrCode") & "")
With Rec_AccSum
If .State = 1 Then .Close
.Open "Select * From RP_AccSum Where RpFlag='" & Trim(RecTemp.Fields("RPFlag")) & "' And PSCode='" & Str_PSCode & _
"' And DeptCode='" & Str_DeptCode & "' And PersonCode='" & Str_PersonCode & "' And ForeignCurrCode='" & Str_ForeignCurrCode & "' And kjYear=" & Int_Dqyear & " And Period=" & Int_DqPeriod, Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
If Not Rec_AccSum.EOF Then
.Fields("YbSsje") = .Fields("YbSsje") + RecTemp.Fields("YbSsje") '本期收回/付款原币金额
.Fields("YbQmye") = .Fields("YbQcye") + .Fields("YbYsje") - .Fields("YbSsje") '本期期末原币余额
.Fields("BbSsje") = .Fields("BbSsje") + RecTemp.Fields("BbSsje") '本期收回/付款本币金额
.Fields("BbQmye") = .Fields("BbQcye") + .Fields("BbYsje") - .Fields("BbSsje") '本期期末本币余额
.Update
Else
.AddNew
.Fields("RPFlag") = RecTemp.Fields("RPFlag") '应收应付标识
.Fields("PSCode") = Str_PSCode '往来单位编码
.Fields("DeptCode") = Str_DeptCode '部门编码
.Fields("PersonCode") = Str_PersonCode '个人编码
.Fields("ForeignCurrCode") = Str_ForeignCurrCode '原币编码
.Fields("KJYear") = RecTemp.Fields("KJYear") '会计年度
.Fields("Period") = RecTemp.Fields("Period") '会计期间
.Fields("YbSsje") = RecTemp.Fields("YbSsje") + 0 '本期收回/付款原币金额
.Fields("YbQmye") = -RecTemp.Fields("YbSsje") '本期期末原币余额
.Fields("BbSsje") = RecTemp.Fields("BbSsje") + 0 '本期收回/付款本币金额
.Fields("BbQmye") = -RecTemp.Fields("BbSsje") '本期期末本币余额
.Update
End If
End With
Cw_DataEnvi.DataConnect.CommitTrans
Fun_BookSumNote = True
Exit Function
Swcwcl:
Cw_DataEnvi.DataConnect.RollbackTrans
Tsxx = "审核单据过程中出现未知错误,程序自动恢复审核前状态!"
Call Xtxxts(Tsxx, 0, 1)
Exit Function
End Function
'=======================================采购发票过帐======================================'
Public Function Fun_AccInvoiceBill(Lng_BillID As Long, Int_Dqyear, Int_DqPeriod) As Boolean '采购发票过帐
Dim RecTemp As New ADODB.Recordset '临时使用动态集
Dim Rec_AccList As New ADODB.Recordset '应收应付明细帐动态集
Dim Rec_AccSum As New ADODB.Recordset '应收应付总帐动态集
Dim Str_PSCode As String '往来单位编码
Dim Str_DeptCode As String '部门编码
Dim Str_PersonCode As String '职员编码
Dim Str_ForeignCurrCode As String '原币编码
Dim Tsxx As String '系统信息提示
Fun_AccInvoiceBill = False
On Error GoTo Swcwcl
Cw_DataEnvi.DataConnect.BeginTrans
Set RecTemp = Cw_DataEnvi.DataConnect.Execute("Select * From Cg_InvoiceMain Where ApBookFlag=0 And Checker<>'' And InvoiceMainID=" & Lng_BillID)
If RecTemp.EOF Then
Fun_AccInvoiceBill = True
Cw_DataEnvi.DataConnect.RollbackTrans
Exit Function
End If
'对采购发票写过帐标识
Cw_DataEnvi.DataConnect.Execute ("Update Cg_InvoiceMain Set ApBookFlag=1 Where InvoiceMainID=" & Lng_BillID)
'登记应收/应付明细帐
With Rec_AccList
If .State = 1 Then .Close
.Open "Select * From RP_AccList Where 1=2", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
.AddNew
.Fields("RPFlag") = "AP" '应收应付标识
.Fields("PSCode") = RecTemp.Fields("SupplierCode") '往来单位编码
.Fields("KJYear") = Int_Dqyear '过帐会计年度
.Fields("Period") = Int_DqPeriod '过帐会计期间
If RecTemp.Fields("InvoiceSort") = "0" Then
.Fields("BillItemCode") = "70" '单据类型(采购普通发票)
Else
.Fields("BillItemCode") = "71" '单据类型(采购专用发票)
End If
.Fields("BillID") = RecTemp.Fields("InvoiceMainID") '单据ID
.Fields("BillCode") = RecTemp.Fields("InvoiceNum") '单据编码
.Fields("BillDate") = Xtrq '单据日期(过帐日期)
.Fields("Digest") = RecTemp.Fields("Remark") '摘要
.Fields("BbYsje") = RecTemp.Fields("NowValue") '应收/应付本币金额
.Fields("ForeignCurrCode") = RecTemp.Fields("ForeignCurrCode") '原币编码
.Fields("AccRate") = RecTemp.Fields("AccRate") + 0 '记帐汇率
.Fields("YbYsje") = RecTemp.Fields("NowValueFor") '原币应收/应付金额
.Fields("DeptCode") = Trim(RecTemp.Fields("DeptCode") & "") '部门
.Fields("PersonCode") = Trim(RecTemp.Fields("PersonCode") & "") '业务员
.Fields("AccCodeArAp") = RecTemp.Fields("ApAccCode") '应付科目
.Fields("Maker") = RecTemp.Fields("Maker") '制单
.Fields("Checker") = RecTemp.Fields("Checker") '审核
.Update
End With
'登记应收/应付总帐
Str_PSCode = Trim(RecTemp.Fields("SupplierCode") & "")
Str_DeptCode = Trim(RecTemp.Fields("DeptCode") & "")
Str_PersonCode = Trim(RecTemp.Fields("PersonCode") & "")
Str_ForeignCurrCode = Trim(RecTemp.Fields("ForeignCurrCode") & "")
With Rec_AccSum
If .State = 1 Then .Close
.Open "Select * From RP_AccSum Where RpFlag='AP' And PSCode='" & Str_PSCode & _
"' And DeptCode='" & Str_DeptCode & "' And PersonCode='" & Str_PersonCode & "' And ForeignCurrCode='" & Str_ForeignCurrCode & "' And kjYear=" & Int_Dqyear & " And Period=" & Int_DqPeriod, Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
If Not Rec_AccSum.EOF Then
.Fields("YbYsje") = .Fields("YbYsje") + RecTemp.Fields("NowValueFor") '本期应收/应付原币金额
.Fields("YbQmye") = .Fields("YbQcye") + .Fields("YbYsje") - .Fields("YbSsje") '本期期末原币余额
.Fields("BbYsje") = .Fields("BbYsje") + RecTemp.Fields("NowValue") '本期应收/应付本币金额
.Fields("BbQmye") = .Fields("BbQcye") + .Fields("BbYsje") - .Fields("BbSsje") '本期期末本币余额
.Update
Else
.AddNew
.Fields("RPFlag") = "AP" '应收应付标识
.Fields("PSCode") = Str_PSCode '往来单位编码
.Fields("DeptCode") = Str_DeptCode '部门编码
.Fields("PersonCode") = Str_PersonCode '个人编码
.Fields("ForeignCurrCode") = Str_ForeignCurrCode '原币编码
.Fields("KJYear") = Int_Dqyear '会计年度
.Fields("Period") = Int_DqPeriod '会计期间
.Fields("YbYsje") = RecTemp.Fields("NowValueFor") + 0 '本期应收/应付原币金额
.Fields("YbQmye") = RecTemp.Fields("NowValueFor") '本期期末原币余额
.Fields("BbYsje") = RecTemp.Fields("NowValue") + 0 '本期应收/应付本币金额
.Fields("BbQmye") = RecTemp.Fields("NowValue") '本期期末本币余额
.Update
End If
End With
Cw_DataEnvi.DataConnect.CommitTrans
Fun_AccInvoiceBill = True
Exit Function
Swcwcl:
Cw_DataEnvi.DataConnect.RollbackTrans
Tsxx = "发票过帐过程中出现未知错误,程序自动恢复过帐前状态!"
Call Xtxxts(Tsxx, 0, 1)
Exit Function
End Function
Public Function AddImageCombo(Combote As ImageCombo, AddKey As String, AddText As String) '补充填充列表框(ImageCombo)
'函数参数:列表框(ImageCombo),填充索引(AddKey),填充内容(AddText)
Dim ci As ComboItem
Set ci = Combote.ComboItems.Add(, AddKey, AddText)
End Function
'***********************应付帐款会计科目*********************
Public Function Fun_ApKjKm(KmType As String) As String '读取应付帐款科目
'KmType 应付帐款对应的编码
Dim RecTemp As New ADODB.Recordset '临时查询动态集
Dim StrTemp As String '连接字符串
StrTemp = " Select CCode From RP_InputCode Where ItemCode='" & KmType & "'"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(StrTemp)
With RecTemp
If Not .EOF Then
Fun_ApKjKm = Trim(.Fields("CCode"))
Else
Fun_ApKjKm = ""
End If
End With
End Function
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -