-
上传用户:zhpu1995
上传日期:2013-09-06
资源大小:61151k
文件大小:8k
源码类别:

企业管理

开发平台:

Visual Basic

  1. Attribute VB_Name = "XtsyModule"
  2. '系统私有模块用来放置一些子系统独有的过程与函数
  3. Public str_Code As String                               '存储列内容参数
  4. '系统传递单据ID
  5. Public Cask_BillID As Long
  6. Public XtCaskInf As String        '附属物帮助传递参数值(专门用来传递帮助信息)
  7. Public Sub Drxtztcs()                                   '读入系统帐套参数
  8.    
  9.     Dim Ztcsbrec As New ADODB.Recordset
  10.     Dim RecTemp As New ADODB.Recordset
  11.     Dim Sqlstr As String
  12.   
  13.   
  14.      '读入本位币
  15.     Sqlstr = "Select ForeignCurrCode,ForeignCurrName from Gy_ForeignCurrency where StandardFlag=1"
  16.     Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  17.     XtSCurrCode = Trim(RecTemp.Fields("ForeignCurrCode"))
  18.     XtSCurrName = Trim(RecTemp.Fields("ForeignCurrName"))
  19.     
  20.     With Ztcsbrec
  21.         '金额总位数
  22.         .Open "Select * From Gy_AccInformation Where SystemCode='Cwzz'", Cw_DataEnvi.DataConnect, adOpenDynamic, adLockOptimistic
  23.         .MoveFirst
  24.         .Find "itemcode='cwjezws'"
  25.         If Not Ztcsbrec.EOF Then
  26.             Xtjezws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  27.         End If
  28.         
  29.         '数量总位数
  30.         .MoveFirst
  31.         .Find "itemcode='cwslzws'"
  32.         If Not Ztcsbrec.EOF Then
  33.             Xtslzws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  34.         End If
  35.    
  36.         '单价总位数
  37.         .MoveFirst
  38.         .Find "itemcode='cwdjzws'"
  39.         If Not Ztcsbrec.EOF Then
  40.             Xtdjzws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  41.         End If
  42.         
  43.         '金额小数位数
  44.         .MoveFirst
  45.         .Find "itemcode='cwjexsws'"
  46.         If Not Ztcsbrec.EOF Then
  47.             Xtjexsws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  48.         End If
  49.    
  50.         '数量小数位数
  51.         .MoveFirst
  52.         .Find "itemcode='cwslxsws'"
  53.         If Not Ztcsbrec.EOF Then
  54.             Xtslxsws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  55.         End If
  56.         
  57.         '单价小数位数
  58.         .MoveFirst
  59.         .Find "itemcode='cwdjxsws'"
  60.         If Not Ztcsbrec.EOF Then
  61.             Xtdjxsws = Val(Trim(Ztcsbrec.Fields("itemvalue")))
  62.         End If
  63.         .Close
  64.     End With
  65.   
  66. End Sub
  67. Public Sub Cask_StartChalk()            '期初结帐
  68.     Dim Rec_Query As ADODB.Recordset
  69.     Dim Sqlstr As String
  70.     Dim Tsxx As String
  71.     
  72.     Tsxx = "请确认是否要进行期初结帐?"
  73.     YAnswer = Xtxxts(Tsxx, 2, 2)
  74.    
  75.     If YAnswer <> 1 Then Exit Sub
  76.     Sqlstr = "SELECT * FROM Cask_V_StartInputList where BillType=1"
  77.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  78.     
  79.     If Rec_Query.EOF Then
  80.         Sqlstr = "select * from gy_accinformation where ItemCode='Cask_StartChalk'"
  81.         Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  82.         If Val(Trim(Rec_Query!ItemValue)) = 1 Then
  83.             Tsxx = "期初已结帐!"
  84.             Call Xtxxts(Tsxx, 0, 1)
  85.         Else
  86.             Cw_DataEnvi.DataConnect.Execute ("Update gy_accinformation Set ItemValue=1 Where ItemCode='Cask_StartChalk'")
  87.             Tsxx = "期初结帐完成!"
  88.             Call Xtxxts(Tsxx, 0, 4)
  89.         End If
  90.         Exit Sub
  91.     End If
  92.     
  93.     Sqlstr = "SELECT * FROM Cask_V_StartInputList where BillType=1 and Reckoning=1"
  94.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  95.     
  96.     If Not Rec_Query.EOF Then
  97.         Tsxx = "期初已结帐!"
  98.         Call Xtxxts(Tsxx, 0, 1)
  99.         Exit Sub
  100.     End If
  101.     
  102.     Sqlstr = "SELECT * FROM Cask_V_StartInputList where BillType=1 and Checker=''"
  103.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  104.     
  105.     If Not Rec_Query.EOF Then
  106.         Tsxx = "有未审核的单据,不能进行期初结帐!"
  107.         Call Xtxxts(Tsxx, 0, 1)
  108.         Exit Sub
  109.     End If
  110.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute("select kjyear,period from gy_kjrlb where beginflag=1")
  111.     
  112.     Sqlstr = "INSERT INTO Cask_Ledger (WhCode,WrappageCode,StatusName,StartQuan,kjyear,period)  SELECT WhCode,WrappageCode,StatusName,Sum(Quantity) as StartQuan," & Val(Rec_Query!KjYear) & "," & Val(Rec_Query!Period) & " FROM Cask_V_HarvestIssue where BillType=1 GROUP BY WhCode,WrappageCode,StatusName"
  113.     Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  114.     
  115.     Cw_DataEnvi.DataConnect.Execute ("Update Cask_HarvestIssueMain Set Reckoning=1 Where BillType=1")
  116.     Cw_DataEnvi.DataConnect.Execute ("Update gy_accinformation Set ItemValue=1 Where ItemCode='Cask_StartChalk'")
  117.     Tsxx = "期初结帐完成!"
  118.     Call Xtxxts(Tsxx, 0, 4)
  119. End Sub
  120. Public Sub Cask_ComebackChalk()            '恢复期初结帐
  121.     Dim Kjyear_Query As ADODB.Recordset
  122.     Dim Rec_Query As ADODB.Recordset
  123.     Dim Sqlstr As String
  124.     Dim Tsxx As String
  125.     
  126.     Tsxx = "请确认是否要进行恢复期初结帐?"
  127.     YAnswer = Xtxxts(Tsxx, 2, 2)
  128.    
  129.     If YAnswer <> 1 Then Exit Sub
  130.     
  131.     Sqlstr = "SELECT * FROM Cask_V_StartInputList where BillType=1"
  132.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  133.     
  134.     If Rec_Query.EOF Then
  135.         Sqlstr = "select * from gy_accinformation where ItemCode='Cask_StartChalk'"
  136.         Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  137.         If Val(Trim(Rec_Query!ItemValue)) = 0 Then
  138.             Tsxx = "已恢复期初结帐!"
  139.             Call Xtxxts(Tsxx, 0, 1)
  140.         Else
  141.             Cw_DataEnvi.DataConnect.Execute ("Update gy_accinformation Set ItemValue=0 Where ItemCode='Cask_StartChalk'")
  142.             Tsxx = "期初结帐恢复完成!"
  143.             Call Xtxxts(Tsxx, 0, 4)
  144.         End If
  145.         Exit Sub
  146.     End If
  147.     
  148.     Set Kjyear_Query = Cw_DataEnvi.DataConnect.Execute("select kjyear,period from gy_kjrlb where CaskJzbz=1")
  149.     
  150.     If Not Kjyear_Query.EOF Then
  151.         Kjyear_Query.MoveLast
  152.         Sqlstr = "select * from Gy_Kjrlb where KJYear=" & Val(Kjyear_Query!KjYear) & " and period=" & Val(Kjyear_Query!Period)
  153.         Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  154.         
  155.         If Rec_Query!CaskJzbz Then
  156.             Tsxx = "已月末结帐,不能恢复期初结帐!"
  157.             Call Xtxxts(Tsxx, 0, 1)
  158.             Exit Sub
  159.         End If
  160.     End If
  161.     
  162.     Set Kjyear_Query = Cw_DataEnvi.DataConnect.Execute("select kjyear,period from gy_kjrlb where beginflag=1")
  163.     
  164.     Sqlstr = "SELECT * FROM Cask_V_StartInputList where BillType=1 and Reckoning=0"
  165.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  166.     
  167.     If Not Rec_Query.EOF Then
  168.         Tsxx = "已恢复期初结帐!"
  169.         Call Xtxxts(Tsxx, 0, 1)
  170.         Exit Sub
  171.     End If
  172.     
  173.     Sqlstr = "Delete  Cask_Ledger Where kjyear=" & Val(Kjyear_Query!KjYear) & " and period=" & Val(Kjyear_Query!Period)
  174.     Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  175.     Cw_DataEnvi.DataConnect.Execute ("Update Cask_HarvestIssueMain Set Reckoning=0 Where BillType=1")
  176.     Cw_DataEnvi.DataConnect.Execute ("Update gy_accinformation Set ItemValue=0 Where ItemCode='Cask_StartChalk'")
  177.     
  178.     Tsxx = "期初结帐恢复完成!"
  179.     Call Xtxxts(Tsxx, 0, 4)
  180. End Sub
  181. Public Function Cask_Kjrlb()         '查询当前会计期间
  182.     Dim DateRecordset As ADODB.Recordset
  183.     Dim R_Date As ADODB.Recordset
  184.     
  185.   Set DateRecordset = Cw_DataEnvi.DataConnect.Execute("select * from Gy_Kjrlb where CaskJzbz=0 ")
  186.   Set R_Date = Cw_DataEnvi.DataConnect.Execute("select * from Gy_Kjrlb where beginflag=1 ")
  187.   
  188.   If DateRecordset.BOF And DateRecordset.EOF Then
  189.     Set DateRecordset = Cw_DataEnvi.DataConnect.Execute("select * from Gy_Kjrlb where CaskJzbz=1 ")
  190.     If Not DateRecordset.EOF Then
  191.         DateRecordset.MoveLast
  192.         Cask_Kjrlb = CDate(DateRecordset.Fields("zzrq") + 1)
  193.     End If
  194.   Else
  195.     If R_Date!QSRQ > DateRecordset.Fields("qsrq") Then
  196.         Cask_Kjrlb = CDate(R_Date.Fields("qsrq"))
  197.     Else
  198.         Cask_Kjrlb = CDate(DateRecordset.Fields("qsrq"))
  199.     End If
  200.   End If
  201. End Function