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

📄

📁 VB开发的ERP系统
💻
📖 第 1 页 / 共 5 页
字号:
            If (GridInt(Jsqte, 5) = 1 And Len(Trim(.TextMatrix(Yxxpdh, Jsqte))) = 0) Or (GridInt(Jsqte, 5) = 2 And Val(Trim(.TextMatrix(Yxxpdh, Jsqte))) = 0) Then
                Tsxx = GridStr(Jsqte, 2)
                Lrywlz = Jsqte
                GoTo Lrcwcl
                Exit For
            End If
        Next Jsqte
        If WglrGrid.TextMatrix(Yxxpdh, Sydz("006", GridStr(), Szzls)) <> "" Then
            If WglrGrid.TextMatrix(Yxxpdh, Sydz("008", GridStr(), Szzls)) = "对方汇总数" Then
                Tsxx = "来源数据项目是“对方汇总数”,则来源科目应清空!"
                GoTo Lrcwcl
            End If
        Else
            If WglrGrid.TextMatrix(Yxxpdh, Sydz("008", GridStr(), Szzls)) <> "对方汇总数" Then '在网格定义中,来源数据项可以为空,但来源项目<>“对方汇总"时不能为空
                Tsxx = "来源科目不能为空!"
                GoTo Lrcwcl
            End If
        End If
        
        '判断辅助核算项目是否已填写,且有效
        If Trim(WglrGrid.TextMatrix(Yxxpdh, Sydz("002", GridStr(), Szzls))) <> "" Then
            SqlStr = "Select * FROM Cwzz_AccCode Where Ccode='" & Trim(.TextMatrix(Yxxpdh, Sydz("002", GridStr(), Szzls))) & "'"
            Set RecTemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
            Lrywlz = Sydz("002", GridStr(), Szzls)
            If Not RecTemp.EOF Then
                '部门核算则部门不能为空,且有效
                If RecTemp.Fields("DeptFlag") Then
                    If Len(Trim(WglrGrid.TextMatrix(Yxxpdh, 3))) = 0 Then
                        Tsxx = "该转帐科目需要部门核算,部门项不能为空!"
                        Bln_AssVali = True
                        GoTo Lrcwcl
                    End If
                Else
                    .TextMatrix(Yxxpdh, 3) = ""
                    .TextMatrix(Yxxpdh, 4) = ""
                End If
                '客户单位核算则往来单位不能为空,且有效
                
                If RecTemp.Fields("CusFlag") Then
                    If Len(Trim(WglrGrid.TextMatrix(Yxxpdh, 5))) = 0 Then
                        Tsxx = "该转帐科目需要客户单位核算,客户单位项不能为空!"
                        Bln_AssVali = True
                        GoTo Lrcwcl
                    End If
                Else
                    .TextMatrix(Yxxpdh, 5) = ""
                    .TextMatrix(Yxxpdh, 6) = ""
                End If
                '供应商单位核算则供应商单位不能为空
                If RecTemp.Fields("SupplierFlag") Then
                    If Len(Trim(WglrGrid.TextMatrix(Yxxpdh, 7))) = 0 Then
                        Tsxx = "该转帐科目需要供应商单位核算,供应商单位项不能为空!"
                        Bln_AssVali = True
                        GoTo Lrcwcl
                    End If
                Else
                    .TextMatrix(Yxxpdh, 7) = ""
                    .TextMatrix(Yxxpdh, 8) = ""
                    
                End If
                
                '个人往来核算则个人项不能为空
                If RecTemp.Fields("PersonFlag") Then
                    If Len(Trim(WglrGrid.TextMatrix(Yxxpdh, 1))) = 0 Then
                        Tsxx = "该转帐科目需要个人往来核算,个人项不能为空!"
                        Bln_AssVali = True
                        GoTo Lrcwcl
                    End If
                Else
                    .TextMatrix(Yxxpdh, 1) = ""
                    .TextMatrix(Yxxpdh, 2) = ""
                End If
                
                '项目核算则项目不能为空
                If RecTemp.Fields("ItemFlag") Then
                    If Len(Trim(WglrGrid.TextMatrix(Yxxpdh, 11))) = 0 Then
                        Tsxx = "该转帐科目需要项目核算,核算项目不能为空!"
                        Bln_AssVali = True
                        GoTo Lrcwcl
                    End If
                Else
                    .TextMatrix(Yxxpdh, 11) = ""
                    .TextMatrix(Yxxpdh, 12) = ""
                    
                End If
            End If
        End If
        '2.放置行处理程序
        
        '以上为自定义部分]
    End With
    Sjhzyxxpd = True
    Hyxxpdlock = True
    Exit Function
Lrcwcl:      '录入错误处理
    With WglrGrid
        Call Xtxxts(Tsxx, 0, 1)
        
        Changelock = True
        .Select Yxxpdh, Lrywlz
        Changelock = False
        
        '[>>如果辅助核算出现错误则调用辅助核算功能
        If Bln_AssVali Then
            Call Sub_Drfzhsx(Yxxpdh, Trim(.TextMatrix(Yxxpdh, Sydz("002", GridStr(), Szzls))))
            '解决鼠标点击取消造成的换行
            Changelock = True
            .Select Yxxpdh, Lrywlz
            Changelock = False
            '<<]
        Else
            Call xswbk
        End If
        Sjhzyxxpd = False
        Exit Function
    End With
End Function

Private Sub Yd_Help_content()          '点击辅助核算信息列
    
    '如果单据操作状态为浏览状态则不能显示录入载体
    If Trim(Lab_OperStatus.Caption) = "1" Then Exit Sub
    
    '当科目编码处于录入状态时不能调入辅助核算项目
    If Ydtext.Visible Then Exit Sub
    
    '当焦点处于非录入区域时也不能调入辅助核算项目
    If WglrGrid.Row < WglrGrid.FixedRows Then Exit Sub
    
    If Yd_Help.Visible = False Then Exit Sub
    
    '屏蔽文本框,下拉组合框有效性判断
    Valilock = True
    
    With WglrGrid
        If Trim(.TextMatrix(.Row, Sydz("002", GridStr(), Szzls))) = "" Then
            Tsxx = "请录入转帐科目!"
            Call Xtxxts(Tsxx, 0, 1)
        Else
            Call Sub_Drfzhsx(.Row, Trim(.TextMatrix(.Row, Sydz("002", GridStr(), Szzls))))
        End If
    End With
    Valilock = False
End Sub

Private Sub Sub_Drfzhsx(Dqpdwgh As Long, Str_JudgeText As String)   '判断科目是否有辅助核算,如有则调入辅助核算窗体
    '函数参数:当前判断网格行,判断科目
    
    Dim Coljsq As Long           '临时列计数器
    Dim jsq As Integer          '记录有效辅助信息个数
    '首先进行必要输入项目的判断
    If Len(Str_JudgeText) <> 0 Then
        
        SqlStr = "Select Cwzz_AccCode.* ,ItemClassName FROM  Cwzz_AccCode " & _
        " LEFT OUTER JOIN Cwzz_ItemClass ON Cwzz_AccCode.ItemClassCode = Cwzz_ItemClass.ItemClassCode " & _
        " Where Ccode='" + Str_JudgeText + "' and EndFlag=1"
        Set RecTemp = Cw_DataEnvi.DataConnect.Execute(SqlStr)
        With RecTemp
            
            '判断科目进行哪些辅助核算
            '清空辅助核算标识
            For Jsqte = 0 To Int_AssCount - 1
                Bln_AssShow(Jsqte) = False
            Next Jsqte
            If .EOF Then
                WglrGrid.TextMatrix(Dqpdwgh, 1) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 2) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 3) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 4) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 5) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 6) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 7) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 8) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 9) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 10) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 11) = ""
                WglrGrid.TextMatrix(Dqpdwgh, 12) = ""
                Tsxx = "该转帐科目没有辅助核算信息"
                Call Xtxxts(Tsxx, 0, 4)
            Else
                If RecTemp.Fields("StopFlag") = True Then
                    Tsxx = "该科目已停用!"
                    Call Xtxxts(Tsxx, 0, 4)
                    Exit Sub
                End If
                
                '个人核算
                If RecTemp.Fields("PersonFlag") Then
                    Bln_AssShow(0) = True  '个人
                Else
                    WglrGrid.TextMatrix(Dqpdwgh, 1) = ""
                    WglrGrid.TextMatrix(Dqpdwgh, 2) = ""
                End If
                
                '部门核算
                If RecTemp.Fields("DeptFlag") Then
                    Bln_AssShow(1) = True  '部门
                Else
                    WglrGrid.TextMatrix(Dqpdwgh, 3) = ""
                    WglrGrid.TextMatrix(Dqpdwgh, 4) = ""
                End If
                
                '客户核算
                If RecTemp.Fields("CusFlag") Then
                    Bln_AssShow(3) = True                                                     '客户是否需要帮助的标志
                Else
                    WglrGrid.TextMatrix(Dqpdwgh, 5) = ""
                    WglrGrid.TextMatrix(Dqpdwgh, 6) = ""
                End If
                '供应商核算
                If RecTemp.Fields("SupplierFlag") Then
                    Bln_AssShow(4) = True                                                     '供应商是否需要帮助的标志
                Else
                    WglrGrid.TextMatrix(Dqpdwgh, 7) = ""
                    WglrGrid.TextMatrix(Dqpdwgh, 8) = ""
                End If
                '项目核算
                If RecTemp.Fields("ItemFlag") Then
                    If WglrGrid.TextMatrix(Dqpdwgh, 9) <> Trim(.Fields("ItemClassCode") & "") Then '项目类别编码与数据表中不符
                        WglrGrid.TextMatrix(Dqpdwgh, 9) = ""                                   '项目类别编码、名称、项目编码、名称均为空
                        WglrGrid.TextMatrix(Dqpdwgh, 10) = ""
                        WglrGrid.TextMatrix(Dqpdwgh, 11) = ""
                        WglrGrid.TextMatrix(Dqpdwgh, 12) = ""
                    Else
                        WglrGrid.TextMatrix(Dqpdwgh, 9) = Trim(.Fields("ItemClassCode") & "") '项目类别编码
                        WglrGrid.TextMatrix(Dqpdwgh, 10) = Trim(.Fields("ItemClassName") & "") '项目类别名称
                        Bln_AssShow(2) = True                                              '项目是否需要帮助的标志
                    End If
                Else
                    WglrGrid.TextMatrix(Dqpdwgh, 9) = ""
                    WglrGrid.TextMatrix(Dqpdwgh, 10) = ""
                    WglrGrid.TextMatrix(Dqpdwgh, 11) = ""
                    WglrGrid.TextMatrix(Dqpdwgh, 12) = ""
                End If
                '是否存在帮助信息
                jsq = 0
                For Jsqte = 0 To Int_AssCount - 1
                    If Bln_AssShow(Jsqte) = True Then
                        jsq = jsq + 1
                    End If
                Next Jsqte
                If jsq <> 0 Then
                    '调入科目辅助核算项目
                    For Jsqte = 0 To Int_AssCount - 1
                        If Bln_AssShow(Jsqte) Then
                            PZ_FrmAss.lab_GridRow = Dqpdwgh
                            Call Kmfzhsx(Dqpdwgh)
                        End If
                    Next Jsqte
                End If
            End If
            '重新显示辅助核算信息
            Call Sub_ShowMemo(WglrGrid.Row)
            WglrGrid.TextMatrix(Dqpdwgh, Sydz("010", GridStr(), Szzls)) = Str_Memo
            
        End With
    End If
End Sub

Private Sub Kmfzhsx(Lng_GridRow As Long)                  '调用科目辅助核算项
    '过程函数;Lng_gridrow当前网格调入辅助核算行
    Dim Kjqstop#, Kjqsleft#, Kjjg#, Ctzxgd#, Kjxsgs%
    Kjqstop = 300          '控件显示起始高度
    Kjqsleft = 300         '控件显示起始左边界
    Kjjg = 450             '控件显示间隔
    Kjxsgs = 0             '控件显示个数
    Ctzxgd = 1500          '窗体显示最小高度
    With AutoTran_AssMy          '辅助核算项目窗体
        For Jsqte = 0 To Int_AssCount - 1
            If Bln_AssShow(Jsqte) Then
                .tsLabel(Jsqte).Visible = True
                .tsLabel(Jsqte).Move Kjqsleft, Kjqstop + Kjxsgs * Kjjg
                .LrText(Jsqte).Visible = True
                .LrText(Jsqte).Move .tsLabel(Jsqte).Left + .tsLabel(Jsqte).Width + 50, .tsLabel(Jsqte).Top - 100
                
                If Bln_AssHelp(Jsqte) Then
                    .Ydcommand1(Jsqte).Visible = True
                    .Ydcommand1(Jsqte).Move .LrText(Jsqte).Left + .LrText(Jsqte).Width, .LrText(Jsqte).Top, .Ydcommand1(Jsqte).Width, .LrText(Jsqte).Height
                End If
                Kjxsgs = Kjxsgs + 1
                Select Case Jsqte
                Case 0     '个人
                    .LrText(Jsqte).Tag = Trim(WglrGrid.TextMatrix(Lng_GridRow, 1))
                    .LrText(Jsqte).Text = Trim(WglrGrid.TextMatrix(Lng_GridRow, 2))
                Case 1     '部门
                    .LrText(Jsqte).Tag = Trim(WglrGrid.TextMatrix(Lng_GridRow, 3))
                    .LrText(Jsqte).Text = Trim(WglrGrid.TextMatrix(Lng_GridRow, 4))
                Case 3     '客户
                    .LrText(Jsqte).Tag = Trim(WglrGrid.TextMatrix(Lng_GridRow, 5))
                    .LrText(Jsqte).Text = Trim(WglrGrid.TextMatrix(Lng_GridRow, 6))
                Case 4     '供应商
                    .LrText(Jsqte).Tag = Trim(WglrGrid.TextMatrix(Lng_GridRow, 7))
                    .LrText(Jsqte).Text = Trim(WglrGrid.TextMatrix(Lng_GridRow, 8))
                Case 2     '项目
                    .Lab_ItemClass.Tag = Trim(WglrGrid.TextMatrix(Lng_GridRow, 9))
                    .Lab_ItemClass.Caption = "(" + Trim(WglrGrid.TextMatrix(Lng_GridR

⌨️ 快捷键说明

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