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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{D76D7128-4A96-11D3-BD95-D296DC2DD072}#1.0#0"; "VSOCX7.OCX"
  3. Begin VB.Form Cask_CheckOut 
  4.    BorderStyle     =   3  'Fixed Dialog
  5.    Caption         =   "月末结帐"
  6.    ClientHeight    =   4245
  7.    ClientLeft      =   45
  8.    ClientTop       =   330
  9.    ClientWidth     =   5280
  10.    HelpContextID   =   1715001
  11.    Icon            =   "包装物管理系统_结帐处理_月末结帐.frx":0000
  12.    KeyPreview      =   -1  'True
  13.    LinkTopic       =   "Form1"
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    ScaleHeight     =   4245
  17.    ScaleWidth      =   5280
  18.    ShowInTaskbar   =   0   'False
  19.    StartUpPosition =   1  '所有者中心
  20.    Begin VB.CommandButton CmdCheck 
  21.       Caption         =   "月末结帐"
  22.       Height          =   300
  23.       Left            =   2775
  24.       TabIndex        =   1
  25.       Top             =   3870
  26.       Width           =   1120
  27.    End
  28.    Begin VB.CommandButton CmdExit 
  29.       Caption         =   "退出"
  30.       Height          =   300
  31.       Left            =   4095
  32.       TabIndex        =   0
  33.       Top             =   3870
  34.       Width           =   1120
  35.    End
  36.    Begin VSFlex8Ctl.VSFlexGrid CzxsGrid 
  37.       Height          =   3735
  38.       Left            =   90
  39.       TabIndex        =   2
  40.       Top             =   60
  41.       Width           =   5100
  42.       _ExtentX        =   8996
  43.       _ExtentY        =   6588
  44.       Appearance      =   1
  45.       BorderStyle     =   1
  46.       Enabled         =   -1  'True
  47.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  48.          Name            =   "宋体"
  49.          Size            =   9
  50.          Charset         =   134
  51.          Weight          =   400
  52.          Underline       =   0   'False
  53.          Italic          =   0   'False
  54.          Strikethrough   =   0   'False
  55.       EndProperty
  56.       MousePointer    =   0
  57.       BackColor       =   16777215
  58.       ForeColor       =   -2147483640
  59.       BackColorFixed  =   -2147483633
  60.       ForeColorFixed  =   0
  61.       BackColorSel    =   16777215
  62.       ForeColorSel    =   -2147483634
  63.       BackColorBkg    =   12632256
  64.       BackColorAlternate=   16777215
  65.       GridColor       =   -2147483633
  66.       GridColorFixed  =   16777215
  67.       TreeColor       =   -2147483632
  68.       FloodColor      =   0
  69.       SheetBorder     =   -2147483642
  70.       FocusRect       =   1
  71.       HighLight       =   1
  72.       AllowSelection  =   0   'False
  73.       AllowBigSelection=   0   'False
  74.       AllowUserResizing=   0
  75.       SelectionMode   =   0
  76.       GridLines       =   3
  77.       GridLinesFixed  =   2
  78.       GridLineWidth   =   1
  79.       Rows            =   50
  80.       Cols            =   10
  81.       FixedRows       =   1
  82.       FixedCols       =   0
  83.       RowHeightMin    =   0
  84.       RowHeightMax    =   0
  85.       ColWidthMin     =   0
  86.       ColWidthMax     =   0
  87.       ExtendLastCol   =   0   'False
  88.       FormatString    =   ""
  89.       ScrollTrack     =   0   'False
  90.       ScrollBars      =   3
  91.       ScrollTips      =   0   'False
  92.       MergeCells      =   0
  93.       MergeCompare    =   0
  94.       AutoResize      =   -1  'True
  95.       AutoSizeMode    =   0
  96.       AutoSearch      =   0
  97.       MultiTotals     =   -1  'True
  98.       SubtotalPosition=   1
  99.       OutlineBar      =   0
  100.       OutlineCol      =   0
  101.       Ellipsis        =   0
  102.       ExplorerBar     =   0
  103.       PicturesOver    =   0   'False
  104.       FillStyle       =   1
  105.       RightToLeft     =   0   'False
  106.       PictureType     =   0
  107.       TabBehavior     =   0
  108.       OwnerDraw       =   0
  109.       Editable        =   0   'False
  110.       ShowComboButton =   -1  'True
  111.       WordWrap        =   0   'False
  112.       TextStyle       =   0
  113.       TextStyleFixed  =   0
  114.       OleDragMode     =   0
  115.       OleDropMode     =   0
  116.       DataMode        =   0
  117.       VirtualData     =   -1  'True
  118.    End
  119. End
  120. Attribute VB_Name = "Cask_CheckOut"
  121. Attribute VB_GlobalNameSpace = False
  122. Attribute VB_Creatable = False
  123. Attribute VB_PredeclaredId = True
  124. Attribute VB_Exposed = False
  125. '******************************************************************
  126. '*    模 块 名 称 :月末结帐
  127. '*    功 能 描 述 :
  128. '*    程序员姓名  :邹力
  129. '*    最后修改人  :
  130. '*    最后修改时间:2001/12/10
  131. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  132. '******************************************************************
  133. '以下为固定使用变量(网格)
  134. Dim Cxnrrec As New ADODB.Recordset       '显示查询内容动态集
  135. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  136. Dim GridCode As String                   '显示网格网格代码
  137. Dim GridInf() As Variant                 '整个网格设置信息
  138. Dim Tsxx As String                       '系统提示信息
  139. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  140. Dim Sjhgd As Double                      '网格数据行高度
  141. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  142. Dim GridStr()  As String                 '网格列信息(字符型)
  143. Dim GridInt() As Integer                 '网格列信息(整型)
  144. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  145. Dim Rec_KJ As New ADODB.Recordset
  146. Dim jl_row As Integer
  147. Dim JL_Rec_KJ As Integer
  148. Dim QSRQ As String, ZZRQ As String
  149. Dim retrun_str As String
  150. Sub CancelCheck()
  151. If CzxsGrid.TextMatrix(CzxsGrid.Row, 4) = False Then
  152.   Tsxx = "该会计期间还未结帐! "
  153.   Call Xtxxts(Tsxx, 0, 4)
  154.   Exit Sub
  155. End If
  156.   On Error GoTo Swcwcl
  157.  
  158.  Rec_KJ.MoveFirst
  159.     For Jsq = 1 To Rec_KJ.RecordCount
  160.      If Rec_KJ.Fields("KJYear") = CzxsGrid.TextMatrix(CzxsGrid.Row, 0) Then
  161.       If Rec_KJ.Fields("period") = CzxsGrid.TextMatrix(CzxsGrid.Row, 1) Then
  162.          Rec_KJ.Fields("checkmark") = 0
  163.       End If
  164.      End If
  165.      
  166.     Rec_KJ.MoveNext
  167.    Next Jsq
  168.   Cw_DataEnvi.DataConnect.Execute ("Delete KF_CaskList Where year=" & CzxsGrid.TextMatrix(CzxsGrid.Row, 0) & " and period=" & CzxsGrid.TextMatrix(CzxsGrid.Row, 1))
  169.  Cw_DataEnvi.DataConnect.Execute ("update KF_CaskChange set checkflag=0 where year=" & CzxsGrid.TextMatrix(CzxsGrid.Row, 0) & " and period=" & CzxsGrid.TextMatrix(CzxsGrid.Row, 1))
  170. Tsxx = "您已成功取消结帐! "
  171. Call Xtxxts(Tsxx, 0, 4)
  172. Exit Sub
  173. Swcwcl:
  174.      Tsxx = "取消结帐失败!请您重试!"
  175.      Call Xtxxts(Tsxx, 0, 4)
  176.      Exit Sub
  177. End Sub
  178.  
  179. Private Sub CmdCancel_Click()
  180.   Call CancelCheck
  181.   Call th_focus
  182.    If jl_row = 1 Then
  183.    Else
  184.     jl_row = jl_row - 1
  185.    End If
  186. End Sub
  187. Private Sub CmdCheck_Click()
  188.   Call tc_zz                          '写入库存总帐
  189. End Sub
  190. Private Sub CmdExit_Click()
  191. Unload Me
  192. End Sub
  193. Private Sub Form_Load()
  194.     '调入网格设置信息
  195.     GridCode = "Cask_CheckOut"
  196.     Call BzWgcsh(CzxsGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  197.     Qslz = GridInf(1)
  198.     Sjhgd = GridInf(2)
  199.     Szzls = CzxsGrid.Cols - 1
  200.     
  201.     '填 充 网 格
  202.     Call Cxnrtcwg
  203.     
  204.     Set CxnrrecTemp = Cw_DataEnvi.DataConnect.Execute("select kjyear,period,CaskJzbz from gy_kjrlb where beginflag=1")
  205.     With CzxsGrid
  206.         .Cell(flexcpBackColor, CxnrrecTemp!Period, 0, CxnrrecTemp!Period, .Cols - 1) = &HFFFFC0
  207.     End With
  208. End Sub
  209. Private Sub Cxnrtcwg()                               '查询内容填充网格
  210.     Dim Sqlstr As String              '查询连接串
  211.     Dim Jsqte As Long                 '查询临时使用变量
  212.   
  213.     '为加快显示速度,将网格刷新动作冻结
  214.     CzxsGrid.Redraw = False
  215.   
  216.     '[>>查询连接串
  217.     Sqlstr = "SELECT * FROM Gy_Kjrlb  Order By KjYear,Period"
  218.     '<<]
  219.     Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  220.     
  221.     With Cxnrrec
  222.         CzxsGrid.Rows = CzxsGrid.FixedRows
  223.         If .EOF And .BOF Then
  224.             CzxsGrid.Redraw = True
  225.             Exit Sub
  226.         End If
  227.         Jsqte = CzxsGrid.FixedRows
  228.         Do While Not .EOF
  229.             CzxsGrid.AddItem ""
  230.             Call Jltcwg(Cxnrrec, Jsqte)                              '调入填充网格子过程
  231.             CzxsGrid.RowHeight(Jsqte) = Sjhgd                        '设置网格高度
  232.             .MoveNext
  233.             Jsqte = Jsqte + 1
  234.         Loop
  235.     End With
  236.   
  237.     '将网格刷新动作解冻
  238.     CzxsGrid.Redraw = True
  239.     
  240. End Sub
  241. Private Sub Jltcwg(Jlbrec As ADODB.Recordset, Rowjsq As Long)           '记录内容填充网格
  242.     '[>>以下为自定义部分
  243.     With Jlbrec
  244.         CzxsGrid.TextMatrix(Rowjsq, Sydz("001", GridStr(), Szzls)) = !KjYear     '会计年度
  245.         CzxsGrid.TextMatrix(Rowjsq, Sydz("002", GridStr(), Szzls)) = !Period     '会计期间
  246.         CzxsGrid.TextMatrix(Rowjsq, Sydz("003", GridStr(), Szzls)) = !QSRQ       '起始日期
  247.         CzxsGrid.TextMatrix(Rowjsq, Sydz("004", GridStr(), Szzls)) = !ZZRQ       '终止日期
  248.         CzxsGrid.TextMatrix(Rowjsq, Sydz("005", GridStr(), Szzls)) = !CaskJzbz   '结帐
  249.     End With
  250.     '以上为自定义部分<<]
  251.     
  252. End Sub
  253. Private Sub tc_zz()
  254. Dim Sqlstr As String
  255. Dim Rec_Cask As New Recordset
  256. Dim StrCheck As String
  257. Dim RecList As New Recordset
  258. Dim RecLast As New Recordset
  259. Dim RecTemp As New Recordset
  260. Dim CxnrrecTemp As ADODB.Recordset
  261. On Error GoTo Swcwcl
  262.     '该年度是否结帐完成
  263.     Sqlstr = "SELECT * FROM Gy_Kjrlb where CaskJzbz=0 Order By KjYear,Period"
  264.     Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  265.     If Cxnrrec.EOF Then
  266.         Tsxx = "该会计年度月份已经结帐完毕!"
  267.         Call Xtxxts(Tsxx, 0, 1)
  268.         Exit Sub
  269.     End If
  270.     
  271.     Set CxnrrecTemp = Cw_DataEnvi.DataConnect.Execute("select * from gy_kjrlb where beginflag=1")
  272.     
  273.     If Not CxnrrecTemp!CaskJzbz Then
  274.         If Not (CxnrrecTemp!ZZRQ >= Xtrq And Xtrq >= CxnrrecTemp!QSRQ) Then
  275.             Tsxx = "登录日期不在结帐会计期间内,不能进行月末结帐,请重新登录!"
  276.             Call Xtxxts(Tsxx, 0, 1)
  277.             Exit Sub
  278.         End If
  279.     Else
  280.         If Not (Cxnrrec!ZZRQ >= Xtrq And Xtrq >= Cxnrrec!QSRQ) Then
  281.             Tsxx = "登录日期不在结帐会计期间内,不能进行月末结帐,请重新登录!"
  282.             Call Xtxxts(Tsxx, 0, 1)
  283.             Exit Sub
  284.         End If
  285.     End If
  286.     
  287.     '期初数据结帐
  288.     Sqlstr = "select * from gy_accinformation where ItemCode='Cask_StartChalk'"
  289.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  290.     
  291.     If Val(Trim(Rec_Query!ItemValue)) = 0 Then
  292.         Tsxx = "期初数据未结帐,不能进行月末结帐!"
  293.         Call Xtxxts(Tsxx, 0, 1)
  294.         Exit Sub
  295.     End If
  296.     
  297.     
  298.     
  299.     If Not CxnrrecTemp!CaskJzbz Then
  300.         Cw_DataEnvi.DataConnect.Execute ("UPdate gy_kjrlb set CaskJzbz=1  where  kjyear=" & CxnrrecTemp!KjYear & " and period<" & CxnrrecTemp!Period)
  301.     End If
  302.          
  303.         
  304.     Sqlstr = "SELECT * FROM Gy_Kjrlb where CaskJzbz=0 Order By KjYear,Period"
  305.     Set Cxnrrec = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  306.     '业务处理中,单据是否审核
  307.     Sqlstr = "SELECT * FROM Cask_V_StartInputList where BillType<>1 and Checker='' and HIDate Between '" & CDate(Trim(Cxnrrec!QSRQ)) & "' and '" & CDate(Trim(Cxnrrec!ZZRQ)) & "'"
  308.     Set Rec_Query = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  309.     
  310.     If Not Rec_Query.EOF Then
  311.         Tsxx = "该会计期间的业务处理中,有未审核的单据,不能进行月末结帐!"
  312.         Call Xtxxts(Tsxx, 0, 1)
  313.         Exit Sub
  314.     End If
  315.     
  316.         Cw_DataEnvi.DataConnect.Execute ("Cask_SP_Check " & Val(Trim(Cxnrrec!Period)) & "," & Val(Trim(Cxnrrec!KjYear)))
  317.         
  318.         Sqlstr = "SELECT * FROM Gy_Kjrlb where KjYear=" & Cxnrrec!KjYear & " Order By KjYear,Period"
  319.         Set CxnrrecT = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  320.         If Not CxnrrecT.EOF Then CxnrrecT.MoveLast
  321.         If Val(Cxnrrec!Period) = Val(CxnrrecT!Period) Then
  322.             Cw_DataEnvi.DataConnect.Execute ("Delete  Cask_Ledger where Period= 1 and  KJYear=" & Val(Cxnrrec!KjYear) + 1)
  323.             Sqlstr = "INSERT INTO Cask_Ledger (WhCode,WrappageCode,StatusName,StartQuan,kjyear,period)  SELECT WhCode,WrappageCode,StatusName,Sum(StartQuan+AmountIn-AmountOut) as StartQuan," & Val(Cxnrrec!KjYear) + 1 & ",1 FROM Cask_Ledger where KjYear=" & Val(Cxnrrec!KjYear) & " and Period=" & Val(Cxnrrec!Period) & " GROUP BY WhCode,WrappageCode,StatusName"
  324.             Cw_DataEnvi.DataConnect.Execute (Sqlstr)
  325.         End If
  326.     '回填结帐人
  327.     Cw_DataEnvi.DataConnect.Execute ("Update Cask_HarvestIssueMain Set ChalkitupMan='" & Xtczy & "' Where BillType<>1 and HIDate Between '" & CDate(Trim(Cxnrrec!QSRQ)) & "' and '" & CDate(Trim(Cxnrrec!ZZRQ)) & "'")
  328.     '回填会计日期
  329.     Cw_DataEnvi.DataConnect.Execute ("Update Gy_Kjrlb Set CaskJzbz=1 where Period= " & Val(Trim(Cxnrrec!Period)) & " and  KJYear=" & Val(Trim(Cxnrrec!KjYear)))
  330.     
  331.     Call th_focus
  332.     
  333.     Tsxx = "您已成功结帐! "
  334.     Call Xtxxts(Tsxx, 0, 4)
  335.     Exit Sub
  336. Swcwcl:
  337.      Tsxx = "结帐过程中出现错误!请重试!"
  338.      Call Xtxxts(Tsxx, 0, 4)
  339.      Exit Sub
  340. End Sub
  341. Private Sub th_focus()
  342.     Dim R_Temp As ADODB.Recordset
  343.     
  344.     Sqlstr = "SELECT * FROM Gy_Kjrlb Order By KjYear,Period"
  345.     Set R_Temp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
  346.     For i = CzxsGrid.FixedRows To CzxsGrid.Rows - 1
  347.         CzxsGrid.TextMatrix(i, Sydz("005", GridStr(), Szzls)) = R_Temp!CaskJzbz           '结帐
  348.         R_Temp.MoveNext
  349.     Next i
  350. End Sub
  351. Private Sub Form_Unload(Cancel As Integer)
  352.     Unload Me
  353. End Sub