?? clslistinvoce.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 = "clsListRePa"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Private intFormType As Integer
Private WithEvents mfrmRePa As frmAListTemplate '模版窗體
Attribute mfrmRePa.VB_VarHelpID = -1
Private mclsListMethod As clsListMethod '接口類
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)
mfrmRePa.strListType = strList
clsListType = strList
End Function
Private Sub cMsgBox(strMsg As String, Optional strTitle As String)
If Trim(strTitle) = "" Then
strTitle = "提示信息"
End If
ShowMsg mfrmRePa.hWnd, strMsg, MB_OK + MB_ICONEXCLAMATION + MB_SYSTEMMODAL, strTitle
End Sub
Private Sub Class_Initialize()
Set mfrmRePa = New frmAListTemplate
mfrmRePa.blnReceptionList = True
intFormType = GetListType
mfrmRePa.Tabs = 1
Select Case intFormType
Case 1
mfrmRePa.mTitle = "應收單列表"
mfrmRePa.mHelpID = 60001
mfrmRePa.SpViewID(0) = 20
mfrmRePa.blnEditByRight(0) = IsCanDo(frmRightsID.frmInvoiceListID, gclsBase.OperatorID)
If IsCanDo(250, gclsBase.OperatorID) Then
mfrmRePa.SpWhere(0) = " Activity.lngActivityTypeID In (36,37,38) AND ActivityDetail.blnIsReceipt=1"
Else
mfrmRePa.SpWhere(0) = " Activity.lngActivityTypeID In (36,37,38) AND ActivityDetail.blnIsReceipt=1" & " And Activity.lngOperatorID=" & gclsBase.OperatorID
End If
mfrmRePa.SpPrintID(0) = 46
mfrmRePa.SpPrintTitle(0) = "應收單列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
mfrmRePa.blnIsHavingReport = True
mfrmRePa.ReportCount = 2
mfrmRePa.ReportName(0) = "應收余額表(&Y)"
mfrmRePa.ReportName(1) = "應收明細表(&B)"
Case 2
mfrmRePa.mTitle = "應付單列表"
mfrmRePa.mHelpID = 60003
mfrmRePa.SpViewID(0) = 21
mfrmRePa.blnEditByRight(0) = IsCanDo(frmRightsID.frmPayableListID, gclsBase.OperatorID)
If IsCanDo(251, gclsBase.OperatorID) Then
mfrmRePa.SpWhere(0) = " Activity.lngActivityTypeID In (34,35) AND ActivityDetail.blnIsReceipt=1"
Else
mfrmRePa.SpWhere(0) = " Activity.lngActivityTypeID In (34,35) AND ActivityDetail.blnIsReceipt=1" & " And Activity.lngOperatorID=" & gclsBase.OperatorID
End If
mfrmRePa.SpPrintID(0) = 47
mfrmRePa.SpPrintTitle(0) = "應付單列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
mfrmRePa.blnIsHavingReport = True
mfrmRePa.ReportCount = 2
mfrmRePa.ReportName(0) = "應付余額表(&Y)"
mfrmRePa.ReportName(1) = "應付明細表(&B)"
Case 3
mfrmRePa.mTitle = "收款單列表"
mfrmRePa.mHelpID = 60006
mfrmRePa.SpViewID(0) = 22
mfrmRePa.blnEditByRight(0) = IsCanDo(frmRightsID.frmReceiveListID, gclsBase.OperatorID)
If IsCanDo(252, gclsBase.OperatorID) Then
mfrmRePa.SpWhere(0) = "Activity.lngActivityTypeID =40 AND ActivityDetail.blnIsReceipt=1 And Activity.blnIsSpecial=0 "
Else
mfrmRePa.SpWhere(0) = "Activity.lngActivityTypeID =40 AND ActivityDetail.blnIsReceipt=1 And Activity.blnIsSpecial=0 " & " And Activity.lngOperatorID=" & gclsBase.OperatorID
End If
mfrmRePa.SpPrintID(0) = 48
mfrmRePa.SpPrintTitle(0) = "收款單列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
mfrmRePa.blnIsHavingReport = True
mfrmRePa.ReportCount = 2
mfrmRePa.ReportName(0) = "收款匯總表(&T)"
mfrmRePa.ReportName(1) = "收款明細表(&B)"
Case 4
mfrmRePa.mTitle = "付款單列表"
mfrmRePa.mHelpID = 60008
mfrmRePa.SpViewID(0) = 23
mfrmRePa.blnEditByRight(0) = IsCanDo(frmRightsID.frmPaymentListID, gclsBase.OperatorID)
If IsCanDo(253, gclsBase.OperatorID) Then
mfrmRePa.SpWhere(0) = " Activity.lngActivityTypeID =39 AND ActivityDetail.blnIsReceipt=1 And Activity.blnIsSpecial=0"
Else
mfrmRePa.SpWhere(0) = " Activity.lngActivityTypeID =39 AND ActivityDetail.blnIsReceipt=1 And Activity.blnIsSpecial=0 " & " And Activity.lngOperatorID=" & gclsBase.OperatorID
End If
mfrmRePa.SpPrintID(0) = 49
mfrmRePa.SpPrintTitle(0) = "付款單列表" & Chr(1) & gclsBase.BaseName & Chr(1) & gclsBase.OperatorName
mfrmRePa.blnIsHavingReport = True
mfrmRePa.ReportCount = 2
mfrmRePa.ReportName(0) = "付款匯總表(&T)"
mfrmRePa.ReportName(1) = "付款明細表(&B)"
End Select
mfrmRePa.SpSelect(0) = "Activity.lngActivityID As id,decode(Activity.blnIsVoid,1,'√',' ') As ""作廢"""
mfrmRePa.ShowAll(0) = " Activity.blnIsVoid=0"
mfrmRePa.blnIsReceptionWriteoff = True
mfrmRePa.MenuEnbaleOnPage(0) = 3
mfrmRePa.MenuEnbaleOnPage(1) = 3
mfrmRePa.MenuEnbaleOnPage(2) = 3
mfrmRePa.MenuEnbaleOnPage(3) = 3
mfrmRePa.MenuEnbaleOnPage(4) = 3
mfrmRePa.MenuEnbaleOnPage(5) = 3
mfrmRePa.MenuEnbaleOnPage(6) = 3
mfrmRePa.MenuEnbaleOnPage(7) = 3
End Sub
Public Function Showlist()
mfrmRePa.Show
mfrmRePa.ZOrder 0
Set mclsListMethod = New clsListMethod
mclsListMethod.SethWnd mfrmRePa.hWnd
Select Case intFormType
Case 1
mclsListMethod.theType = 3 '應收單
Set frmEdit = FrmInvoice
Case 2
mclsListMethod.theType = 4 '應付單
Set frmEdit = FrmPayable
Case 3
mclsListMethod.theType = 1 '收款單
Set frmEdit = FrmReceive
Case 4
mclsListMethod.theType = 2 '付款單
Set frmEdit = FrmPayment
End Select
End Function
Private Sub mfrmRePa_ListChildActive()
Dim vntMessage As Variant
For Each vntMessage In mfrmRePa.mclsMainControl.Messages
Select Case intFormType
Case 1
If vntMessage = Message.msgReceipt36 Or vntMessage = Message.msgReceipt37 Or vntMessage = Message.msgReceipt38 Then
mfrmRePa.ToolRefresh
mfrmRePa.mclsMainControl.Messages.Remove CStr(vntMessage) '清除消息
End If
Case 2
If vntMessage = Message.msgReceipt34 Or vntMessage = Message.msgReceipt35 Then
mfrmRePa.ToolRefresh
mfrmRePa.mclsMainControl.Messages.Remove CStr(vntMessage) '清除消息
End If
Case 3
If vntMessage = Message.msgReceipt40 Then
mfrmRePa.ToolRefresh
mfrmRePa.mclsMainControl.Messages.Remove CStr(vntMessage) '清除消息
End If
Case 4
If vntMessage = Message.msgReceipt39 Then
mfrmRePa.ToolRefresh
mfrmRePa.mclsMainControl.Messages.Remove CStr(vntMessage) '清除消息
End If
End Select
Next
mfrmRePa.mclsMainControl.Messages.Clear
End Sub
Private Sub mfrmRePa_ListDel()
Dim lngActivityID As Long
lngActivityID = mfrmRePa.ListID
If lngActivityID = 0 Then Exit Sub
If Not GetItemStatus(lngActivityID) 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 mclsListMethod.DeleteRow(lngActivityID) Then Exit Sub
mfrmRePa.ToolRefresh
End Sub
Private Sub mfrmRePa_ListEdite()
Dim lngActivityID As Long
lngActivityID = mfrmRePa.ListID
If lngActivityID = -1 Then Exit Sub
If mIsShowEdit Then
frmEdit.ShowAOldBill (lngActivityID) '調用接口
Else
mIsShowEdit = True
frmEdit.ShowAOldBill (lngActivityID) '調用接口
End If
End Sub
Private Sub mfrmRePa_oListInActive()
Dim lngActivityID As Long
lngActivityID = mfrmRePa.ListID
If lngActivityID = 0 Then Exit Sub
If mfrmRePa.IsInActive Then Exit Sub
If Not GetItemStatus(lngActivityID) Then Exit Sub
If Not blnChange Then
cMsgBox "不能作廢由他人制作的單據!"
Exit Sub
End If
If Not mclsListMethod.ChangeVoid(lngActivityID) Then Exit Sub
mfrmRePa.ToolRefresh
End Sub
Private Sub mfrmRePa_ListInActive(blnLevel As Boolean, blnSuceess As Boolean)
Dim lngActivityID As Long
blnLevel = False
blnSuceess = False
lngActivityID = mfrmRePa.ListID
If lngActivityID = 0 Then Exit Sub
If mfrmRePa.IsInActive Then Exit Sub
If Not GetItemStatus(lngActivityID) Then Exit Sub
If Not blnChange Then
cMsgBox "不能作廢由他人制作的單據!"
Exit Sub
End If
If Not mclsListMethod.ChangeVoid(lngActivityID) Then Exit Sub
'mfrmRePa.ToolRefresh
blnSuceess = True
End Sub
Private Sub mfrmRePa_ListNew()
If mIsShowEdit Then
frmEdit.ShowANewBill
Else
frmEdit.ShowANewBill
mIsShowEdit = True
End If
End Sub
Private Sub mfrmRePa_ListPrintReceipt()
frmPrintReceipt.ShowfrmPrintReceipt 24 + intFormType
End Sub
Private Sub mfrmRePa_ListReorpt(ByVal Index As Integer)
Select Case Index
Case 0
Select Case intFormType
Case 1
Report.ShowBalance 1420, 638 '1723, 638
Case 2
Report.ShowBalance 1421, 639
Case 3
If gclsBase.ControlAccount Then
Report.ShowSumReport 1306, 572
Else
Report.ShowSumReport 1702, 1017
End If
Case 4
If gclsBase.ControlAccount Then
Report.ShowSumReport 1307, 1149
Else
Report.ShowSumReport 1704, 1019
End If
End Select
Case 1
Select Case intFormType
Case 1
If gclsBase.ControlAccount Then
Report.ShowStandardReport 254, 212
Else
Report.ShowStandardReport 1694, 1008
End If
Case 2
If gclsBase.ControlAccount Then
Report.ShowStandardReport 256, 214
Else
Report.ShowStandardReport 1699, 1012
End If
Case 3
If gclsBase.ControlAccount Then
Report.ShowStandardReport 1412, 634
Else
Report.ShowStandardReport 1701, 1015
End If
Case 4
If gclsBase.ControlAccount Then
Report.ShowStandardReport 1411, 635
Else
Report.ShowStandardReport 1703, 1018
End If
End Select
End Select
End Sub
Private Sub mfrmRePa_ListShowAll()
With mfrmRePa
If .chkShowall = 0 Then
.ShowAll(0) = " Activity.blnIsVoid=0"
Else
.ShowAll(0) = ""
End If
.ToolRefresh
End With
End Sub
Private Sub mfrmRePa_ListUserMenu(ByVal Index As Integer)
If mfrmRePa.blnIsReceptionWriteoff Then
If Index = 4 Then
Dim lngTypeID As Long
lngTypeID = frmWriteOffBill.WriteOffBill(Choose(intFormType, 36, 34, 40, 39), mfrmRePa.ListID, mfrmRePa.hWnd)
If lngTypeID > 0 Then ShowBill1 Choose(intFormType, 36, 34, 40, 39), lngTypeID, True
End If
End If
End Sub
Private Function GetItemStatus(lngActivityID As Long) As Boolean
Dim recTemp As rdoResultset
Dim strSql As String
strSql = "SELECT Activity.lngVoucherID, Activity.lngOperatorID From Activity" _
& " WHERE (Activity.lngActivityID)=" & lngActivityID
Set recTemp = gclsBase.BaseDB.OpenResultset(strSql, rdOpenForwardOnly)
If recTemp.BOF And recTemp.EOF Then Exit Function
If gclsBase.OperatorID = recTemp(1) Then
blnChange = True
Else
blnChange = False
End If
GetItemStatus = True
End Function
'告訴列表:編輯窗口已關閉
Public Sub IAmCLosed()
mIsShowEdit = False
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -