⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mdlzz.bas

📁 u8
💻 BAS
📖 第 1 页 / 共 3 页
字号:
Attribute VB_Name = "mdlZZ"
'软件著作权: 北京用友软件集团有限公司
'系统名称: 资金计息8.0
'功能说明: 从账务取数函数集
'作者: 赵春立

'CuiDong Efficiency-A 2000/06/19 效率优化A

Option Explicit

'********************************************************************
'*函数说明: 取出科目期初余额-带辅助账                                  *
'*参    数: cCode         科目编码                                   *
'*          blnPrpty      科目属性                                   *
'*返回值  : 科目期初余额                                              *
'*********************************************************************
'Public Function GetKmQC_Fz(cCode As String, bProperty As Boolean, cdeptcode As Variant, cPersonCode As Variant, cCusCode As Variant, cSupCode As Variant, cItem_id As Variant, citem_class As Variant) As Double                                            'cuidong 对账单+外币 2001.12.04
Public Function GetKmQC_Fz(cCode As String, bProperty As Boolean, cdeptcode As Variant, cPersonCode As Variant, cCusCode As Variant, cSupCode As Variant, cItem_id As Variant, citem_class As Variant, Optional ByVal bMoney_F As Boolean = False) As Double 'cuidong 对账单+外币 2001.12.04
   '此函数已经过大规模修改,旧版程序请参照备份
   'CuiDong Efficiency-A 2000/06/19 效率优化A
   Dim blnBysyf As Boolean
   Dim rsBysyf As New UfRecordset
   Dim sqlQc As String
   Dim rsQc As New UfRecordset
   
   Dim SQL_AP As String
   Dim SQL_AR As String
   
   GetKmQC_Fz = 0
   If Not IsNull(cCusCode) Then
'     Set rsBysyf = dbsZJ.OpenRecordset("AccInformation", dbOpenDynaset)  'CuiDong Efficiency-A 2000/06/19 效率优化A
      Set rsBysyf = dbsZJ.OpenRecordset("Select * From AccInformation Where cID = '24'", dbOpenDynaset)  'CuiDong Efficiency-A 2000/06/19 效率优化A
      With rsBysyf
'         .FindFirst "cID = '24'"                                         'CuiDong Efficiency-A 2000/06/19 效率优化A
'         If Not .NoMatch Then                                            'CuiDong Efficiency-A 2000/06/19 效率优化A
         If Not (.EOF Or .BOF) Then                                       'CuiDong Efficiency-A 2000/06/19 效率优化A
            If !cValue = "False" Then
'               sqlQc = "SELECT Sum(iBAmount) AS QcMb FROM AP_Sum " & _
'                  "WHERE ccode LIKE '" & cCode & "%' AND " & _
'                  "IIf(" & IsNull(cdeptcode) & ", True, cDeptCode LIKE '" & cdeptcode & "%') AND " & _
'                  "IIf(" & IsNull(cPersonCode) & ", True, cPerson = '" & cPersonCode & "') AND " & _
'                  "IIf(" & IsNull(cCusCode) & ", True, cDwCode = '" & cCusCode & "') AND " & _
'                  "IIf(" & IsNull(cItem_id) & ", True, cItemCode = '" & cItem_id & "') AND " & _
'                  "IIf(" & IsNull(citem_class) & ", True, cItem_Class = '" & citem_class & "')"
'
'               sqlQc = "SELECT Sum(iBAmount) AS QcMb FROM AP_Sum WHERE ccode LIKE '" & cCode & "%'"
               If bMoney_F Then 'cuidong 对账单+外币 2001.12.04
                  SQL_AP = "SELECT Sum(iDAmount_f-iCAmount_f) AS QcMb FROM AP_Detail WHERE iPeriod =0 And cFlag='AP' And cCode LIKE '" & cCode & "%'" 'cuidong 对账单+外币 2001.12.04
                  SQL_AR = "SELECT Sum(iCAmount_f-iDAmount_f) AS QcMb FROM AP_Detail WHERE iPeriod =0 And cFlag='AR' And cCode LIKE '" & cCode & "%'" 'cuidong 对账单+外币 2001.12.04
               Else             'cuidong 对账单+外币 2001.12.04
                  SQL_AP = "SELECT Sum(iDAmount-iCAmount) AS QcMb FROM AP_Detail WHERE iPeriod =0 And cFlag='AP' And cCode LIKE '" & cCode & "%'"
                  SQL_AR = "SELECT Sum(iCAmount-iDAmount) AS QcMb FROM AP_Detail WHERE iPeriod =0 And cFlag='AR' And cCode LIKE '" & cCode & "%'"
               End If           'cuidong 对账单+外币 2001.12.04
               sqlQc = ""
               If Not IsNull(cdeptcode) Then
'                  sqlQc = sqlQc & " And cdept_id LIKE '" & cdeptcode & "%'"    'Cuidong 2000/06/22
                  sqlQc = sqlQc & " And cDeptCode LIKE '" & cdeptcode & "%'"    'Cuidong 2000/06/22
               End If
               If Not IsNull(cPersonCode) Then
'                  sqlQc = sqlQc & " And cPerson_id = '" & cPersonCode & "'"    'Cuidong 2000/06/22
                  sqlQc = sqlQc & " And cPerson = '" & cPersonCode & "'"        'Cuidong 2000/06/22
               End If
               If Not IsNull(cCusCode) Then
'                  sqlQc = sqlQc & " And ccus_id = '" & cCusCode & "'"          'Cuidong 2000/06/22
                  sqlQc = sqlQc & " And cDwCode = '" & cCusCode & "'"           'Cuidong 2000/06/22
               End If
               If Not IsNull(cSupCode) Then
'                  sqlQc = sqlQc & " And csup_id = '" & cSupCode & "'"          'Cuidong 2000/06/22
''                  sqlQc = sqlQc & " And cDwCode = '" & cSupCode & "'"          'Cuidong 2000/06/22
               End If
               If Not IsNull(cItem_id) Then
'                  sqlQc = sqlQc & " And citem_id = '" & cItem_id & "'"         'Cuidong 2000/06/22
                  sqlQc = sqlQc & " And cItemCode = '" & cItem_id & "'"         'Cuidong 2000/06/22
               End If
               If Not IsNull(citem_class) Then
'                  sqlQc = sqlQc & " And citem_class = '" & citem_class & "'"   'Cuidong 2000/06/22
                  sqlQc = sqlQc & " And cItem_Class = '" & citem_class & "'"    'Cuidong 2000/06/22
               End If
               
               Set rsQc = dbsZJ.OpenRecordset(SQL_AP & sqlQc, dbOpenSnapshot)
               If Not rsQc.EOF Then
                  GetKmQC_Fz = IIf(IsNull(rsQc!QcMb), 0, rsQc!QcMb)
               End If
               rsQc.oClose
               
               Set rsQc = dbsZJ.OpenRecordset(SQL_AR & sqlQc, dbOpenSnapshot)
               If Not rsQc.EOF Then
                  GetKmQC_Fz = GetKmQC_Fz + IIf(IsNull(rsQc!QcMb), 0, rsQc!QcMb)
               End If
               rsQc.oClose
               
               blnBysyf = True
            End If
         End If
      End With
      rsBysyf.oClose
   End If
   
   If Not IsNull(cSupCode) Then
'      Set rsBysyf = dbsZJ.OpenRecordset("AccInformation", dbOpenDynaset)  'CuiDong Efficiency-A 2000/06/19 效率优化A
      Set rsBysyf = dbsZJ.OpenRecordset("Select * From AccInformation Where cID = '25'", dbOpenDynaset)  'CuiDong Efficiency-A 2000/06/19 效率优化A
      With rsBysyf
'         .FindFirst "cID = '25'"                                          'CuiDong Efficiency-A 2000/06/19 效率优化A
'         If Not .NoMatch Then                                             'CuiDong Efficiency-A 2000/06/19 效率优化A
         If Not (.EOF Or .BOF) Then                                        'CuiDong Efficiency-A 2000/06/19 效率优化A
            If !cValue = "False" Then
'               sqlQc = "SELECT Sum(iBAmount) AS QcMb FROM AP_Sum " & _
'                  "WHERE ccode LIKE '" & cCode & "%' AND " & _
'                  "IIf(" & IsNull(cdeptcode) & ", True, cDeptCode LIKE '" & cdeptcode & "%') AND " & _
'                  "IIf(" & IsNull(cPersonCode) & ", True, cPerson = '" & cPersonCode & "') AND " & _
'                  "IIf(" & IsNull(cSupCode) & ", True, cDwCode = '" & cSupCode & "') AND " & _
'                  "IIf(" & IsNull(cItem_id) & ", True, cItemCode = '" & cItem_id & "') AND " & _
'                  "IIf(" & IsNull(citem_class) & ", True, cItem_Class = '" & citem_class & "')"
'
'               sqlQc = "SELECT Sum(iBAmount) AS QcMb FROM AP_Sum WHERE ccode LIKE '" & cCode & "%'"
               If bMoney_F Then 'cuidong 对账单+外币 2001.12.04
                  SQL_AP = "SELECT Sum(iDAmount_f-iCAmount_f) AS QcMb FROM AP_Detail WHERE iPeriod =0 And cFlag='AP' And cCode LIKE '" & cCode & "%'" 'cuidong 对账单+外币 2001.12.04
                  SQL_AR = "SELECT Sum(iCAmount_f-iDAmount_f) AS QcMb FROM AP_Detail WHERE iPeriod =0 And cFlag='AR' And cCode LIKE '" & cCode & "%'" 'cuidong 对账单+外币 2001.12.04
               Else             'cuidong 对账单+外币 2001.12.04
                  SQL_AP = "SELECT Sum(iDAmount-iCAmount) AS QcMb FROM AP_Detail WHERE iPeriod =0 And cFlag='AP' And cCode LIKE '" & cCode & "%'"
                  SQL_AR = "SELECT Sum(iCAmount-iDAmount) AS QcMb FROM AP_Detail WHERE iPeriod =0 And cFlag='AR' And cCode LIKE '" & cCode & "%'"
               End If           'cuidong 对账单+外币 2001.12.04
               sqlQc = ""
               If Not IsNull(cdeptcode) Then
'                  sqlQc = sqlQc & " And cdept_id LIKE '" & cdeptcode & "%'"
                  sqlQc = sqlQc & " And cDeptCode LIKE '" & cdeptcode & "%'"
               End If
               If Not IsNull(cPersonCode) Then
'                  sqlQc = sqlQc & " And cperson_id = '" & cPersonCode & "'"
                  sqlQc = sqlQc & " And cPerson = '" & cPersonCode & "'"
               End If
               If Not IsNull(cCusCode) Then
'                  sqlQc = sqlQc & " And ccus_id = '" & cCusCode & "'"
''                  sqlQc = sqlQc & " And cDwCode = '" & cCusCode & "'"
               End If
               If Not IsNull(cSupCode) Then
'                  sqlQc = sqlQc & " And csup_id = '" & cSupCode & "'"
                  sqlQc = sqlQc & " And cDwCode = '" & cSupCode & "'"
               End If
               If Not IsNull(cItem_id) Then
'                  sqlQc = sqlQc & " And citem_id = '" & cItem_id & "'"
                  sqlQc = sqlQc & " And cItemCode = '" & cItem_id & "'"
               End If
               If Not IsNull(citem_class) Then
'                  sqlQc = sqlQc & " And citem_class = '" & citem_class & "'"
                  sqlQc = sqlQc & " And cItem_Class = '" & citem_class & "'"
               End If
               
               blnBysyf = True
               
               Set rsQc = dbsZJ.OpenRecordset(SQL_AP & sqlQc, dbOpenSnapshot)
               If Not rsQc.EOF Then
'                  GetKmQC_Fz = GetKmQC_Fz + IIf(IsNull(rsQc!QcMb), 0, rsQc!QcMb) '
                  GetKmQC_Fz = IIf(IsNull(rsQc!QcMb), 0, rsQc!QcMb)
               End If
               rsQc.oClose
               
               Set rsQc = dbsZJ.OpenRecordset(SQL_AR & sqlQc, dbOpenSnapshot)
               If Not rsQc.EOF Then
                  GetKmQC_Fz = GetKmQC_Fz + IIf(IsNull(rsQc!QcMb), 0, rsQc!QcMb)
               End If
               rsQc.oClose
            End If
         End If
      End With
      rsBysyf.oClose
   End If
   
   If blnBysyf Then
   Else
         If bMoney_F Then 'cuidong 对账单+外币 2001.12.04
            sqlQc = "SELECT Sum(Case When cbegind_c = '借' Then mb_f Else -mb_f End) AS QcMb FROM GL_accass WHERE ccode LIKE '" & cCode & "%' And iPeriod = " & ZjAccInfo.GLBeginPeriod 'cuidong 对账单+外币 2001.12.04
         Else             'cuidong 对账单+外币 2001.12.04
            sqlQc = "SELECT Sum(Case When cbegind_c = '借' Then mb Else -mb End) AS QcMb FROM GL_accass WHERE ccode LIKE '" & cCode & "%' And iPeriod = " & ZjAccInfo.GLBeginPeriod
         End If           'cuidong 对账单+外币 2001.12.04
         If Not IsNull(cdeptcode) Then
            sqlQc = sqlQc & " And cdept_id LIKE '" & cdeptcode & "%'"
         End If
         If Not IsNull(cPersonCode) Then
            sqlQc = sqlQc & " And cperson_id = '" & cPersonCode & "'"
         End If
         If Not IsNull(cCusCode) Then
            sqlQc = sqlQc & " And ccus_id = '" & cCusCode & "'"
         End If
         If Not IsNull(cSupCode) Then
            sqlQc = sqlQc & " And csup_id = '" & cSupCode & "'"
         End If
         If Not IsNull(cItem_id) Then
            sqlQc = sqlQc & " And citem_id = '" & cItem_id & "'"
         End If

⌨️ 快捷键说明

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