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

📄

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 5 页
字号:
    Bln_AssHelp(1) = True         '部门
    Bln_AssHelp(2) = True         '项目
    Bln_AssHelp(3) = True         '客户
    Bln_AssHelp(4) = True         '供应
    '完毕<<]
    
    
    '报表主标题及报表编码
    ReportTitle = "汇兑损益凭证"
    XtReportCode = "Cwzz_AutoAccDefiMy"
    Load Dyymctbl
    
    '调 入 网 格
    GridCode = "Cwzz_AutoAccDefiExchange"          '网格属性编码
    Call BzWgcsh(WglrGrid, GridCode, GridInf(), GridBoolean(), GridInt(), GridStr())
    
    Qslz = GridInf(1)
    Sjhgd = GridInf(2)
    Pmbcsjhs = GridInf(3)
    Fzxwghs = GridInf(4)
    Sfblbzkd = GridInf(5)
    Shsfts = GridInf(6)
    Sfxshjwg = GridInf(7)
    Szzls = WglrGrid.Cols - 1
    For Jsqte = WglrGrid.FixedRows To WglrGrid.Rows - 1
        WglrGrid.RowHeight(Jsqte) = Sjhgd
    Next Jsqte
    
    '[
    ReDim Help_Bz_Col(Szzls)
    For Jsqte = 1 To Szzls
        Help_Bz_Col(Jsqte) = False
    Next Jsqte
    Help_Bz_Col(Sydz("004", GridStr(), Szzls)) = True           '辅助信息列不能编辑但需要帮助
    
    ']
    
    '单据变动置为False
    Bln_BillChange = False
    
    '装入会计科目编码帮助窗体(为加快参照速度)PZ_FrmKjkmcz
    Load PZ_FrmKjkmcz
End Sub

Private Sub Form_Unload(Cancel As Integer)           '窗体卸载
    '卸载打印页面窗体
    Unload Dyymctbl
    
    '卸载会计科目编码参照窗体
    PZ_FrmKjkmcz.UnloadCheck.Value = 1
    Unload PZ_FrmKjkmcz
    
    '判断凭证是否发生变化
    If Bln_BillChange Then
        Xtfhcs = "1"
    Else
        Xtfhcs = "0"
    End If
    Set RecTemp = Nothing
End Sub

Private Sub WglrGrid_AfterUserResize(ByVal Row As Long, ByVal Col As Long)
    With WglrGrid
        If Help_Bz_Col(.Col) = True And Lab_OperStatus.Caption = 3 And Yd_Help.Visible = True Then
            Call Yd_Help_Show
        End If
    End With
End Sub


Private Sub Yd_Help_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Not Yd_Help.Visible Then
        Exit Sub
    End If
    With WglrGrid
        Call Yd_Help_content
    End With
    WglrGrid.SetFocus
End Sub


Private Sub Timer1_Timer()                           '根据不同凭证或单据状态处理不同的数据初始化
    '关闭定时器
    Timer1.Enabled = False
    '调入数据初始化模块
    Call Sjcsh(Trim(1))            '读入转帐编码\转帐名称\转帐凭证类别
End Sub

Private Sub Sjcsh(Str_Pzclzt As String)              '数据初始化模块(根据实际情况)
    Select Case Str_Pzclzt
    Case 1  '单据处于编辑状态
        With AutoTran_TranList.CzxsGrid
            Lbl_AutoAccCode.Caption = .Tag
        End With
        Sqlstr = "SELECT Cwzz_AutoTranMain.VouchClassCode, Cwzz_VouchClass.VouchClassName, " & _
        " Cwzz_AutoTranMain.TranName , Cwzz_AutoTranMain.TranCode FROM Cwzz_AutoTranMain " & _
        "left OUTER JOIN Cwzz_VouchClass ON " & _
        "Cwzz_VouchClass.VouchClassCode = Cwzz_AutoTranMain.VouchClassCode where TranCode='" & Lbl_AutoAccCode.Caption & "' and TranClass='" & TranClassCode & "'"
        Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
        Lbl_AutoAccName.Caption = Trim(RecTemp.Fields("TranName"))
        Lbl_AutoAccClassCode.Caption = Trim(RecTemp.Fields("VouchClassCode"))
        Lbl_AutoAccClassName.Caption = Trim(RecTemp.Fields("VouchClassName"))
        RecTemp.Close
        
        '设置操作状态为浏览
        Lab_OperStatus.Caption = "1"
        
        '设置工具条状态
        Call Sub_OperStatus("11")
        
        '显示整张单据信息
        Call Sub_ShowBill
        Call Sub_AdjustGrid
    Case 2  '单据处于浏览状态
        
    End Select
End Sub

Private Sub Sub_ShowBill()                                          '根据当前单据号显示整张单据内容
    If RecTemp.State = 1 Then RecTemp.Close
    Sqlstr = "SELECT m.*," & _
    "u.PersonName," & _
    "o.cname as cname," & _
    "t.Suppliername,v.CusName," & _
    "s.DeptName," & _
    "q.ItemClassName," & _
    "r.ItemName, r.QuantityFlag," & _
    "o.EndFlag,o.BalanceOri " & _
    "FROM Cwzz_AutoTranItem as m LEFT OUTER JOIN" & _
    " Cwzz_AccCode as o ON m.Ccode = o.ccode LEFT OUTER JOIN " & _
    "Cwzz_ItemClass as q ON m.ItemClassCode = q.ItemClassCode LEFT OUTER JOIN " & _
    "Cwzz_Item as r ON m.ItemClassCode = r.ItemClassCode AND " & _
    "m.ItemCode = r.ItemCode LEFT OUTER JOIN" & _
    " Gy_Department as s ON m.DeptCode = s.DeptCode " & _
    " LEFT OUTER JOIN Gy_supplier as t ON m.Suppliercode = t.Suppliercode " & _
    " LEFT OUTER JOIN Gy_Person as u ON m.PersonCode = u.PersonCode" & _
    " LEFT OUTER JOIN Gy_Customer as v ON m.CusCode = v.CusCode " & _
    " where TranCode='" & Lbl_AutoAccCode.Caption & "' and tranclass='" & TranClassCode & "' Order by AutoTranId"
    Set RecTemp = Cw_DataEnvi.DataConnect.Execute(Sqlstr)
    With RecTemp
        WglrGrid.Clear 1
        If .EOF Then
            Exit Sub
        Else
            WglrGrid.Rows = .RecordCount + WglrGrid.FixedRows
            
            '[>>显示单据头
            Jsqte = WglrGrid.FixedRows
            Do While Not .EOF
                If Jsqte >= WglrGrid.Rows Then
                    WglrGrid.AddItem ""
                End If
                
                '[>>显示单据分录
                WglrGrid.TextMatrix(Jsqte, 0) = "*"                                                              '行标识
                WglrGrid.TextMatrix(Jsqte, 1) = Trim(.Fields("PersonCode") & "")                                 '个人编码
                WglrGrid.TextMatrix(Jsqte, 2) = Trim(.Fields("PersonName") & "")                                 '个人名称
                WglrGrid.TextMatrix(Jsqte, 3) = Trim(.Fields("DeptCode") & "")                                   '部门编码
                WglrGrid.TextMatrix(Jsqte, 4) = Trim(.Fields("DeptName") & "")                                   '部门名称
                WglrGrid.TextMatrix(Jsqte, 5) = Trim(.Fields("CusCode") & "")                                    '客户编码
                WglrGrid.TextMatrix(Jsqte, 6) = Trim(.Fields("CusName") & "")                                    '客户名称
                WglrGrid.TextMatrix(Jsqte, 7) = Trim(.Fields("Suppliercode") & "")                              '供应商编码
                WglrGrid.TextMatrix(Jsqte, 8) = Trim(.Fields("Suppliername") & "")                              '供应商名称
                WglrGrid.TextMatrix(Jsqte, 9) = Trim(.Fields("ItemClassCode") & "")                              '项目类别编码
                WglrGrid.TextMatrix(Jsqte, 10) = Trim(.Fields("ItemClassName") & "")                             '项目类别名称
                WglrGrid.TextMatrix(Jsqte, 11) = Trim(.Fields("ItemCode") & "")                                  '项目编码
                WglrGrid.TextMatrix(Jsqte, 12) = Trim(.Fields("ItemName") & "")                                  '项目名称
                WglrGrid.TextMatrix(Jsqte, Sydz("001", GridStr(), Szzls)) = Trim(.Fields("Digest") & "")         '摘 要
                WglrGrid.TextMatrix(Jsqte, Sydz("002", GridStr(), Szzls)) = Trim(.Fields("Ccode"))               '科目编码
                WglrGrid.TextMatrix(Jsqte, Sydz("003", GridStr(), Szzls)) = Trim(.Fields("Cname") & "")          '科目名称
                WglrGrid.TextMatrix(Jsqte, Sydz("004", GridStr(), Szzls)) = Trim(.Fields("TranOri"))             '转帐方向
                Call Sub_ShowMemo(Jsqte)
                WglrGrid.TextMatrix(Jsqte, Sydz("005", GridStr(), Szzls)) = Str_Memo
                '<<]
                
                WglrGrid.RowHeight(Jsqte) = Sjhgd
                .MoveNext
                Jsqte = Jsqte + 1
            Loop
        End If
    End With
    RecTemp.Close
    '调整网格,保持1录入行,提供屏幕保持行数.
    Call Sub_AdjustGrid
    
End Sub

Private Sub Tlb_Action_ButtonClick(ByVal Button As MSComctlLib.Button)             '用户点击工具条
    
    '屏蔽文本框,下拉组合框有效性判断,即在网格单元内录入数据时,点帮助信息等,不执行文本框等验证,即不执行YdText或YdCombo的LostFocus事件.
    Valilock = True
    
    '屏蔽网格失去焦点产生的有效性判断
    changelock = True
    Select Case Button.Key
    Case "ymsz"                                          '页面设置
        Dyymctbl.Show 1
    Case "yl"                                            '预 览
        If Fun_Drfrmyxxpd Then Call bbyl(True)
    Case "dy"                                            '打 印
        If Fun_Drfrmyxxpd Then Call bbyl(False)
    Case "xg"                                            '修 改
        Call Sub_EditBill
    Case "zh"                                            '增 行
        Call zjlrfl
    Case "sh"                                            '删 行
        Call Scdqfl
    Case "bc"                                            '保 存
        If Fun_Drfrmyxxpd Then Call Sub_SaveBill
    Case "fq"                                            '放 弃
        Call Sub_AbandonBill
    Case "bz"                                            '帮 助
        Call F1bz
    Case "fh"                                            '退 出
        Unload Me
    End Select
    '解 锁
    Valilock = False
    changelock = False
End Sub

Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)        '支持热键操作,更确切地讲,是工具栏热键
    If Shift = 2 Then   'Ctrl的位屏蔽值=2
        Select Case UCase(Chr(KeyCode))
        Case "P"                   'Ctrl+P 打印
            If Tlb_Action.Buttons("dy").Enabled Then Call bbyl(False)
        End Select
    End If
    Select Case KeyCode
    Case vbKeyF3          '修改凭证
        If Tlb_Action.Buttons("xg").Enabled Then
            Call Sub_EditBill
        End If
    Case vbKeyF6          '保存凭证
        If Tlb_Action.Buttons("bc").Enabled Then
            Call Sub_SaveBill
        End If
    End Select
End Sub

Private Sub Sub_OperStatus(Str_Status As String)                 '工具条依据不同状态所进行的变化
    With Tlb_Action
        Select Case Str_Status
        Case "10"   '浏览(系统进入、放弃新增单据、填制凭证时删除单据,凭证审核)
            '工具条
            .Buttons("dy").Enabled = True      '打印
            .Buttons("yl").Enabled = True      '预览
            .Buttons("xg").Enabled = False     '修改
            .Buttons("zh").Enabled = False     '增行
            .Buttons("sh").Enabled = False     '删行
            .Buttons("cx").Enabled = True      '查询
            .Buttons("bc").Enabled = False     '保存
            .Buttons("fq").Enabled = False     '放弃
        Case "11"   '浏览(放弃修改单据,查询单据)
            '工具条
            .Buttons("dy").Enabled = True      '打印
            .Buttons("yl").Enabled = True      '预览
            .Buttons("xg").Enabled = True      '修改
            .Buttons("zh").Enabled = False     '增行
            .Buttons("sh").Enabled = False     '删行
            .Buttons("bc").Enabled = False     '保存
            .Buttons("fq").Enabled = False     '放弃
        Case "30"   '修改
            '工具条
            .Buttons("dy").Enabled = False      '打印
            .Buttons("yl").Enabled = False      '预览
            .Buttons("xg").Enabled = False      '修改
            .Buttons("zh").Enabled = True       '增行
            .Buttons("sh").Enabled = True       '删行
            .Buttons("bc").Enabled = True       '保存
            .Buttons("fq").Enabled = True       '放弃
        End Select
    End With
End Sub

Private Sub xswbk()                       '在当前选中单元显示文本框,列表框,帮助按钮(通用)
    Dim Wbkpy As Integer, Wbkpy1 As Integer '文本框偏移量
    
    '如果单据操作状态为浏览状态则不能显示录入载体
    If Trim(Lab_OperStatus.Caption) = "1" Then Exit Sub
    
    '显示文本框前返回有效行列(解决滚动条问题)
    Call Xldqh
    Call Xldql
    
    '隐藏文本框,帮助按钮,列表组合框  ?何用
    Call Ycwbk
    
    With WglrGrid
        Dqlrwgh = .Row
        Dqlrwgl = .Col
        If Not GridBoolean(.Col, 1) Or .Row < .FixedRows Then Exit Sub
        Wbkpy = 30
        Wbkpy1 = 15
        If GridBoolean(.Col, 3) Then        '若是下拉列表录入
            YdCombo.Left = .CellLeft + .Left + Wbkpy
            YdCombo.Top = .CellTop + .Top + Wbkpy
            YdCombo.Width = .CellWidth - Wbkpy1
            Call Wbkcl                          '主要是在下拉列表框可用之前填充下拉列表框
            YdCombo.Visible = True
            YdCombo.SetFocus
            Ydcommand.Visible = False
            Ydtext.Visible = False
            Yd_Help.Visible = False
        Else
            If GridBoolean(.Col, 2) Then        '是否提供帮助
                Ydcommand.Left = .Left + .CellLeft + .CellWidth - Ydcommand.Width + Wbkpy
                Ydcommand.Top = .Top + .CellTop + .CellHeight - Ydcommand.Height + Wbkpy

⌨️ 快捷键说明

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