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

📄 frmpurchasesalevoucher.frm

📁 金算盘软件代码
💻 FRM
📖 第 1 页 / 共 5 页
字号:
    End If
End Sub

Private Sub mclsMainControl_ToolRefresh()
    Dim recTmp As rdoResultset
    
    msgReceipt.Cols = 0
    msgReceipt.Rows = 2
    msgReceipt.RowData(1) = 0
    Set recTmp = GetReceiptList()
    If Not recTmp Is Nothing Then
        Set datReceipt.Resultset = recTmp
    Else
        msgReceipt.Cols = 3
    End If
    mclsReceiptGrid.ColSort(mintColCheck) = True
    mclsReceiptGrid.ColOfs = mintColCheck + 1
    msgReceipt.ColWidth(1) = 0
    msgReceipt.ColWidth(mintColCheck) = 420
    mclsReceiptGrid.SetupStyle
    mclsReceiptGrid.ListSetToGrid
    Set recTmp = Nothing
    Set datReceipt.Resultset = Nothing
End Sub

'设置菜单可用属性
Private Sub UpdateMenuStatus()
    With frmMain
        .mnuEditCopy.Enabled = False
        .mnuEditEdit.Enabled = False
        .mnuEditNew.Enabled = False
        .mnuEditDel.Enabled = False
        .mnuEditInActive.Enabled = False
        .mnuEditShowAll.Checked = False
        .mnuEditShowAll.Enabled = False
        .mnuEditUse.Enabled = False
        .mnuEditColumn.Enabled = (stabWizard.Tab = 1)
        .mnuEditFilter.Enabled = False
        .mnuEditSearch.Enabled = False
        .mnuEditNotepad.Enabled = False
        .mnuEditShowList.Enabled = False
        .mnuEditUse.Enabled = False
        .mnuFilePrint.Enabled = False
        .mnuToolRefresh.Enabled = (stabWizard.Tab = 1)
        .SetToolBar
    End With
End Sub

Private Sub mclsReceiptGrid_AfterRefresh(lngRow As Long)
    Dim intCol1 As Integer
    Dim intCol2 As Integer
    Dim dblAmount1 As Double
    Dim dblAmount2 As Double
    Dim intDec As Integer
    
    intCol1 = GetGridCol("原币金额", msgReceipt)
    intCol2 = GetGridCol("原币税额", msgReceipt)
    intDec = GetGridValue(lngRow, 1, "Long", msgReceipt)
    If intCol1 > 0 Then
        dblAmount1 = GetGridValue(lngRow, intCol1, "Double", msgReceipt)
        msgReceipt.TextMatrix(lngRow, intCol1) = strFormat(dblAmount1, intDec)
    End If
    If intCol2 > 0 Then
        dblAmount2 = GetGridValue(lngRow, intCol2, "Double", msgReceipt)
        msgReceipt.TextMatrix(lngRow, intCol2) = strFormat(dblAmount2, intDec)
    End If
End Sub


Private Sub msgReceipt_KeyPress(KeyAscii As Integer)
    If KeyAscii <> 32 Then Exit Sub
    Dim strSql As String
    Dim errNo As Long
    
    On Error GoTo ErrHandle
    
    With msgReceipt
        If .Row < .Rows And .Row >= .FixedRows Then
            If .TextMatrix(.Row, mintColCheck) = "√" Then
                .TextMatrix(.Row, mintColCheck) = ""
                Select Case mstrFrom
                Case "商品业务"
                    If cboActivityType.Text = "结转成本" Then
                        strSql = "UPDATE ItemActivity SET lngVoucherID1 =0 WHERE lngActivityID1=" & .TextMatrix(.Row, 0)
                    Else
                        strSql = "UPDATE ItemActivity SET lngVoucherID =0 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    End If
                Case "财务业务"
                    strSql = "UPDATE Activity SET lngVoucherID=0 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                Case "保险业务"
                    Select Case .TextMatrix(.Row, 2)
                    Case 51 '"开户"
                        strSql = "UPDATE AccOpen SET lngVoucherID=0 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    Case 52 '"销户"
                        strSql = "UPDATE AccClose SET lngVoucherID=0 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    Case 48 '"汇缴书"
                        strSql = "UPDATE Receive SET lngVoucherID=0 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    Case 50 '"补缴书"
                        strSql = "UPDATE Repair SET lngVoucherID=0 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    Case 49 '"结算单"
                        strSql = "UPDATE Polic SET lngVoucherID=0 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    End Select
                End Select
            Else
                .TextMatrix(.Row, mintColCheck) = "√"
                Select Case mstrFrom
                Case "商品业务"
                    If cboActivityType.Text = "结转成本" Then
                        strSql = "UPDATE ItemActivity SET lngVoucherID1=-1 WHERE lngActivityID1=" & .TextMatrix(.Row, 0)
                    Else
                        strSql = "UPDATE ItemActivity SET lngVoucherID=-1 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    End If
                Case "财务业务"
                    strSql = "UPDATE Activity SET lngVoucherID=-1 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                Case "保险业务"
                    Select Case .TextMatrix(.Row, 2)
                    Case 51 '"开户"
                        strSql = "UPDATE AccOpen SET lngVoucherID=-1 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    Case 52 '"销户"
                        strSql = "UPDATE AccClose SET lngVoucherID=-1 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    Case 48 '"汇缴书"
                        strSql = "UPDATE Receive SET lngVoucherID=-1 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    Case 50 '"补缴书"
                        strSql = "UPDATE Repair SET lngVoucherID=-1 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    Case 49 '"结算单"
                        strSql = "UPDATE Polic SET lngVoucherID=-1 WHERE lngActivityID=" & .TextMatrix(.Row, 0)
                    End Select
                End Select
            End If
            gclsBase.ExecSQL strSql
        End If
    End With
    Exit Sub
    
ErrHandle:
    errNo = Errors.ErrorsDeal(True, Me)
    Select Case errNo
    Case edtResume: Resume
    Case edtResumeNext: Resume Next
    Case edtCanNotKnown
        ShowMsg hwnd, "程序出错:" & Err.Description, vbOKOnly + vbCritical, Caption
    End Select
End Sub

Private Sub stabWizard_Click(PreviousTab As Integer)
    
    ' 若向导进入其他步骤,进行该步骤合法检查
    If stabWizard.Tab > mintStep And mintStep < mintStepNum Then
        If ValidStep(mintStep) Then
            mintStep = stabWizard.Tab
        End If
        
        '初始向导步骤
        InitStep mintStep
    Else
        mintStep = stabWizard.Tab
        InitStep mintStep
        RefreshCmd
    End If
End Sub


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'
'向导公用过程
'
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 向导每步合法检查
Private Function ValidStep(ByVal TabIndex As Integer) As Boolean
    Dim strMsg As String, lngBottom As Integer
    
    Select Case TabIndex
    Case 0: ValidStep = ValidActivity(strMsg)        '业务类型
    Case 1: ValidStep = ValidReceiptRange(strMsg)    '选择单据
    Case 2: ValidStep = ValidSetVoucher(strMsg)      '设置凭证
    Case 3: ValidStep = ValidManner(strMsg)          '生成方式
    Case Else
        ValidStep = True
    End Select
    
    '返回上一步
    If Not ValidStep Then
        If mintStep < stabWizard.Tab Then
            stabWizard.Tab = mintStep
        Else
            mintStep = stabWizard.Tab
            RefreshCmd
        End If
        ShowMsg hwnd, strMsg, vbExclamation + vbOKOnly, Caption
    End If
    
    '设置每步合法性
    If TabIndex <> -1 Then
        mblnValid(TabIndex) = ValidStep
    End If
    
End Function
' 向导每步初始设置
Private Sub InitStep(ByVal TabIndex As Integer)
    Dim lngCnt As Long
    
    Select Case TabIndex
    Case 0: InitActivity      '业务类型
    Case 1: InitReceiptRange  '选择单据
    Case 2: InitSetVoucher    '设置凭证
    Case 3                    '生成方式
        For lngCnt = 0 To TabIndex - 1
            If Not mblnValid(lngCnt) Then
                ShowMsg hwnd, "没有进行" & Left$(stabWizard.TabCaption(lngCnt), 4), vbExclamation + vbOKOnly, Caption
                stabWizard.Tab = lngCnt
                Exit For
            End If
        Next lngCnt
        InitManner
    End Select
    RefreshCmd
End Sub

'调整拆卸、组装单
Private Sub ReChoose()
    Dim strSql As String
    Dim recActivity As rdoResultset
    
    strSql = "SELECT intYear,bytPeriod,strReceiptNO,lngReceiptNO,lngActivityTypeID " _
        & "FROM ItemActivity WHERE lngActivityTypeID IN (" & atInAssemble & "," & atOutApart & ") "
    If cboActivityType.Text = "结转成本" Then
        strSql = strSql & "AND lngVoucherID1=-1"
    Else
        strSql = strSql & "AND lngVoucherID=-1"
    End If
    Set recActivity = gclsBase.BaseDB.OpenResultset(strSql, rdOpenStatic)
    Do While Not recActivity.EOF
        Select Case recActivity!lngActivityTypeID
        Case atInAssemble
            If cboActivityType.Text = "结转成本" Then
                strSql = "UPDATE ItemActivity SET lngVoucherID1=-1 "
            Else
                strSql = "UPDATE ItemActivity SET lngVoucherID=-1 "
            End If
            strSql = strSql & "WHERE intYear=" & recActivity!intYear & " AND bytPeriod=" & recActivity!bytPeriod _
                & " AND lngActivityTypeID=" & atOutAssemble & " AND strReceiptNo='" _
                & recActivity!strReceiptNo & "' AND lngReceiptNo=" & recActivity!lngReceiptNo
            gclsBase.ExecSQL strSql
        Case atOutApart
            If cboActivityType.Text = "结转成本" Then
                strSql = "UPDATE ItemActivity SET lngVoucherID1=-1 "
            Else
                strSql = "UPDATE ItemActivity SET lngVoucherID=-1 "
            End If
            strSql = strSql & "WHERE intYear=" & recActivity!intYear & " AND bytPeriod=" & recActivity!bytPeriod _
                & " AND lngActivityTypeID=" & atInApart & " AND strReceiptNo='" _
                & recActivity!strReceiptNo & "' AND lngReceiptNo=" & recActivity!lngReceiptNo
            gclsBase.ExecSQL strSql
        End Select
        recActivity.MoveNext
    Loop
    recActivity.Close
    Set recActivity = Nothing
End Sub

' 向导完成后需执行的操作
Public Sub Execute()
    Dim strSql As String
    Dim strList As String
    Dim errNo As Long
    Dim lngCnt As Long
    Dim lngSortCol As Long
    
    On Error Resume Next
    lngSortCol = mclsReceiptGrid.SortedCol
    Set mclsReceiptGrid = Nothing
    mstrGuestID = ""
    mstrReceiptID = ""
    mstrInvoiceID = ""
    On Error GoTo ErrHandle
    
    Select Case mstrFrom
    Case "财务业务"
        strList = "QActivityList"
    Case "保险业务"
        strList = "QInsurantList"
    Case "商品业务"
        Select Case cboActivityType.Text
        Case "采购业务"
            strList = "QItemReceiptInList"
            SaveSet 1, "购销凭证", "票货同到不走采购科目", CStr(chkNoPurchase.Value)
    '        SaveSet 1, "购销凭证", "非票货同到走暂估入库", CStr(chkNoSame.Value), True, "Long"
        Case "销售业务", "结转成本"
            strList = "QItemReceiptOutList"
            SaveSet 1, "购销凭证", "根据发票确定收入", CStr(optInvoice(0).Value)
        Case Else
            strList = "QItemReceiptInList"
        End Select
    End Select
    
    strSql = "SELECT * FROM " & strList & " "
    Select Case Trim(cboActivityType.Text)
    Case "应收应付"
        '应收借项、应收贷项、应付借项、应付贷项、财务费用
        strSql = strSql & "WHERE lngActivityTypeID IN (" & atCreditAP & "," _
            & atDebitAP & "," & atCreditAR & "," & atDebitAR & "," & atFinanCharge & ")"
    Case "应收"
        '应收借项、应收贷项、财务费用
        strSql = strSql & "WHERE lngActivityTypeID IN (" & atCreditAR & "," _
            & atDebitAR & "," & atFinanCharge & ")"
    Case "应付"
        '应付借项、应付贷项
        strSql = strSql & "WHERE lngActivityTypeID IN (" & atCreditAP & "," _
            & atDebitAP & ")"
    Case "收款付款"
        '收款、付款
        strSql = strSql & "WHERE lngActivityTypeID IN (" & atPayment & "," _
            & atReceipt & ")"
    Case "采购业务"

⌨️ 快捷键说明

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