📄 clsliststocking.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 + -