i-

来自「VB开发的ERP系统」· 代码 · 共 1,398 行 · 第 1/5 页

TXT
1,398 行
字号
                    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
            End If
            If Bln_EndFlag And Bln_ForeignFlag Then
                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_DayJejfhj = Dbl_DayJejfhj + .Fields("Jfje")
            Dbl_DayJedfhj = Dbl_DayJedfhj + .Fields("Dfje")
            Dbl_DaySljfhj = Dbl_DaySljfhj + .Fields("Jfsl")
            Dbl_DaySldfhj = Dbl_DaySldfhj + .Fields("Dfsl")
            Dbl_DayWbjfhj = Dbl_DayWbjfhj + .Fields("Wbjfje")
            Dbl_DayWbdfhj = Dbl_DayWbdfhj + .Fields("Wbdfje")
            
            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_DayCount <> 0 Then
                CxbbGrid.AddItem ""
                Jsqte = Jsqte + 1
                
                '输出本日合计
                Call Sub_OutDaySum(Jsqte, Bln_EndFlag, Bln_ForeignFlag, Dtm_DqDay, Dbl_DayJejfhj, Dbl_DayJedfhj, Dbl_DaySljfhj, Dbl_DaySldfhj, Dbl_DayWbjfhj, Dbl_DayWbdfhj)
                
                '输出余额
                Call Sub_OutBalance(Jsqte, Bln_EndFlag, Bln_ForeignFlag, Dbl_Qcyete, Dbl_Qcslte, Dbl_Qcwbte)
            End If
            
            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
            
            '显示本年累计
            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 With
    
    '重置网格行高
    For Jsqte = CxbbGrid.FixedRows To CxbbGrid.Rows - 1
        CxbbGrid.RowHeight(Jsqte) = Sjhgd
    Next Jsqte
    
End Sub

Private Sub Combo_AccFormat_Click()                    '用户选择不同帐页格式
    Dim Int_Coljsq As Integer         '网格列临时计数器
    
    '为了加快显示速度
    CxbbGrid.Redraw = False
    
    For Int_Coljsq = Qslz To CxbbGrid.Cols - 1
        CxbbGrid.ColHidden(Int_Coljsq) = True
    Next Int_Coljsq
    
    Select Case Combo_AccFormat
    Case "金额式"
        CxbbGrid.ColHidden(Sydz("001", GridStr(), Szzls)) = False      '日期
        CxbbGrid.ColHidden(Sydz("002", GridStr(), Szzls)) = False      '凭证字号
        CxbbGrid.ColHidden(Sydz("003", GridStr(), Szzls)) = False      '摘要
        CxbbGrid.ColHidden(Sydz("006", GridStr(), Szzls)) = False      '借方.借方
        CxbbGrid.ColHidden(Sydz("010", GridStr(), Szzls)) = False      '贷方.贷方
        CxbbGrid.ColHidden(Sydz("014", GridStr(), Szzls)) = False      '方向.方向
        CxbbGrid.ColHidden(Sydz("020", GridStr(), Szzls)) = False      '余额.余额
        
    Case "外币金额式"
        CxbbGrid.ColHidden(Sydz("001", GridStr(), Szzls)) = False      '日期
        CxbbGrid.ColHidden(Sydz("002", GridStr(), Szzls)) = False      '凭证字号
        CxbbGrid.ColHidden(Sydz("003", GridStr(), Szzls)) = False      '摘要
        CxbbGrid.ColHidden(Sydz("005", GridStr(), Szzls)) = False      '汇率
        CxbbGrid.ColHidden(Sydz("008", GridStr(), Szzls)) = False      '借方.外币
        CxbbGrid.ColHidden(Sydz("009", GridStr(), Szzls)) = False      '借方.金额
        CxbbGrid.ColHidden(Sydz("012", GridStr(), Szzls)) = False      '贷方.外币
        CxbbGrid.ColHidden(Sydz("013", GridStr(), Szzls)) = False      '贷方.金额
        CxbbGrid.ColHidden(Sydz("014", GridStr(), Szzls)) = False      '方向.方向
        CxbbGrid.ColHidden(Sydz("017", GridStr(), Szzls)) = False      '余额.外币
        CxbbGrid.ColHidden(Sydz("018", GridStr(), Szzls)) = False      '余额.汇率
        CxbbGrid.ColHidden(Sydz("019", GridStr(), Szzls)) = False      '余额.金额
        
    Case "数量金额式"
        CxbbGrid.ColHidden(Sydz("001", GridStr(), Szzls)) = False      '日期
        CxbbGrid.ColHidden(Sydz("002", GridStr(), Szzls)) = False      '凭证字号
        CxbbGrid.ColHidden(Sydz("003", GridStr(), Szzls)) = False      '摘要
        CxbbGrid.ColHidden(Sydz("004", GridStr(), Szzls)) = False      '单价
        CxbbGrid.ColHidden(Sydz("007", GridStr(), Szzls)) = False      '借方.数量
        CxbbGrid.ColHidden(Sydz("009", GridStr(), Szzls)) = False      '借方.金额
        CxbbGrid.ColHidden(Sydz("011", GridStr(), Szzls)) = False      '贷方.数量
        CxbbGrid.ColHidden(Sydz("013", GridStr(), Szzls)) = False      '贷方.金额
        CxbbGrid.ColHidden(Sydz("014", GridStr(), Szzls)) = False      '方向.方向
        CxbbGrid.ColHidden(Sydz("015", GridStr(), Szzls)) = False      '余额.数量
        CxbbGrid.ColHidden(Sydz("016", GridStr(), Szzls)) = False      '余额.单价
        CxbbGrid.ColHidden(Sydz("019", GridStr(), Szzls)) = False      '余额.金额
    Case "数量外币式"
        CxbbGrid.ColHidden(Sydz("001", GridStr(), Szzls)) = False      '日期
        CxbbGrid.ColHidden(Sydz("002", GridStr(), Szzls)) = False      '凭证字号
        CxbbGrid.ColHidden(Sydz("003", GridStr(), Szzls)) = False      '摘要
        CxbbGrid.ColHidden(Sydz("004", GridStr(), Szzls)) = False      '单价
        CxbbGrid.ColHidden(Sydz("005", GridStr(), Szzls)) = False      '汇率
        CxbbGrid.ColHidden(Sydz("007", GridStr(), Szzls)) = False      '借方.数量
        CxbbGrid.ColHidden(Sydz("008", GridStr(), Szzls)) = False      '借方.外币
        CxbbGrid.ColHidden(Sydz("009", GridStr(), Szzls)) = False      '借方.金额
        CxbbGrid.ColHidden(Sydz("011", GridStr(), Szzls)) = False      '贷方.数量
        CxbbGrid.ColHidden(Sydz("012", GridStr(), Szzls)) = False      '贷方.外币
        CxbbGrid.ColHidden(Sydz("013", GridStr(), Szzls)) = False      '贷方.金额
        CxbbGrid.ColHidden(Sydz("014", GridStr(), Szzls)) = False      '方向.方向
        CxbbGrid.ColHidden(Sydz("015", GridStr(), Szzls)) = False      '余额.数量
        CxbbGrid.ColHidden(Sydz("016", GridStr(), Szzls)) = False      '余额.单价
        CxbbGrid.ColHidden(Sydz("017", GridStr(), Szzls)) = False      '余额.外币
        CxbbGrid.ColHidden(Sydz("018", GridStr(), Szzls)) = False      '余额.汇率
        CxbbGrid.ColHidden(Sydz("019", GridStr(), Szzls)) = False      '余额.金额
    End Select
    CxbbGrid.Redraw = True
End Sub

Private Sub Sub_OutBalance(Jsqte As Long, Bln_EndFlag As Boolean, Bln_ForeignFlag As Boolean, Dbl_Qcyete#, Dbl_Qcslte#, Dbl_Qcwbte#)          '输出余额
    If Dbl_Qcyete = 0 Then
        CxbbGrid.TextMatrix(Jsqte, Sydz("014", GridStr(), Szzls)) = "平"          '期初方向
        If Bln_EndFlag And Dbl_Qcslte <> 0 Then
            CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = Dbl_Qcslte
        End If
        If Bln_EndFlag And Bln_ForeignFlag And Dbl_Qcwbte <> 0 Then
            CxbbGrid.TextMatrix(Jsqte, Sydz("017", GridStr(), Szzls)) = Dbl_Qcwbte
        End If
    Else
        If Dbl_Qcyete > 0 Then
            CxbbGrid.TextMatrix(Jsqte, Sydz("014", GridStr(), Szzls)) = "借"
            CxbbGrid.TextMatrix(Jsqte, Sydz("019", GridStr(), Szzls)) = Dbl_Qcyete
            CxbbGrid.TextMatrix(Jsqte, Sydz("020", GridStr(), Szzls)) = Dbl_Qcyete
            If Bln_EndFlag And Dbl_Qcslte <> 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = Dbl_Qcslte
            End If
            If Bln_EndFlag And Bln_ForeignFlag And Dbl_Qcwbte <> 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("017", GridStr(), Szzls)) = Dbl_Qcwbte
            End If
        Else
            CxbbGrid.TextMatrix(Jsqte, Sydz("014", GridStr(), Szzls)) = "贷"
            CxbbGrid.TextMatrix(Jsqte, Sydz("019", GridStr(), Szzls)) = -Dbl_Qcyete
            CxbbGrid.TextMatrix(Jsqte, Sydz("020", GridStr(), Szzls)) = -Dbl_Qcyete
            If Bln_EndFlag And Dbl_Qcslte <> 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("015", GridStr(), Szzls)) = -Dbl_Qcslte
            End If
            If Bln_EndFlag And Dbl_Qcwbte And Bln_ForeignFlag <> 0 Then
                CxbbGrid.TextMatrix(Jsqte, Sydz("017", GridStr(), Szzls)) = -Dbl_Qcwbte
            End If
        End If
        
        '输出单价
        If Bln_EndFlag And Dbl_Qcslte <> 0 Then
            CxbbGrid.TextMatrix(Jsqte, Sydz("016", GridStr(), Szzls)) = Format(Dbl_Qcyete / Dbl_Qcslte, "##." + String(Xtdjxsws, "0"))
        End If
        '输出外币汇率
        If Bln_EndFlag And Bln_ForeignFlag And Dbl_Qcwbte <> 0 Then
            If Bln_ConVertFlag Then      '(外币/汇率=本位币)
                CxbbGrid.TextMatrix(Jsqte, Sydz("018", GridStr(), Szzls)) = Format(Dbl_Qcwbte / Dbl_Qcyete, "##." + String(Int_Wbhlxsws, "0"))
            Else
                CxbbGrid.TextMatrix(Jsqte, Sydz("018", GridStr(), Szzls)) = Format(Dbl_Qcyete / Dbl_Qcwbte, "##." + String(Int_Wbhlxsws, "0"))
            End If
        End If
        
    End If
End Sub

Private Sub Sub_OutDaySum(Jsqte As Long, Bln_EndFlag As Boolean, Bln_ForeignFlag As Boolean, Dtm_DqDay As Date, Dbl_DayJejfhj#, Dbl_DayJedfhj#, Dbl_DaySljfhj#, Dbl_DaySldfhj#, Dbl_DayWbjfhj#, Dbl_DayWbdfhj#)  '输出本日合计
    CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Dtm_DqDay
    CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "本日合计"
    If Dbl_DayJejfhj <> 0 Then                                                        '本日借方金额合计
        CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = Dbl_DayJejfhj
        CxbbGrid.TextMatrix(Jsqte, Sydz("009", GridStr(), Szzls)) = Dbl_DayJejfhj
    End If
    If Dbl_DayJedfhj <> 0 Then                                                        '本日贷方金额合计
        CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = Dbl_DayJedfhj
        CxbbGrid.TextMatrix(Jsqte, Sydz("013", GridStr(), Szzls)) = Dbl_DayJedfhj
    End If
    
    '只有末级科目才显示数量和外币
    If Bln_EndFlag Then
        If Dbl_DaySljfhj <> 0 Then                                                     '本日借方数量合计
            CxbbGrid.TextMatrix(Jsqte, Sydz("007", GridStr(), Szzls)) = Dbl_DaySljfhj
        End If
        If Dbl_DaySldfhj <> 0 Then                                                     '本日贷方数量合计
            CxbbGrid.TextMatrix(Jsqte, Sydz("011", GridStr(), Szzls)) = Dbl_DaySldfhj
        End If
    End If
    
    If Bln_EndFlag And Bln_ForeignFlag Then
        If Dbl_DayWbjfhj <> 0 Then                                                     '本日借方外币合计
            CxbbGrid.TextMatrix(Jsqte, Sydz("008", GridStr(), Szzls)) = Dbl_DayWbjfhj
        End If
        If Dbl_DayWbdfhj <> 0 Then                                                     '本日贷方外币合计
            CxbbGrid.TextMatrix(Jsqte, Sydz("012", GridStr(), Szzls)) = Dbl_DayWbdfhj
        End If
    End If
End Sub

Private Sub Sub_OutPeriodSum(Jsqte As Long, Bln_EndFlag As Boolean, Bln_ForeignFlag As Boolean, Int_DqPeriod%, Dbl_Jejfhj#, Dbl_Jedfhj#, Dbl_Sljfhj#, Dbl_Sldfhj#, Dbl_Wbjfhj#, Dbl_Wbdfhj#) '输出本月合计
    CxbbGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Mid(Trim(Str(100 + Int_DqPeriod)), 2, 2)
    CxbbGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = "本月合计"
    If Dbl_Jejfhj <> 0 Then                                                        '本月借方金额合计
        CxbbGrid.TextMatrix(Jsqte, Sydz("006", GridStr(), Szzls)) = Dbl_Jejfhj
        CxbbGrid.TextMatrix(Jsqte, Sydz("009", GridStr(), Szzls)) = Dbl_Jejfhj
    End If
    If Dbl_Jedfhj <> 0 Then                                                        '本月贷方金额合计
        CxbbGrid.TextMatrix(Jsqte, Sydz("010", GridStr(), Szzls)) = Dbl_Jedfhj
        CxbbGrid.TextMatrix(Jsqte, Sydz("013", GridStr(), Szzls)) = Dbl_Jedfhj
    End If
    
    '只有末级科目才显示数量和外币
    If Bln_EndFlag Then
        If Dbl_Sljfhj

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?