📄 i-
字号:
Dyymctbl.BbhsVScroll.Enabled = False
Dyymctbl.BbhsText.Text = .LrText(2).Text
Else
Bln_CqGcShow = False
Dyymctbl.ZdhsCheck.Enabled = True
Dyymctbl.BbhsText.Enabled = True
Dyymctbl.BbhsVScroll.Enabled = True
End If
Int_Zdzyhs = Val(.LrText(2).Text)
End With
'初始化各种值
Dbl_Qcyete = 0
Dbl_Qcslte = 0
Dbl_Qcwbte = 0
Dbl_Jejfhj = 0
Dbl_Jedfhj = 0
Dbl_Sljfhj = 0
Dbl_Sldfhj = 0
Dbl_Wbjfhj = 0
Dbl_Wbdfhj = 0
Dbl_Jejflj = 0
Dbl_Jedflj = 0
Dbl_Sljflj = 0
Dbl_Sldflj = 0
Dbl_Wbjflj = 0
Dbl_Wbdflj = 0
Lng_MonthCount = 0
Lng_YearCount = 0
Jsqte = CxbbGrid.FixedRows - 1
'1.计算期初余额(金额,数量,外币),并计算截止查询起始会计期间累计数据
Sqlstr = "SELECT * From Cwzz_AccSum Where Ccode='" & Str_Ccode & "' And Year=" & Int_Year & _
" And Period=" & Int_BPeriod
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Not RecTemp.EOF Then
Dbl_Qcyete = RecTemp.Fields("Qcye")
Dbl_Qcslte = RecTemp.Fields("Qcsl")
Dbl_Qcwbte = RecTemp.Fields("Qcwb")
'截止累计数据需要减掉本会计期间相应记帐数据
Dbl_Jejflj = RecTemp.Fields("Byjfljje") - RecTemp.Fields("Mjje")
Dbl_Jedflj = RecTemp.Fields("Bydfljje") - RecTemp.Fields("Mdje")
Dbl_Sljflj = RecTemp.Fields("Byjfljsl") - RecTemp.Fields("Mjsl")
Dbl_Sldflj = RecTemp.Fields("Bydfljsl") - RecTemp.Fields("Mdsl")
Dbl_Wbjflj = RecTemp.Fields("Byjfljwb") - RecTemp.Fields("Mjwb")
Dbl_Wbdflj = RecTemp.Fields("Bydfljwb") - RecTemp.Fields("Mdwb")
End If
'如果包含未记帐凭证则计算小于查询起始会计期间包含科目借贷方合计
If Bln_IncluNotBook Then
Sqlstr = "SELECT Sum(Jfje) as Jfjehj,Sum(Dfje) as Dfjehj,Sum(Jfsl) as Jfslhj,Sum(Dfsl) as Dfslhj" & _
",Sum(Wbjfje) as Wbjfjehj,Sum(Wbdfje) as Wbdfjehj From Cwzz_V_AccVouch Where BookFlag=0 And Ccode like '" & Str_Ccode & "%' And Year=" & Int_Year & _
" And Period<" & Int_BPeriod
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
If Not RecTemp.EOF Then
Dbl_Qcyete = Dbl_Qcyete + Val(RecTemp.Fields("Jfjehj") & "") - Val(RecTemp.Fields("Dfjehj") & "")
Dbl_Qcslte = Dbl_Qcslte + Val(RecTemp.Fields("Jfslhj") & "") - Val(RecTemp.Fields("Dfslhj") & "")
Dbl_Qcwbte = Dbl_Qcwbte + Val(RecTemp.Fields("Wbjfjehj") & "") - Val(RecTemp.Fields("Wbdfjehj") & "")
'计算相应截止查询起始会计期间累计数据
Dbl_Jejflj = Dbl_Jejflj + Val(RecTemp.Fields("Jfjehj") & "")
Dbl_Jedflj = Dbl_Jedflj + Val(RecTemp.Fields("Dfjehj") & "")
Dbl_Sljflj = Dbl_Sljflj + Val(RecTemp.Fields("Jfslhj") & "")
Dbl_Sldflj = Dbl_Sldflj + Val(RecTemp.Fields("Dfslhj") & "")
Dbl_Wbjflj = Dbl_Wbjflj + Val(RecTemp.Fields("Wbjfjehj") & "")
Dbl_Wbdflj = Dbl_Wbdflj + Val(RecTemp.Fields("Wbdfjehj") & "")
End If
End If
If (Dbl_Qcyete <> 0 Or (Bln_EndFlag And (Dbl_Qcslte <> 0 Or Dbl_Qcwbte <> 0))) Or Bln_QcZeroShow Then '如果期初数据为零,且用户选择不输出则不显示此行数据
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
'将期初数据写入网格(第1会计期间为上年结转,其余会计期间为期初余额)
If Int_BPeriod = 1 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "上年结转"
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "期初余额"
End If
'输出余额
Call Sub_OutBalance(Jsqte, Bln_EndFlag, Bln_ForeignFlag, Dbl_Qcyete, Dbl_Qcslte, Dbl_Qcwbte)
End If
'2.读取查询会计期间范围内所有符合条件明细帐数据(以年度+会计期间),并写入网格
Bln_NotFirst = False
'筛选所有符合条件数据
Sqlstr = "SELECT *" & _
" From Cwzz_V_AccVouchAss Where Ccode like '" & Str_Ccode & "%'And Year=" & Int_Year & _
" And Period>=" & Int_BPeriod & " And Period<=" & Int_EPeriod
If Not Bln_IncluNotBook Then
Sqlstr = Sqlstr & " And BookFlag=1"
End If
Sqlstr = Sqlstr & " Order By Year,Period,Ddate,VouchClassCode,VouchNo"
Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
With RecTemp
Do While Not .EOF
If Bln_NotFirst Then
'当前进行会计期间发生变化则添加本月合计及本年累计
If .Fields("Period") <> Int_DqPeriod Then
'显示本月合计
If Lng_MonthCount <> 0 Then
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
'输出本月合计
Call Sub_OutPeriodSum(Jsqte, Bln_EndFlag, Bln_ForeignFlag, Int_DqPeriod, Dbl_Jejfhj, Dbl_Jedfhj, Dbl_Sljfhj, Dbl_Sldfhj, Dbl_Wbjfhj, Dbl_Wbdfhj)
'输出余额
Call Sub_OutBalance(Jsqte, Bln_EndFlag, Bln_ForeignFlag, Dbl_Qcyete, Dbl_Qcslte, Dbl_Qcwbte)
End If
'重新初始化本月合计数据
Dbl_Jejfhj = 0
Dbl_Jedfhj = 0
Dbl_Sljfhj = 0
Dbl_Sldfhj = 0
Dbl_Wbjfhj = 0
Dbl_Wbdfhj = 0
Lng_MonthCount = 0
'显示本年累计
If Lng_YearCount <> 0 Then
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
'输出本年累计
Call Sub_OutYearSum(Jsqte, Bln_EndFlag, Bln_ForeignFlag, Int_DqPeriod, Dbl_Jejflj, Dbl_Jedflj, Dbl_Sljflj, Dbl_Sldflj, Dbl_Wbjflj, Dbl_Wbdflj)
'输出余额
Call Sub_OutBalance(Jsqte, Bln_EndFlag, Bln_ForeignFlag, Dbl_Qcyete, Dbl_Qcslte, Dbl_Qcwbte)
End If
End If '显示本月合计,本年累计完毕
End If
Bln_NotFirst = True
'显示明细数据
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
'本月、本年记录计数器+1
Lng_MonthCount = Lng_MonthCount + 1
Lng_YearCount = Lng_YearCount + 1
'未记帐明细分录变色显示
If .Fields("BookFlag") = 0 Then
CxbbGrid.Cell(flexcpBackColor, Jsqte, 0, , CxbbGrid.Cols - 1) = Lab_Color(0).BackColor
End If
'修改当前会计期间
Int_DqPeriod = .Fields("Period")
CxbbGrid.TextMatrix(Jsqte, 0) = .Fields("VouchId") '凭证ID
If IsDate(.Fields("Ddate")) Then
CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = .Fields("Ddate") '日期
End If
CxbbGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("VouchClassCode") & "") + "-" + Mid(Trim(Str(10000 + .Fields("VouchNo"))), 2, 4) '凭证字号
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Trim(.Fields("Digest") & "") '摘要
'部门
If Trim(.Fields("DeptName") & "") <> "" Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("DeptName") & "")
End If
'个人
If Trim(.Fields("PersonName") & "") <> "" Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("PersonName") & "")
End If
'客户
If Trim(.Fields("CusName") & "") <> "" Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("CusName") & "")
End If
'项目
If Trim(.Fields("ItemName") & "") <> "" Then
CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) + " " + Trim(.Fields("ItemName") & "")
End If
If .Fields("Jfje") <> 0 Then '借方金额
CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = .Fields("Jfje")
CxbbGrid.TextMatrix(Jsqte, Sydz("009", GridStr(), Szzls)) = .Fields("Jfje")
End If
If .Fields("Dfje") <> 0 Then '贷方金额
CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = .Fields("Dfje")
CxbbGrid.TextMatrix(Jsqte, Sydz("013", GridStr(), Szzls)) = .Fields("Dfje")
End If
'只有末级科目才显示数量和外币,数量不为零则计算单价
If Bln_EndFlag Then
If .Fields("Jfsl") <> 0 Then '借方数量
CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = .Fields("Jfsl")
If .Fields("Jfje") <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Format(.Fields("Jfje") / .Fields("Jfsl"), "##." + String(Xtdjxsws, "0"))
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Format(.Fields("Dfje") / .Fields("Jfsl"), "##." + String(Xtdjxsws, "0"))
End If
End If
If .Fields("Dfsl") <> 0 Then '贷方数量
CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = .Fields("Dfsl")
If .Fields("Jfje") <> 0 Then
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Format(.Fields("Jfje") / .Fields("Dfsl"), "##." + String(Xtdjxsws, "0"))
Else
CxbbGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Format(.Fields("Dfje") / .Fields("Dfsl"), "##." + String(Xtdjxsws, "0"))
End If
End If
If .Fields("Wbjfje") <> 0 Then '借方外币
CxbbGrid.TextMatrix(Jsqte, Sydz("008", GridStr(), Szzls)) = .Fields("Wbjfje")
End If
If .Fields("Wbdfje") <> 0 Then '贷方外币
CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = .Fields("Wbdfje")
End If
If .Fields("AccRate") <> 0 Then '记帐汇率
CxbbGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Format(.Fields("AccRate"), "##." + String(Int_Wbhlxsws, "0"))
End If
End If
'累加本月合计,本年累计数据
Dbl_Jejfhj = Dbl_Jejfhj + .Fields("Jfje")
Dbl_Jedfhj = Dbl_Jedfhj + .Fields("Dfje")
Dbl_Sljfhj = Dbl_Sljfhj + .Fields("Jfsl")
Dbl_Sldfhj = Dbl_Sldfhj + .Fields("Dfsl")
Dbl_Wbjfhj = Dbl_Wbjfhj + .Fields("Wbjfje")
Dbl_Wbdfhj = Dbl_Wbdfhj + .Fields("Wbdfje")
Dbl_Jejflj = Dbl_Jejflj + .Fields("Jfje")
Dbl_Jedflj = Dbl_Jedflj + .Fields("Dfje")
Dbl_Sljflj = Dbl_Sljflj + .Fields("Jfsl")
Dbl_Sldflj = Dbl_Sldflj + .Fields("Dfsl")
Dbl_Wbjflj = Dbl_Wbjflj + .Fields("Wbjfje")
Dbl_Wbdflj = Dbl_Wbdflj + .Fields("Wbdfje")
'3.计算余额
Dbl_Qcyete = Dbl_Qcyete + .Fields("Jfje") - .Fields("Dfje")
Dbl_Qcslte = Dbl_Qcslte + .Fields("Jfsl") - .Fields("Dfsl")
Dbl_Qcwbte = Dbl_Qcwbte + .Fields("Wbjfje") - .Fields("Wbdfje")
'输出余额
Call Sub_OutBalance(Jsqte, Bln_EndFlag, Bln_ForeignFlag, Dbl_Qcyete, Dbl_Qcslte, Dbl_Qcwbte)
.MoveNext
'计算是否输出承前/过次行(如果用户选择输出承前/过次)
If Bln_CqGcShow Then
If Not .EOF Then
If .Fields("Period") = Int_DqPeriod Then
Call Sub_OutQcGc(Jsqte, Int_Zdzyhs, Bln_EndFlag, Bln_ForeignFlag, Int_DqPeriod, Dbl_Jejfhj, Dbl_Jedfhj, Dbl_Sljfhj, Dbl_Sldfhj, Dbl_Wbjfhj, Dbl_Wbdfhj, Dbl_Qcyete, Dbl_Qcslte, Dbl_Qcwbte)
End If
End If
End If
Loop
'添加本月合计及本年累计
If Bln_NotFirst Then
If Lng_MonthCount <> 0 Then
CxbbGrid.AddItem ""
Jsqte = Jsqte + 1
'输出本月合计
Call Sub_OutPeriodSum(Jsqte, Bln_EndFlag, Bln_ForeignFlag, Int_DqPeriod, Dbl_Jejfhj, Dbl_Jedfhj, Dbl_Sljfhj, Dbl_Sldfhj, Dbl_Wbjfhj, Dbl_Wbdfhj)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -