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

📄 clslistcompose.cls

📁 金算盘软件代码
💻 CLS
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsListCompose"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False

Private WithEvents mfrmCompose As frmAListTemplate  '模版窗体
Attribute mfrmCompose.VB_VarHelpID = -1
'Private mclsPurchase As clsPurchase
Private frmEdit As Form                             '接口窗体
Private mblnFinish As Boolean
Private mIsShowEdit As Boolean

Private blnIsVouchered As Boolean                   '是否已生成凭证
Private blnIsVoid    As Boolean                     '是否已作废
Private lngActivityTypeID As Long
Private blnEdit As Boolean                          '编辑权限
Private blnChange As Boolean                        '只能编辑和删除自己制作的单据
Private clsListType As String
Public Function SetListType(ByVal strList As String)
    mfrmCompose.strListType = strList
    clsListType = strList
End Function
Private Sub cMsgBox(strMsg As String, Optional strTitle As String)
    If Trim(strTitle) = "" Then
        strTitle = "提示信息"
    End If

    ShowMsg mfrmCompose.hWnd, strMsg, MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, strTitle
End Sub
Private Sub Class_Initialize()
    Set mfrmCompose = New frmAListTemplate
    mfrmCompose.blnReceptionList = True
    mfrmCompose.mTitle = "商品拆卸组装单列表"
    mfrmCompose.mHelpID = 50017
    mfrmCompose.Tabs = 1
    mfrmCompose.SpViewID(0) = 142
    mfrmCompose.blnEditByRight(0) = IsCanDo(frmRightsID.frmListComposeID, gclsBase.OperatorID)
    
    mfrmCompose.SpSelect(0) = "ItemActivity.lngActivityID, decode(ItemActivity.blnIsVoid,1,'√',' ') AS ""作废"""
    If IsCanDo(274, gclsBase.OperatorID) Then
        mfrmCompose.SpWhere(0) = " ItemActivity.lngActivityTypeID In (30,33)"
    Else
        mfrmCompose.SpWhere(0) = " ItemActivity.lngActivityTypeID In (30,33) and ItemActivity.lngOperatorID=" & gclsBase.OperatorID
    End If
    mfrmCompose.ShowAll(0) = "ItemActivity.blnIsVoid=0"
    
    mfrmCompose.SpPrintID(0) = 43
    mfrmCompose.SpPrintTitle(0) = "商品拆卸组装单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
    mfrmCompose.MenuEnbaleOnPage(0) = 1
    mfrmCompose.MenuEnbaleOnPage(1) = 1
    mfrmCompose.MenuEnbaleOnPage(2) = 1
    mfrmCompose.MenuEnbaleOnPage(3) = 1
    mfrmCompose.MenuEnbaleOnPage(4) = 1
    mfrmCompose.MenuEnbaleOnPage(5) = 1
    mfrmCompose.MenuEnbaleOnPage(6) = 1
    mfrmCompose.MenuEnbaleOnPage(7) = 1
End Sub

Public Function Showlist()
    mfrmCompose.Show
    mfrmCompose.ZOrder 0
    Set mclsPurchase = New clsPurchase
    mclsPurchase.SethWnd mfrmCompose.hWnd
    Set frmEdit = frmStripRigOut
End Function

Private Sub mfrmCompose_ListChildActive()
    Dim vntMessage As Variant
    For Each vntMessage In mfrmCompose.mclsMainControl.Messages
        If vntMessage = Message.msgReceipt30 Or vntMessage = Message.msgReceipt31 Then
            mfrmCompose.ToolRefresh
            mfrmCompose.mclsMainControl.Messages.Remove CStr(vntMessage) '清除消息
        End If
    Next
    mfrmCompose.mclsMainControl.Messages.Clear
End Sub

Private Sub mfrmCompose_ListDel()
    Dim lngActivityID As Long
    lngActivityID = mfrmCompose.ListID
    If lngActivityID = 0 Then Exit Sub
    If mIsShowEdit Then
        If lngActivityID = frmEdit.getID Then
            cMsgBox "不能删除当前编辑的单据!"
            Exit Sub
        End If
    End If
    
    'If Not DeleteCompose(lngActivityID) Then Exit Sub
    Dim clsLst As clsCompose
    Set clsLst = New clsCompose
    clsLst.hWnd = mfrmCompose.hWnd
    If Not clsLst.DeleteCompose(lngActivityID, False) Then Exit Sub
    Set clsLst = Nothing
    mfrmCompose.ToolRefresh
End Sub

Private Sub mfrmCompose_ListEdite()
    Dim lngActivityID As Long
    
    mfrmCompose.Enabled = False
    mblnFinish = True
    lngActivityID = mfrmCompose.ListID
    If mIsShowEdit Then
        frmEdit.ShowAOldBill (lngActivityID) '调用接口
    Else
        mIsShowEdit = True
        frmEdit.ShowAOldBill (lngActivityID) '调用接口
    End If
    mblnFinish = False
    mfrmCompose.Enabled = True
End Sub

Private Sub mfrmCompose_oListInActive()
'    Dim lngActivityID As Long
'
'On Error GoTo TheErr
'    lngActivityID = mfrmCompose.ListID
'    If lngActivityID = 0 Then Exit Sub
'    If mfrmCompose.IsInActive Then Exit Sub
'    If Not DeleteCompose(lngActivityID, True) Then Exit Sub
'    mfrmCompose.ToolRefresh
'    Exit Sub
'TheErr:
'    cMsgBox "操作失败!"
End Sub

Private Sub mfrmCompose_ListInActive(blnLevel As Boolean, blnSuceess As Boolean)
    Dim lngActivityID As Long
    
On Error GoTo TheErr
    blnLevel = False
    blnSuceess = False
    lngActivityID = mfrmCompose.ListID
    If lngActivityID = 0 Then Exit Sub
    If mfrmCompose.IsInActive Then Exit Sub
    'If Not DeleteCompose(lngActivityID, True) Then Exit Sub
    'mfrmCompose.ToolRefresh
    Dim clsLst As clsCompose
    Set clsLst = New clsCompose
    clsLst.hWnd = mfrmCompose.hWnd
    If Not clsLst.DeleteCompose(lngActivityID, True) Then Exit Sub
    Set clsLst = Nothing
    blnSuceess = True
    Exit Sub
TheErr:
    cMsgBox "操作失败!"
End Sub

Private Sub mfrmCompose_ListNew()
    mblnFinish = True
    If mIsShowEdit Then
        frmEdit.ShowANewBill
    Else
        frmEdit.ShowANewBill
        mIsShowEdit = True
    End If
    mblnFinish = False
End Sub

Private Sub mfrmCompose_ListPrintReceipt()
    frmPrintReceipt.ShowfrmPrintReceipt 32
End Sub

Private Sub mfrmCompose_ListShowAll()
    With mfrmCompose
        If .chkShowall = 0 Then
            .ShowAll(0) = "ItemActivity.blnIsVoid=0"
        Else
            .ShowAll(0) = ""
        End If
        .ToolRefresh
    End With
End Sub

Private Function GetItemStatus(lngActivityID As Long) As Boolean
     Dim strSql As String
    Dim recTemp As rdoResultset
    
    strSql = "SELECT ItemActivity.lngVoucherID, ItemActivity.lngOperatorID, ItemActivity.blnIsVoid, ItemActivity.lngActivityTypeID From ItemActivity WHERE (ItemActivity.lngActivityID)=" & lngActivityID
    Set recTemp = gclsBase.BaseDB.OpenResultset(strSql, rdOpenForwardOnly)
    If recTemp.BOF And recTemp.EOF Then
        cMsgBox "列表的数据已被修改,请重新刷新后再进行操作!"
        Exit Function
    End If
    
    If recTemp(0) > 0 Then
        blnIsVouchered = True
    Else
        blnIsVouchered = False
    End If
    If gclsBase.OperatorID = recTemp(1) Then
        blnChange = True
    Else
        blnChange = False
    End If
    blnIsVoid = IIf(recTemp(2) = 1, True, False)
    lngActivityTypeID = recTemp(3)
    
    Set recTemp = Nothing
    GetItemStatus = True
End Function

'告诉列表:编辑窗口已关闭
Public Sub IAmCLosed()
    mIsShowEdit = False
End Sub


'////////////////////////////////////////////////////////////////////////////////////////
'
'                       功能代码实现
'
'////////////////////////////////////////////////////////////////////////////////////////

'删除《拆卸组装表》
'注意:拆卸组装单一次对应两对记录

⌨️ 快捷键说明

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