📄 clslistpurchase.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 = "clsListPurchase"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Private intFormType As Integer
Private WithEvents mfrmPurchase As frmAListTemplate '模版窗体
Attribute mfrmPurchase.VB_VarHelpID = -1
Private mclsPurchase As clsPurchase '接口类
Private frmEdit As FrmStockBill '接口窗体
Private blnIsVoid As Boolean '是否已作废
Private blnIsInvoice As Boolean '开票标志
'Private blnIsVouchered As Boolean '是否已生成凭证
'Private blnEdit As Boolean '编辑权限
Private blnChange As Boolean '只能编辑和删除自己制作的单据
Private mblnFinish As Boolean
Private clsListType As String
Public Function SetListType(ByVal strList As String)
mfrmPurchase.strListType = strList
clsListType = strList
End Function
Private Sub cMsgBox(strMsg As String, Optional strTitle As String)
If Trim(strTitle) = "" Then
strTitle = "提示信息"
End If
ShowMsg mfrmPurchase.hwnd, strMsg, MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, strTitle
End Sub
Private Sub Class_Initialize()
Dim mblnCheckOther As Boolean
Set mfrmPurchase = New frmAListTemplate
mfrmPurchase.blnReceptionList = True
intFormType = GetListType
mfrmPurchase.Tabs = 1
Select Case intFormType
Case 1
#If Conversion = 16 Then
mfrmPurchase.mTitle = "采购发票列表"
mfrmPurchase.mHelpID = 40027
#Else
mfrmPurchase.mTitle = "商品采购列表"
mfrmPurchase.mHelpID = 40005
#End If
mfrmPurchase.SpViewID(0) = 75
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_1, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(257, gclsBase.OperatorID)
mfrmPurchase.blnIsHavingReport = True
mfrmPurchase.ReportCount = 2
mfrmPurchase.ReportName(0) = "采购汇总表"
mfrmPurchase.ReportName(1) = "采购明细表"
mfrmPurchase.SpPrintTitle(0) = "商品采购列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 2
mfrmPurchase.mTitle = "直运采购单列表"
mfrmPurchase.mHelpID = 40009
mfrmPurchase.SpViewID(0) = 334
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_2, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(258, gclsBase.OperatorID)
mfrmPurchase.blnIsHavingReport = True
mfrmPurchase.ReportCount = 2
mfrmPurchase.ReportName(0) = "直运采购汇总表"
mfrmPurchase.ReportName(1) = "直运采购明细表"
mfrmPurchase.SpPrintTitle(0) = "直运采购单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 3
mfrmPurchase.mTitle = "受托入库单列表"
mfrmPurchase.mHelpID = 40013
mfrmPurchase.SpViewID(0) = 335
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_3, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(259, gclsBase.OperatorID)
mfrmPurchase.blnIsHavingReport = True
mfrmPurchase.ReportCount = 2
mfrmPurchase.ReportName(0) = "受托入库汇总表"
mfrmPurchase.ReportName(1) = "受托入库明细表"
mfrmPurchase.SpPrintTitle(0) = "受托入库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 4
mfrmPurchase.mTitle = "受托结算单列表"
mfrmPurchase.mHelpID = 40015
mfrmPurchase.SpViewID(0) = 336
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_4, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(260, gclsBase.OperatorID)
mfrmPurchase.blnIsHavingReport = True
mfrmPurchase.ReportCount = 2
mfrmPurchase.ReportName(0) = "受托结算汇总表"
mfrmPurchase.ReportName(1) = "受托结算明细表"
mfrmPurchase.SpPrintTitle(0) = "受托结算单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 5
mfrmPurchase.mTitle = "加工入库单列表"
mfrmPurchase.mHelpID = 10246
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_5, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(284, gclsBase.OperatorID)
mfrmPurchase.SpViewID(0) = 337
mfrmPurchase.blnIsHavingReport = True
mfrmPurchase.ReportCount = 2
mfrmPurchase.ReportName(0) = "委托加工入库商品汇总表"
mfrmPurchase.ReportName(1) = "委托加工入库商品明细表"
mfrmPurchase.SpPrintTitle(0) = "加工入库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 6
mfrmPurchase.mTitle = "加工费用单列表"
mfrmPurchase.mHelpID = 10528
mfrmPurchase.SpViewID(0) = 338
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_6, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(285, gclsBase.OperatorID)
mfrmPurchase.blnIsHavingReport = True
mfrmPurchase.ReportCount = 2
mfrmPurchase.ReportName(0) = "委托加工费用汇总表"
mfrmPurchase.ReportName(1) = "委托加工费用明细表"
mfrmPurchase.SpPrintTitle(0) = "加工费用单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 7
mfrmPurchase.mTitle = "采购发票列表"
mfrmPurchase.mHelpID = 40027
mfrmPurchase.SpViewID(0) = 339
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_7, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(261, gclsBase.OperatorID)
mfrmPurchase.blnIsHavingReport = True
mfrmPurchase.ReportCount = 3
mfrmPurchase.ReportName(0) = "采购发票一览表"
mfrmPurchase.ReportName(1) = "采购发票汇总表"
mfrmPurchase.ReportName(2) = "采购发票明细表"
mfrmPurchase.SpPrintTitle(0) = "采购发票列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 8
mfrmPurchase.mTitle = "自制入库单列表"
mfrmPurchase.mHelpID = 50001
mfrmPurchase.SpViewID(0) = 340
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_8, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(275, gclsBase.OperatorID)
mfrmPurchase.blnIsHavingReport = True
mfrmPurchase.ReportCount = 2
mfrmPurchase.ReportName(0) = "自制入库商品汇总表"
mfrmPurchase.ReportName(1) = "自制入库商品明细表"
mfrmPurchase.SpPrintTitle(0) = "自制入库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 9
mfrmPurchase.mTitle = "盘盈入库单列表"
mfrmPurchase.mHelpID = 50011
mfrmPurchase.SpViewID(0) = 341
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_9, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(281, gclsBase.OperatorID)
mfrmPurchase.SpPrintTitle(0) = "盘盈入库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 10
mfrmPurchase.mTitle = "其它入库单列表"
mfrmPurchase.mHelpID = 50005
mfrmPurchase.SpViewID(0) = 342
mfrmPurchase.blnEditByRight(0) = IsCanDo(frmRightsID.frmListPurchaseID_10, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(276, gclsBase.OperatorID)
mfrmPurchase.SpPrintTitle(0) = "其它入库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
End Select
mfrmPurchase.SpSelect(0) = "ItemActivity.lngActivityID, min(decode(ItemActivity.blnIsVoid,1,'√',' ')) AS ""作废"""
mfrmPurchase.ShowAll(0) = " ItemActivity.blnIsVoid=0"
If intFormType = 7 Then
If mblnCheckOther Then
mfrmPurchase.SpWhere(0) = "((ItemActivity.lngReceiptTypeID<12 and ItemActivity.blnIsInvoice=1) OR ItemActivity.lngActivityTypeID = " & intFormType & ")"
Else
mfrmPurchase.SpWhere(0) = "((ItemActivity.lngReceiptTypeID<12 and ItemActivity.blnIsInvoice=1) OR ItemActivity.lngActivityTypeID = " & intFormType & ")" & " And ItemActivity.lngOperatorID=" & gclsBase.OperatorID
End If
Else
If mblnCheckOther Then
mfrmPurchase.SpWhere(0) = "ItemActivity.lngActivityTypeID = " & intFormType
Else
mfrmPurchase.SpWhere(0) = "ItemActivity.lngActivityTypeID = " & intFormType & " And ItemActivity.lngOperatorID=" & gclsBase.OperatorID
End If
End If
mfrmPurchase.SpGoupBy(0) = "ItemActivity.lngActivityID"
mfrmPurchase.SpHaving(0) = " min(ItemActivity.lngActivityTypeID)<11"
mfrmPurchase.SpPrintID(0) = 36
If intFormType = 9 Then
mfrmPurchase.blnIsReceptionWriteoff = False
Else
mfrmPurchase.blnIsReceptionWriteoff = True
End If
mfrmPurchase.MenuEnbaleOnPage(0) = 3
mfrmPurchase.MenuEnbaleOnPage(1) = 3
mfrmPurchase.MenuEnbaleOnPage(2) = 3
mfrmPurchase.MenuEnbaleOnPage(3) = 3
mfrmPurchase.MenuEnbaleOnPage(4) = 3
mfrmPurchase.MenuEnbaleOnPage(5) = 3
mfrmPurchase.MenuEnbaleOnPage(6) = 3
mfrmPurchase.MenuEnbaleOnPage(7) = 3
End Sub
Public Function Showlist()
mfrmPurchase.Show
mfrmPurchase.ZOrder 0
Set mclsPurchase = New clsPurchase
mclsPurchase.SethWnd mfrmPurchase.hwnd
If intFormType <> 7 Then
If frmStockSales(intFormType + 1) Is Nothing Then
Set frmEdit = New FrmStockBill
Else
Set frmEdit = frmStockSales(intFormType + 1)
End If
End If
End Function
Private Sub mfrmPurchase_ListChildActive()
Dim vntMessage As Variant
For Each vntMessage In mfrmPurchase.mclsMainControl.Messages
If vntMessage = 31 + intFormType Then
mfrmPurchase.ToolRefresh
mfrmPurchase.mclsMainControl.Messages.Remove CStr(vntMessage) '清除消息
End If
Next
mfrmPurchase.mclsMainControl.Messages.Clear
End Sub
Private Sub mfrmPurchase_ListDel()
Dim lngActivityID As Long
Dim lngActivityTypeID As Long
Dim blnPushOut As Boolean
lngActivityID = mfrmPurchase.ListID
If lngActivityID = 0 Then Exit Sub
lngActivityTypeID = GetlngActivityTypeID(lngActivityID)
If Not GetItemStatus(lngActivityID) Then Exit Sub
If intFormType = 7 Then
Set frmEdit = Nothing
If frmStockSales(lngActivityTypeID + 1) Is Nothing Then
Set frmEdit = New FrmStockBill
Else
Set frmEdit = frmStockSales(lngActivityTypeID + 1)
End If
End If
If lngFormHwnd(intFormType + 1) > 0 Then
If lngActivityID = frmEdit.getID Then
cMsgBox "不能删除当前编辑的单据!"
Exit Sub
End If
End If
If Not blnChange Then
cMsgBox "不能删除由他人制作的单据!"
Exit Sub
End If
If Not mclsPurchase.DeletePurchase(lngActivityID, , , blnPushOut) Then Exit Sub
If blnIsInvoice Then
If intFormType = 7 And lngActivityTypeID <> 7 Then '在采购发票列表中
gclsSys.SendMessage CStr(mfrmPurchase.hwnd), 31 + lngActivityTypeID
ElseIf intFormType = 1 Or intFormType = 2 Or intFormType = 4 _
Or intFormType = 7 Then '在其他单据中并且也是一张发票
gclsSys.SendMessage CStr(mfrmPurchase.hwnd), 38
End If
End If
If blnPushOut Then
mfrmPurchase.ToolRefresh
Exit Sub
End If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -