📄 -
字号:
.Fields("PSCode") = RecTemp.Fields("PSCode") '往来单位编码
.Fields("KJYear") = RecTemp.Fields("KJYear") '会计年度
.Fields("Period") = RecTemp.Fields("Period") '会计期间
.Fields("BillItemCode") = "30" '单据类型
.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") + Val(RecTemp.Fields("BbInterest") & "") '收回/付款本币金额+利息
.Fields("ForeignCurrCode") = RecTemp.Fields("ForeignCurrCode") '原币编码
.Fields("AccRate") = RecTemp.Fields("AccRate") + 0 '记帐汇率
.Fields("YbSsje") = RecTemp.Fields("YbSsJe") + Val(RecTemp.Fields("YbInterest") & "") '原币收回/付款金额+利息
.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
'登记应收/应付总帐
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") - Val(RecTemp.Fields("YbInterest") & "") '本期期末原币余额-利息
.Fields("BbSsje") = .Fields("BbSsje") + RecTemp.Fields("BbSsje") - Val(RecTemp.Fields("BbInterest") & "") '本期收回/付款本币金额-利息
.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 Xs_InvoiceBillMain Where ArBookFlag=0 And Checker<>'' And InvoiceBillMainID=" & Lng_BillID)
If RecTemp.EOF Then
Fun_AccInvoiceBill = True
Cw_DataEnvi.DataConnect.RollbackTrans
Exit Function
End If
'对销售发票写过帐标识
Cw_DataEnvi.DataConnect.Execute ("Update Xs_InvoiceBillMain Set ArBookFlag=1 Where InvoiceBillMainID=" & 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") = "AR" '应收应付标识
.Fields("PSCode") = RecTemp.Fields("CusCode") '往来单位编码
.Fields("KJYear") = Int_Dqyear '过帐会计年度
.Fields("Period") = Int_DqPeriod '过帐会计期间
If RecTemp.Fields("InvoiceType") = "0" Then
.Fields("BillItemCode") = "10" '单据类型(销售普通发票)
Else
.Fields("BillItemCode") = "11" '单据类型(销售专用发票)
End If
.Fields("BillID") = RecTemp.Fields("InvoiceBillMainID") '单据ID
.Fields("BillCode") = RecTemp.Fields("InvoiceCode") '单据编码
.Fields("BillDate") = Xtrq '单据日期(过帐日期)
.Fields("Digest") = RecTemp.Fields("Remark") '摘要
.Fields("BbYsje") = RecTemp.Fields("NowValue") '应收/应付本币金额
.Fields("ForeignCurrCode") = RecTemp.Fields("ForeignCurrCode") '原币编码
.Fields("AccRate") = RecTemp.Fields("ExchRate") + 0 '记帐汇率
.Fields("YbYsje") = RecTemp.Fields("NowValueFor") '原币应收/应付金额
.Fields("DeptCode") = Trim(RecTemp.Fields("DeptCode") & "") '部门
.Fields("PersonCode") = Trim(RecTemp.Fields("PersonCode") & "") '业务员
.Fields("AccCodeArAp") = RecTemp.Fields("ArAccCode") '应收科目
.Fields("Maker") = RecTemp.Fields("Maker") '制单
.Fields("Checker") = RecTemp.Fields("Checker") '审核
.Update
End With
'登记应收/应付总帐
Str_PSCode = Trim(RecTemp.Fields("CusCode") & "")
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='AR' 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") = "AR" '应收应付标识
.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 Xs_AddNew(XsDate As String) As Boolean
Dim Tsxx As String
Dim Sqlstr As String
Dim RecTemp As New ADODB.Recordset
Xs_AddNew = False
Sqlstr = "Select * From Gy_kjrlb where qsrq<='" & Format(XsDate, "yyyy-mm-dd") & "' and zzrq>='" & Format(XsDate, "yyyy-mm-dd") & "'"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If RecTemp.RecordCount > 0 Then
If Trim(RecTemp.Fields("xsjzbz")) Then
Tsxx = "当前单据日期所在的会计期间已经结帐!"
Call Xtxxts(Tsxx, 0, 1)
Exit Function
End If
XsYear = RecTemp.Fields("KjYear")
XsMm = RecTemp.Fields("Period")
Xs_AddNew = True
Else
Tsxx = "当前单据日期的会计年没有设置!"
Call Xtxxts(Tsxx, 0, 1)
Exit Function
End If
End Function
Public Function Inv_Check(TempId As Integer) As Boolean '审核发票
Dim strTemp As String
Dim RecTemp As New ADODB.Recordset
Dim RsTemp As New ADODB.Recordset
Dim WareCode As String
Dim OrderId As Integer
Dim ConsignId As Integer
Dim Flag As Boolean '是否现销
Dim Quantity As Double '核销数量
Dim BackID As Integer '回款单ID
Dim BackCode As String '回款单号
Dim CreateCode As String '核销单号
Dim Tsxx As String '系统信息提示
Inv_Check = False
strTemp = "Select Checker,invoiceflag From Xs_InvoiceBillMain Where InvoiceBillMainID='" & TempId & "'"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(strTemp)
With RecTemp
If Not .EOF Then
If Trim(.Fields("Checker") & "") <> "" Then
Tsxx = "该单据已审核,不能再审核!"
Call Xtxxts(Tsxx, 0, 4)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -