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

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{BEEECC20-4D5F-4F8B-BFDC-5D9B6FBDE09D}#1.0#0"; "vsflex8.ocx"
  3. Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
  4. Begin VB.Form Xs_Z_MonthAccount 
  5.    Caption         =   "月末结帐"
  6.    ClientHeight    =   4875
  7.    ClientLeft      =   60
  8.    ClientTop       =   360
  9.    ClientWidth     =   5400
  10.    Icon            =   "月末结账.frx":0000
  11.    LinkTopic       =   "Form1"
  12.    LockControls    =   -1  'True
  13.    MaxButton       =   0   'False
  14.    MinButton       =   0   'False
  15.    ScaleHeight     =   4875
  16.    ScaleWidth      =   5400
  17.    StartUpPosition =   1  '所有者中心
  18.    Begin VB.CommandButton Cmd_Help 
  19.       Caption         =   "帮助(&H)"
  20.       Height          =   300
  21.       Left            =   2100
  22.       TabIndex        =   4
  23.       ToolTipText     =   "4290"
  24.       Top             =   4380
  25.       Width           =   1155
  26.    End
  27.    Begin VB.CommandButton Cmd_Exit 
  28.       Caption         =   "退出(&X)"
  29.       Height          =   300
  30.       Left            =   3780
  31.       TabIndex        =   2
  32.       Top             =   4380
  33.       Width           =   1155
  34.    End
  35.    Begin VB.CommandButton Cmd_CancelAccount 
  36.       Caption         =   "恢复结帐(&N)"
  37.       Height          =   300
  38.       Left            =   420
  39.       TabIndex        =   1
  40.       ToolTipText     =   "4290"
  41.       Top             =   4380
  42.       Visible         =   0   'False
  43.       Width           =   1155
  44.    End
  45.    Begin VB.CommandButton Cmd_OKAccount 
  46.       Caption         =   "结帐(&Y)"
  47.       Height          =   300
  48.       Left            =   420
  49.       TabIndex        =   0
  50.       Top             =   4380
  51.       Width           =   1155
  52.    End
  53.    Begin VSFlex8Ctl.VSFlexGrid vsFlx_Grid 
  54.       Height          =   4095
  55.       Left            =   90
  56.       TabIndex        =   3
  57.       Top             =   90
  58.       Width           =   5205
  59.       _cx             =   5080
  60.       _cy             =   5080
  61.       Appearance      =   1
  62.       BorderStyle     =   1
  63.       Enabled         =   -1  'True
  64.       BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
  65.          Name            =   "宋体"
  66.          Size            =   9
  67.          Charset         =   134
  68.          Weight          =   400
  69.          Underline       =   0   'False
  70.          Italic          =   0   'False
  71.          Strikethrough   =   0   'False
  72.       EndProperty
  73.       MousePointer    =   0
  74.       BackColor       =   -2147483643
  75.       ForeColor       =   -2147483640
  76.       BackColorFixed  =   -2147483633
  77.       ForeColorFixed  =   -2147483630
  78.       BackColorSel    =   -2147483635
  79.       ForeColorSel    =   -2147483634
  80.       BackColorBkg    =   -2147483636
  81.       BackColorAlternate=   -2147483643
  82.       GridColor       =   -2147483633
  83.       GridColorFixed  =   -2147483632
  84.       TreeColor       =   -2147483632
  85.       FloodColor      =   192
  86.       SheetBorder     =   -2147483642
  87.       FocusRect       =   1
  88.       HighLight       =   1
  89.       AllowSelection  =   -1  'True
  90.       AllowBigSelection=   -1  'True
  91.       AllowUserResizing=   0
  92.       SelectionMode   =   0
  93.       GridLines       =   1
  94.       GridLinesFixed  =   2
  95.       GridLineWidth   =   1
  96.       Rows            =   50
  97.       Cols            =   10
  98.       FixedRows       =   1
  99.       FixedCols       =   1
  100.       RowHeightMin    =   0
  101.       RowHeightMax    =   0
  102.       ColWidthMin     =   0
  103.       ColWidthMax     =   0
  104.       ExtendLastCol   =   0   'False
  105.       FormatString    =   ""
  106.       ScrollTrack     =   0   'False
  107.       ScrollBars      =   3
  108.       ScrollTips      =   0   'False
  109.       MergeCells      =   0
  110.       MergeCompare    =   0
  111.       AutoResize      =   -1  'True
  112.       AutoSizeMode    =   0
  113.       AutoSearch      =   0
  114.       AutoSearchDelay =   2
  115.       MultiTotals     =   -1  'True
  116.       SubtotalPosition=   1
  117.       OutlineBar      =   0
  118.       OutlineCol      =   0
  119.       Ellipsis        =   0
  120.       ExplorerBar     =   0
  121.       PicturesOver    =   0   'False
  122.       FillStyle       =   0
  123.       RightToLeft     =   0   'False
  124.       PictureType     =   0
  125.       TabBehavior     =   0
  126.       OwnerDraw       =   0
  127.       Editable        =   0
  128.       ShowComboButton =   1
  129.       WordWrap        =   0   'False
  130.       TextStyle       =   0
  131.       TextStyleFixed  =   0
  132.       OleDragMode     =   0
  133.       OleDropMode     =   0
  134.       DataMode        =   0
  135.       VirtualData     =   -1  'True
  136.       DataMember      =   ""
  137.       ComboSearch     =   3
  138.       AutoSizeMouse   =   -1  'True
  139.       FrozenRows      =   0
  140.       FrozenCols      =   0
  141.       AllowUserFreezing=   0
  142.       BackColorFrozen =   0
  143.       ForeColorFrozen =   0
  144.       WallPaperAlignment=   9
  145.       AccessibleName  =   ""
  146.       AccessibleDescription=   ""
  147.       AccessibleValue =   ""
  148.       AccessibleRole  =   24
  149.    End
  150.    Begin MSComctlLib.Toolbar GsToolbar 
  151.       Height          =   525
  152.       Left            =   2325
  153.       TabIndex        =   5
  154.       Top             =   3945
  155.       Visible         =   0   'False
  156.       Width           =   2685
  157.       _ExtentX        =   4736
  158.       _ExtentY        =   926
  159.       ButtonWidth     =   1455
  160.       ButtonHeight    =   926
  161.       AllowCustomize  =   0   'False
  162.       Appearance      =   1
  163.       Style           =   1
  164.       ImageList       =   "Imagelist1"
  165.       _Version        =   393216
  166.       BeginProperty Buttons {66833FE8-8583-11D1-B16A-00C0F0283628} 
  167.          NumButtons      =   3
  168.          BeginProperty Button1 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  169.             Caption         =   "保存格式"
  170.             Key             =   "bcgs"
  171.             ImageKey        =   "bc"
  172.          EndProperty
  173.          BeginProperty Button2 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  174.             Caption         =   "默认格式"
  175.             Key             =   "hfmrgs"
  176.             ImageKey        =   "fq"
  177.          EndProperty
  178.          BeginProperty Button3 {66833FEA-8583-11D1-B16A-00C0F0283628} 
  179.             Caption         =   "显示项目"
  180.             Key             =   "CSXM"
  181.             ImageKey        =   "xsxm"
  182.          EndProperty
  183.       EndProperty
  184.    End
  185. End
  186. Attribute VB_Name = "Xs_Z_MonthAccount"
  187. Attribute VB_GlobalNameSpace = False
  188. Attribute VB_Creatable = False
  189. Attribute VB_PredeclaredId = True
  190. Attribute VB_Exposed = False
  191. '***********************************************************************************************************
  192. '*    模 块 名 称 :月末结帐
  193. '*    功 能 描 述 :此功能模块主要完成销售月末结帐处理
  194. '*    程序员姓名  :王长兴
  195. '*    最后修改人  :王长兴
  196. '*    最后修改时间:2001/12/06
  197. '*    备        注:程序中所有依实际情况自定义部分均用[>>  <<]括起
  198. '*
  199. '***********************************************************************************************************
  200. '以下为固定使用变量
  201. Dim Tsxx As String                       '系统信息提示
  202. Dim Dyymctbl As New DY_Dyymsz            '打印页面窗体变量
  203. Dim GridCode As String                   '显示网格网格代码
  204. Dim GridInf() As Variant                 '整个网格设置信息
  205. Dim Qslz As Long                         '网格隐藏(非操作显示)列数
  206. Dim Sjhgd As Double                      '网格数据行高度
  207. Dim Sfxshjwg As Boolean                  '是否显示合计网格
  208. Dim GridBoolean() As Boolean             '网格列信息(布尔型)
  209. Dim GridStr()  As String                 '网格列信息(字符型)
  210. Dim GridInt() As Integer                 '网格列信息(整型)
  211. Dim Szzls As Integer                     '数组总列数(网格列数-1)
  212. Public BlTemp As Boolean
  213. Private Sub Cmd_CancelAccount_Click()
  214.     Dim Lng_Tmp As Long
  215.     Dim str_Period As String
  216.     Dim rs_Period As New ADODB.Recordset
  217.     With Me.vsFlx_Grid
  218.         For Lng_Tmp = .Rows - 1 To .FixedRows Step -1
  219.             If .TextMatrix(Lng_Tmp, Sydz("005", GridStr(), Szzls)) = True Then
  220.                 .Row = Lng_Tmp
  221.                 Exit For
  222.             End If
  223.         Next Lng_Tmp
  224.         If Lng_Tmp < .FixedRows Then
  225.             Call Xtxxts("没有要恢复结帐的会计期间!", 0, 4)
  226.             Exit Sub
  227.         End If
  228.         
  229.         str_Period = "select * from Gy_kjrlb where BeginFlag='1'"
  230.         Set rs_Period = Cw_DataEnvi.DataConnect.Execute(str_Period)
  231.         If Not rs_Period.EOF Then
  232.             If rs_Period.Fields("KjYear") = Val(.TextMatrix(.Row, Sydz("001", GridStr(), Szzls))) And rs_Period.Fields("Period") > Val(.TextMatrix(.Row, Sydz("002", GridStr(), Szzls))) Then
  233.                 Call Xtxxts("系统期初月份为" & rs_Period.Fields("Period") & "不能恢复结帐!", 0, 4)
  234.                 Exit Sub
  235.             End If
  236.         End If
  237.         
  238.         str_Period = "select * from Gy_kjrlb where kjyear='" & Xtyear + 1 & "' and xsjzbz=1"
  239.         Set rs_Period = Cw_DataEnvi.DataConnect.Execute(str_Period)
  240.         If rs_Period.RecordCount > 0 Then
  241.             Call Xtxxts("系统下一年度已经有结帐数据,不能恢复本期数据!", 0, 4)
  242.             Exit Sub
  243.         End If
  244.         
  245.         str_Period = "select top 1 *  from Gy_kjrlb where xsjzbz=1 order by KjYear desc,Period desc "
  246.         
  247.         Set rs_Period = Cw_DataEnvi.DataConnect.Execute(str_Period)
  248.         Cw_DataEnvi.DataConnect.Execute ("XS_SP_CancelAccount " & rs_Period.Fields("KjYear") & "," & rs_Period.Fields("Period"))
  249.         .TextMatrix(Lng_Tmp, Sydz("005", GridStr(), Szzls)) = False
  250.         .Row = Lng_Tmp - 1
  251.         Call Xtxxts("恢复结帐完成!", 0, 4)
  252.     End With
  253. End Sub
  254. Private Sub Cmd_Exit_Click()
  255.     Unload Me
  256. End Sub
  257. Private Sub Cmd_Help_Click()
  258.     Call F1bz
  259. End Sub
  260. Private Sub Cmd_OKAccount_Click()
  261.     Dim int_MsgResult As Integer
  262.     Dim Lng_Jsq As Long
  263.     Dim str_Invoice As String
  264.     Dim rs_Invoice As New ADODB.Recordset
  265.     '判断选择合法性
  266.     With Me.vsFlx_Grid
  267.         Lng_Jsq = .Row
  268.         If Lng_Jsq >= 12 + .FixedRows Then Exit Sub
  269.         '判断是否可以结帐
  270.         str_Invoice = "select * from Xs_ConsignBillMain where KjYear=" & Val(.TextMatrix(Lng_Jsq, Sydz("001", GridStr(), Szzls))) & " and Period=" & Val(.TextMatrix(Lng_Jsq, Sydz("002", GridStr(), Szzls))) & " and  Checker=''"
  271.         Set rs_Invoice = Cw_DataEnvi.DataConnect.Execute(str_Invoice)
  272.         If Not rs_Invoice.EOF() Then
  273.             Call Xtxxts("结帐会计期间有未审核的货单,不能结帐!", 0, 4)
  274.             Exit Sub
  275.         End If
  276.         str_Invoice = "select * from Xs_InvoiceBillMain where KjYear=" & Val(.TextMatrix(Lng_Jsq, Sydz("001", GridStr(), Szzls))) & " and Period=" & Val(.TextMatrix(Lng_Jsq, Sydz("002", GridStr(), Szzls))) & " and  Checker=''"
  277.         Set rs_Invoice = Cw_DataEnvi.DataConnect.Execute(str_Invoice)
  278.         If Not rs_Invoice.EOF() Then
  279.             Call Xtxxts("结帐会计期间有未审核的发票,不能结帐!", 0, 4)
  280.             Exit Sub
  281.         End If
  282.         '结帐
  283.         int_MsgResult = Xtxxts("你确定要结帐吗?", 1, 4)
  284.         If int_MsgResult = 6 Then
  285.             Xt_Wait.Show
  286.             On Error GoTo Err_Ctrl
  287.             Cw_DataEnvi.DataConnect.BeginTrans
  288.                 Cw_DataEnvi.DataConnect.Execute ("Xs_SP_Account " & Val(.TextMatrix(Lng_Jsq, Sydz("001", GridStr(), Szzls))) & "," & Val(.TextMatrix(Lng_Jsq, Sydz("002", GridStr(), Szzls))) & ",'" & Xtczy & "','" & Xtrq & "'")
  289.             Cw_DataEnvi.DataConnect.CommitTrans
  290.             .TextMatrix(Lng_Jsq, Sydz("005", GridStr(), Szzls)) = True
  291.             If .Row < .Rows - 1 Then
  292.                     .Row = Lng_Jsq + 1
  293.                 Else
  294.                     .Row = Lng_Jsq
  295.             End If
  296.             Xt_Wait.Hide
  297.             Call Xtxxts("月末结帐完成!", 0, 4)
  298.         End If
  299.     End With
  300.     Exit Sub
  301. Err_Ctrl:
  302.     Cw_DataEnvi.DataConnect.RollbackTrans
  303.     Call Xtxxts("月末结帐失败,恢复成未结帐状态!", 0, 4)
  304.     Xt_Wait.Hide
  305. End Sub
  306. Private Sub GsToolbar_ButtonClick(ByVal Button As MSComctlLib.Button)       '网格格式调整
  307.     Select Case Button.Key
  308.         Case "bcgs"                                          '保存表格格式
  309.             Call Bcwggs(vsFlx_Grid, GridCode, GridStr())
  310.         Case "hfmrgs"                                        '恢复默认格式
  311.             Call Hfmrgs(vsFlx_Grid, GridCode, GridStr())
  312.         Case "szxsxm"                                        '设置显示项目
  313.             Call Szxsxm(vsFlx_Grid, GridCode)
  314.     End Select
  315. End Sub
  316. Private Sub Form_Load()
  317.     Dim rs_Record As New ADODB.Recordset
  318.     Dim str_Record As String
  319.     Dim InTemp As Integer
  320.     
  321.     
  322.     If Not BlTemp Then
  323.         Xs_Z_MonthAccount.Caption = "恢复结帐"
  324.         Cmd_OKAccount.Visible = False
  325.         Cmd_CancelAccount.Visible = True
  326.     End If
  327.     GridCode = "Xs_Z_MonthAccount"
  328.     Call BzWgcsh(Me.vsFlx_Grid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
  329.     Qslz = GridInf(1)
  330.     Sjhgd = GridInf(2)
  331.     Sfxshjwg = GridInf(7)
  332.     Szzls = Me.vsFlx_Grid.Cols - 1
  333.     
  334.     str_Record = "select * from Gy_kjrlb where kjyear='" & Xtyear & "' order by KjYear,Period,qsrq,zzrq,cgjzbz"
  335.     Set rs_Record = Cw_DataEnvi.DataConnect.Execute(str_Record)
  336.     With Me.vsFlx_Grid
  337.         .Rows = .FixedRows
  338.         InTemp = .FixedRows
  339.         Do While Not rs_Record.EOF()
  340.             .AddItem ""
  341.             .RowHeight(.Rows - 1) = 300
  342.             .TextMatrix(.Rows - 1, Sydz("001", GridStr(), Szzls)) = Trim(rs_Record.Fields("KjYear") & "")
  343.             .TextMatrix(.Rows - 1, Sydz("002", GridStr(), Szzls)) = Trim(rs_Record.Fields("Period") & "")
  344.             .TextMatrix(.Rows - 1, Sydz("003", GridStr(), Szzls)) = Trim(rs_Record.Fields("qsrq") & "")
  345.             .TextMatrix(.Rows - 1, Sydz("004", GridStr(), Szzls)) = Trim(rs_Record.Fields("zzrq") & "")
  346.             .TextMatrix(.Rows - 1, Sydz("005", GridStr(), Szzls)) = rs_Record.Fields("xsjzbz")
  347.             rs_Record.MoveNext
  348.         Loop
  349.         rs_Record.Close
  350.         
  351.         '期初数据处理
  352.         str_Record = "select * from Gy_kjrlb where BeginFlag='1' and kjyear='" & Xtyear & "'"
  353.         Set rs_Record = Cw_DataEnvi.DataConnect.Execute(str_Record)
  354.         If Not rs_Record.EOF Then
  355.             InTemp = Val(rs_Record.Fields("Period")) + .FixedRows - 1
  356.         End If
  357.         '选择所操作的会计期间
  358.         For I = InTemp To .Rows - 1
  359.             If .TextMatrix(I, Sydz("005", GridStr(), Szzls)) = False Then
  360.                 If BlTemp Then
  361.                     .Row = I
  362.                 Else
  363.                     .Row = I - 1
  364.                 End If
  365.                 Exit For
  366.             Else
  367.                 .Row = .Rows - 1
  368.             End If
  369.         Next I
  370.         
  371.         .Enabled = False
  372.     End With
  373. End Sub
  374.