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

📄 clsliststocking.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 = "clsListStocking"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False

Private intFormType As Integer
Private WithEvents mfrmStocking As frmAListTemplate '模版窗体
Attribute mfrmStocking.VB_VarHelpID = -1
Private mclsStocking As clsStockTaking              '接口类
Private frmEdit As Form                             '接口窗体
Private blnIsVoid    As Boolean                     '是否已作废
Private blnIsInvoice As Boolean                     '开票标志
Private blnChange As Boolean                        '只能编辑和删除自己制作的单据
Private mblnFinish As Boolean
Private mIsShowEdit As Boolean
Private clsListType As String
Public Function SetListType(ByVal strList As String)
    mfrmStocking.strListType = strList
    clsListType = strList
End Function
Private Sub cMsgBox(strMsg As String, Optional strTitle As String)
    If Trim(strTitle) = "" Then
        strTitle = "提示信息"
    End If

    ShowMsg mfrmStocking.hWnd, strMsg, MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, strTitle
End Sub
Private Sub Class_Initialize()
    Set mfrmStocking = New frmAListTemplate
    mfrmStocking.blnReceptionList = True
    mfrmStocking.mTitle = "商品盘点列表"
    mfrmStocking.mHelpID = 50009
    mfrmStocking.Tabs = 1
    mfrmStocking.SpViewID(0) = 141
    mfrmStocking.blnEditByRight(0) = IsCanDo(frmRightsID.frmListStockTakingID, gclsBase.OperatorID)
    
    mfrmStocking.SpSelect(0) = "StockTaking.lngStockTakingID, decode(StockTaking.blnIsVoid,1,'√',' ') AS ""作废"""
    mfrmStocking.ShowAll(0) = "StockTaking.blnIsVoid=0"
    If Not IsCanDo(273, gclsBase.OperatorID) Then
        mfrmStocking.SpWhere(0) = "StockTaking.lngOperatorID=" & gclsBase.OperatorID
    End If
    
    mfrmStocking.SpPrintID(0) = 45
    mfrmStocking.SpPrintTitle(0) = "商品盘点列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
    mfrmStocking.MenuEnbaleOnPage(0) = 1
    mfrmStocking.MenuEnbaleOnPage(1) = 1
    mfrmStocking.MenuEnbaleOnPage(2) = 1
    mfrmStocking.MenuEnbaleOnPage(3) = 1
    mfrmStocking.MenuEnbaleOnPage(4) = 1
    mfrmStocking.MenuEnbaleOnPage(5) = 1
    mfrmStocking.MenuEnbaleOnPage(6) = 1
    mfrmStocking.MenuEnbaleOnPage(7) = 1
End Sub

Public Function Showlist()
    mfrmStocking.Show
    mfrmStocking.ZOrder 0
    Set mclsStocking = New clsStockTaking
    mclsStocking.SethWnd mfrmStocking.hWnd
    Set frmEdit = FrmTakeStock
End Function

Private Sub mfrmStocking_ListChildActive()
    Dim vntMessage As Variant
    For Each vntMessage In mfrmStocking.mclsMainControl.Messages
        If vntMessage = Message.msgReceipt33 Then
            mfrmStocking.ToolRefresh
            mfrmStocking.mclsMainControl.Messages.Remove CStr(vntMessage) '清除消息
        End If
    Next
    mfrmStocking.mclsMainControl.Messages.Clear
End Sub

Private Sub mfrmStocking_ListDel()
    Dim lngActivityID As Long
    lngActivityID = mfrmStocking.ListID
    If lngActivityID = 0 Then Exit Sub
    If GetItemStatus(lngActivityID) = False Then Exit Sub
    If mIsShowEdit Then
        If lngActivityID = frmEdit.getID Then
            cMsgBox "不能删除当前编辑的单据!"
            Exit Sub
        End If
    End If
    If Not blnChange Then
        cMsgBox "不能删除由他人制作的单据!"
        Exit Sub
    End If
    If Not mclsStocking.DeleteStockTaking(lngActivityID) Then Exit Sub
    mfrmStocking.ToolRefresh
End Sub

Private Sub mfrmStocking_ListEdite()
    Dim lngActivityID As Long
    
    mfrmStocking.Enabled = False
    mblnFinish = True
    lngActivityID = mfrmStocking.ListID
    If lngActivityID = -1 Then Exit Sub
    If mIsShowEdit Then
        frmEdit.ShowAOldBill (lngActivityID) '调用接口
    Else
        mIsShowEdit = True
        frmEdit.ShowAOldBill (lngActivityID) '调用接口
    End If
    mblnFinish = False
    mfrmStocking.Enabled = True
End Sub

Private Sub mfrmStocking_oListInActive()
    Dim lngActivityID As Long
    
On Error GoTo TheErr
    lngActivityID = mfrmStocking.ListID
    If lngActivityID = 0 Then Exit Sub
    If mfrmStocking.IsInActive Then Exit Sub
    If Not GetItemStatus(lngActivityID) Then Exit Sub
    If Not blnChange Then
        cMsgBox "不能作废由他人制作的单据!"
        Exit Sub
    End If
    If ShowMsg(mfrmStocking.hWnd, "本张商品盘点单作废后将不能取消作废,您确实要作废吗?", MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2 + MB_SYSTEMMODAL, "提示信息") <> IDYES Then Exit Sub
    If Not mclsStocking.DeleteStockTaking(lngActivityID, True) Then Exit Sub
    mfrmStocking.ToolRefresh
    Exit Sub
TheErr:
    'cMsgBox "操作失败!"
End Sub

Private Sub mfrmStocking_ListInActive(blnLevel As Boolean, blnSuceess As Boolean)
    Dim lngActivityID As Long
    
On Error GoTo TheErr
    blnLevel = False
    blnSuceess = False
    lngActivityID = mfrmStocking.ListID
    If lngActivityID = 0 Then Exit Sub
    If mfrmStocking.IsInActive Then Exit Sub
    If Not GetItemStatus(lngActivityID) Then Exit Sub
    If Not blnChange Then
        cMsgBox "不能作废由他人制作的单据!"
        Exit Sub
    End If
    If ShowMsg(mfrmStocking.hWnd, "本张商品盘点单作废后将不能取消作废,您确实要作废吗?", MB_YESNO + MB_ICONQUESTION + MB_DEFBUTTON2 + MB_SYSTEMMODAL, "提示信息") <> IDYES Then Exit Sub
    If Not mclsStocking.DeleteStockTaking(lngActivityID, True) Then Exit Sub
    'mfrmStocking.ToolRefresh
    blnSuceess = True
    Exit Sub
TheErr:
    'cMsgBox "操作失败!"
End Sub

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

Private Sub mfrmStocking_ListPrintReceipt()
    frmPrintReceipt.ShowfrmPrintReceipt 33
End Sub

Private Sub mfrmStocking_ListShowAll()
    With mfrmStocking
        If .chkShowall = 0 Then
            .ShowAll(0) = "StockTaking.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 StockTaking.lngOperatorID, StockTaking.blnIsVoid From StockTaking WHERE (((StockTaking.lngStockTakingID)=" & lngActivityID & "))"
    Set recTemp = gclsBase.BaseDB.OpenResultset(strSql, rdOpenForwardOnly)
    If recTemp.BOF And recTemp.EOF Then
        cMsgBox "列表的数据已被修改,请重新刷新后再进行操作!"
        Exit Function
    End If
    
    If gclsBase.OperatorID = recTemp(0) Then
        blnChange = True
    Else
        blnChange = False
    End If
    blnIsVoid = IIf(recTemp(1) = 1, True, False)
    
    Set recTemp = Nothing
    GetItemStatus = True
    
    Set recTemp = Nothing
   
    '判断采购订单是否已执行
    GetItemStatus = True
End Function

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





⌨️ 快捷键说明

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