📄 clslistsale.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 = "clsListSale"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Private intFormType As Integer
Private WithEvents mfrmSale As frmAListTemplate '模版窗体
Attribute mfrmSale.VB_VarHelpID = -1
Private mclsSales As clsSales '接口类
Private frmEdit As FrmSalesBill '接口窗体
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)
mfrmSale.strListType = strList
clsListType = strList
End Function
Private Sub cMsgBox(strMsg As String, Optional strTitle As String)
If Trim(strTitle) = "" Then
strTitle = "提示信息"
End If
ShowMsg mfrmSale.hWnd, strMsg, MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, strTitle
End Sub
Private Sub Class_Initialize()
Dim mblnCheckOther As Boolean
Set mfrmSale = New frmAListTemplate
mfrmSale.blnReceptionList = True
intFormType = GetListType
mfrmSale.Tabs = 1
Select Case intFormType
Case 11
#If Conversion = 16 Then
mfrmSale.mTitle = "销售发票列表"
mfrmSale.mHelpID = 40029
#Else
mfrmSale.mTitle = "销售单列表"
mfrmSale.mHelpID = 40007
#End If
mfrmSale.SpViewID(0) = 78
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_11, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(263, gclsBase.OperatorID)
mfrmSale.blnIsHavingReport = True
mfrmSale.ReportCount = 2
mfrmSale.ReportName(0) = "销售汇总表"
mfrmSale.ReportName(1) = "销售明细表"
mfrmSale.SpPrintTitle(0) = "销售单列列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 12
mfrmSale.mTitle = "直运销售单列表"
mfrmSale.mHelpID = 40011
mfrmSale.SpViewID(0) = 343
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_12, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(264, gclsBase.OperatorID)
mfrmSale.blnIsHavingReport = True
mfrmSale.ReportCount = 2
mfrmSale.ReportName(0) = "直运销售汇总表"
mfrmSale.ReportName(1) = "直运销售明细表"
mfrmSale.SpPrintTitle(0) = "直运销售单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 13
mfrmSale.mTitle = "委托代销出库单列表"
mfrmSale.mHelpID = 40021
mfrmSale.SpViewID(0) = 344
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_13, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(265, gclsBase.OperatorID)
mfrmSale.blnIsHavingReport = True
mfrmSale.ReportCount = 2
mfrmSale.ReportName(0) = "委托出库汇总表"
mfrmSale.ReportName(1) = "委托出库明细表"
mfrmSale.SpPrintTitle(0) = "委托代销出库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 14
mfrmSale.mTitle = "委托代销结算单表"
mfrmSale.mHelpID = 40023
mfrmSale.SpViewID(0) = 345
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_14, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(266, gclsBase.OperatorID)
mfrmSale.blnIsHavingReport = True
mfrmSale.ReportCount = 2
mfrmSale.ReportName(0) = "代销结算汇总表"
mfrmSale.ReportName(1) = "代销结算明细表"
mfrmSale.SpPrintTitle(0) = "委托代销结算单表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 15
mfrmSale.mTitle = "加工出库单列表"
mfrmSale.mHelpID = 10245
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_15, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(283, gclsBase.OperatorID)
mfrmSale.SpViewID(0) = 346
mfrmSale.blnIsHavingReport = True
mfrmSale.ReportCount = 2
mfrmSale.ReportName(0) = "委托加工出库商品汇总表"
mfrmSale.ReportName(1) = "委托加工出库商品明细表"
mfrmSale.SpPrintTitle(0) = "加工出库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 16
mfrmSale.mTitle = "分期出库单列表"
mfrmSale.mHelpID = 40017
mfrmSale.SpViewID(0) = 347
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_16, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(269, gclsBase.OperatorID)
mfrmSale.blnIsHavingReport = True
mfrmSale.ReportCount = 2
mfrmSale.ReportName(0) = "分期发出商品汇总表"
mfrmSale.ReportName(1) = "分期发出商品明细表"
mfrmSale.SpPrintTitle(0) = "分期出库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 17
mfrmSale.mTitle = "分期结算单列表"
mfrmSale.mHelpID = 40019
mfrmSale.SpViewID(0) = 348
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_17, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(270, gclsBase.OperatorID)
mfrmSale.blnIsHavingReport = True
mfrmSale.ReportCount = 2
mfrmSale.ReportName(0) = "分期结算商品汇总表"
mfrmSale.ReportName(1) = "分期结算商品明细表"
mfrmSale.SpPrintTitle(0) = "分期结算单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 18
mfrmSale.mTitle = "销售发票列表"
mfrmSale.mHelpID = 40029
mfrmSale.SpViewID(0) = 349
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_18, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(268, gclsBase.OperatorID)
If gclsBase.ControlAccount And gVersionType = vtAccount Then
mfrmSale.blnIsHavingReport = False
Else
mfrmSale.blnIsHavingReport = True
mfrmSale.ReportCount = 3
mfrmSale.ReportName(0) = "销售发票一览表"
mfrmSale.ReportName(1) = "销售发票汇总表"
mfrmSale.ReportName(2) = "销售发票明细表"
End If
mfrmSale.SpPrintTitle(0) = "销售发票列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
mfrmSale.SpMenuCount = 1
mfrmSale.SpPosition = 9
mfrmSale.SpMenuName(0) = "打印销货清单(&X)..."
mfrmSale.SpEnableOnPageNo(0) = 1
mfrmSale.blnConstant(0) = False
Case 19
mfrmSale.mTitle = "领用出库单列表"
mfrmSale.mHelpID = 50003
mfrmSale.SpViewID(0) = 350
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_19, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(277, gclsBase.OperatorID)
mfrmSale.blnIsHavingReport = True
mfrmSale.ReportCount = 2
mfrmSale.ReportName(0) = "领用出库商品汇总表"
mfrmSale.ReportName(1) = "领用出库商品明细表"
mfrmSale.SpPrintTitle(0) = "领用出库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 20
mfrmSale.mTitle = "成本调整单列表"
mfrmSale.mHelpID = 50019
mfrmSale.SpViewID(0) = 351
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_20, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(280, gclsBase.OperatorID)
mfrmSale.SpPrintTitle(0) = "成本调整单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 21
mfrmSale.mTitle = "盘亏出库单列表"
mfrmSale.mHelpID = 50013
mfrmSale.SpViewID(0) = 352
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_21, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(282, gclsBase.OperatorID)
mfrmSale.SpPrintTitle(0) = "盘亏出库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
Case 22
mfrmSale.mTitle = "其它出库单列表"
mfrmSale.mHelpID = 50007
mfrmSale.SpViewID(0) = 353
mfrmSale.blnEditByRight(0) = IsCanDo(frmRightsID.frmListSalesID_22, gclsBase.OperatorID)
mblnCheckOther = IsCanDo(278, gclsBase.OperatorID)
mfrmSale.SpPrintTitle(0) = "其它出库单列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
End Select
mfrmSale.SpSelect(0) = " ItemActivity.lngActivityID, Min(decode(ItemActivity.blnIsVoid,1,'√',' ')) AS ""作废"""
mfrmSale.ShowAll(0) = "ItemActivity.blnIsVoid=0"
If intFormType = 18 Then
If mblnCheckOther Then
mfrmSale.SpWhere(0) = " ((ItemActivity.lngReceiptTypeID>11 and ItemActivity.blnIsInvoice=1) OR ItemActivity.lngActivityTypeID = " & intFormType & ")"
Else
mfrmSale.SpWhere(0) = " ((ItemActivity.lngReceiptTypeID>11 and ItemActivity.blnIsInvoice=1) OR ItemActivity.lngActivityTypeID = " & intFormType & ")" & " And ItemActivity.lngOperatorID=" & gclsBase.OperatorID
End If
Else
If mblnCheckOther Then
mfrmSale.SpWhere(0) = " ItemActivity.lngActivityTypeID = " & intFormType
Else
mfrmSale.SpWhere(0) = " ItemActivity.lngActivityTypeID = " & intFormType & " And ItemActivity.lngOperatorID=" & gclsBase.OperatorID
End If
End If
mfrmSale.SpGoupBy(0) = " ItemActivity.lngActivityID"
mfrmSale.SpHaving(0) = "Min(ItemActivity.lngActivityTypeID)>10 And Min(ItemActivity.lngActivityTypeID)<23"
mfrmSale.SpPrintID(0) = 39
If intFormType = 21 Then
mfrmSale.blnIsReceptionWriteoff = False
Else
mfrmSale.blnIsReceptionWriteoff = True
End If
mfrmSale.MenuEnbaleOnPage(0) = 3
mfrmSale.MenuEnbaleOnPage(1) = 3
mfrmSale.MenuEnbaleOnPage(2) = 3
mfrmSale.MenuEnbaleOnPage(3) = 3
mfrmSale.MenuEnbaleOnPage(4) = 3
mfrmSale.MenuEnbaleOnPage(5) = 3
mfrmSale.MenuEnbaleOnPage(6) = 3
mfrmSale.MenuEnbaleOnPage(7) = 3
End Sub
Public Function Showlist()
mfrmSale.Show
mfrmSale.ZOrder 0
Set mclsSales = New clsSales
mclsSales.SethWnd mfrmSale.hWnd
If frmStockSales(intFormType + 2) Is Nothing Then
Set frmEdit = New FrmSalesBill
Else
Set frmEdit = frmStockSales(intFormType + 2)
End If
End Function
Private Sub mfrmSale_ListChildActive()
Dim vntMessage As Variant
For Each vntMessage In mfrmSale.mclsMainControl.Messages
If vntMessage = 32 + intFormType Then
mfrmSale.ToolRefresh
mfrmSale.mclsMainControl.Messages.Remove CStr(vntMessage) '清除消息
End If
Next
mfrmSale.mclsMainControl.Messages.Clear
End Sub
Private Sub mfrmSale_ListDel()
Dim lngActivityID As Long
Dim lngActivityTypeID As Long
Dim blnPushOut As Boolean
lngActivityID = mfrmSale.ListID
If lngActivityID = 0 Then Exit Sub
lngActivityTypeID = GetlngActivityTypeID(lngActivityID)
If Not GetItemStatus(lngActivityID) Then Exit Sub
If lngFormHwnd(intFormType + 2) > 0 Then
If lngActivityID = frmEdit.getID Then
cMsgBox "不能删除当前编辑的单据!"
Exit Sub
End If
End If
If Not blnChange Then
cMsgBox "不能删除由他人制作的单据!"
Exit Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -