📄 bos_edition.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 = "BOS_Edition"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Attribute VB_Description = "This is BillEvent Interface Class, made by K3BOSPLUGINSWIZAED"
'''''''''''''''''''''''''''''''''''''''''''''''
''结算标准
''建立日期:2005-08-15
''建立人:倪树祥
'''''''''''''''''''''''''''''''''''''''''''''''''
'定义 BillEvent 接口. 必须具有的声明, 以此来获得事件
Private WithEvents m_BillInterface As BillEvent
Attribute m_BillInterface.VB_VarHelpID = -1
'定义 ListEvents 接口. 必须具有的声明, 以此来获得事件
Private WithEvents m_ListInterface As ListEvents
Attribute m_ListInterface.VB_VarHelpID = -1
Public Sub Show(ByVal oBosInterface As Object)
'BillEvent 接口实现
'注意: 此方法必须存在, 请勿修改
'BillEvent 接口实现
'注意: 此方法必须存在, 请勿修改
Select Case VBA.TypeName(oBosInterface)
Case "BillEvent"
Set m_BillInterface = oBosInterface
Case "ListEvents"
Set m_ListInterface = oBosInterface
End Select
End Sub
Private Sub Class_Terminate()
'释放接口对象
'注意: 此方法必须存在, 请勿修改
Set m_BillInterface = Nothing
Set m_ListInterface = Nothing
End Sub
Private Sub m_BillInterface_beforesave(bCancel As Boolean)
'如果输入了关联结算版本,判断是否存在以及是否已经作废
Dim sFInvVolume As String
Dim rsRec As New Recordset
sFInvVolume = Trim(m_BillInterface.GetFieldValue("FInvVolume"))
If sFInvVolume = "" Then
bCancel = False
Exit Sub
End If
Set rsRec = m_BillInterface.K3Lib.GetData(" select 1 from t_EP_PB_Edition where FVolume = '" & sFInvVolume & "' and FIsDisused = 0 ")
If rsRec.EOF Then
MsgBox "输入的关联结算版本不存在或者已经作废!", vbOKOnly + vbCritical, "金蝶提示"
bCancel = True
Exit Sub
End If
End Sub
Private Sub m_BillInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)
Select Case BOSTool.ToolName
Case "mnuZF"
'此处添加处理 mnuZF 菜单对象的 Click 事件
'这里首先判断单据是否已经作废
'MsgBox m_BillInterface.GetFieldValue("FInteger", , 1)
If m_BillInterface.GetFieldValue("FIsDisused", , 1) = 1 Then
MsgBox "当前单据已经作废,不需再执行此操作!", vbOKOnly + vbInformation, "金蝶提示"
Exit Sub
Else
UserID = IIf(m_BillInterface.GetFieldValue("FUser", , 1) = "", 0, m_BillInterface.GetFieldValue("FUser", , 1))
If UserID > 0 Then
m_BillInterface.SetFieldValue "FIsDisused", 1
m_BillInterface.K3Lib.UpdateData "update t_EP_PB_Edition set FIsDisused = 1 where FID=" & m_BillInterface.CurBillID
MsgBox "当前单据已成功作废!", vbInformation + vbOKOnly, "金蝶提示"
Exit Sub
Else
m_BillInterface.SetFieldValue "FIsDisused", 0
MsgBox "当前单据没有审核或已经作废,不能进行作废操作!", vbOKOnly + vbInformation, "金蝶提示"
Exit Sub
End If
End If
Case "mnuFZF"
If m_BillInterface.GetFieldValue("FIsDisused") <> 1 Then
MsgBox "当前单据没有作废,不能进行反作废操作!", vbOKOnly + vbInformation, "金蝶提示"
Exit Sub
Else
m_BillInterface.SetFieldValue "FIsDisused", 0
m_BillInterface.K3Lib.UpdateData "update t_EP_PB_Edition set FIsDisused = 0 where FID=" & m_BillInterface.CurBillID
MsgBox "当前单据已成功进行了反作废操作!", vbOKOnly + vbInformation, "金蝶提示"
End If
Case Else
End Select
End Sub
Private Sub m_BillInterface_MenuBarInitialize(ByVal oMenuBar As K3ClassEvents.MenuBar)
Dim oTool As K3ClassEvents.BOSTool
Dim oBand As K3ClassEvents.BOSBand
Dim oband1, oband2 As K3ClassEvents.BOSBand
'*************** 开始新增 BOS 菜单 ***************
'新增 mnuZF 菜单对象,并设置属性
Set oTool = oMenuBar.BOSTools.Add("mnuZF")
With oTool
.Caption = "作废"
.ToolTipText = "作废"
.Description = "作废"
.ShortcutKey = 3
.Visible = True
.Enabled = True
.BeginGroup = False
.ToolPicture = App.Path & "\未命名.bmp"
.SetPicture 0, vbButtonFace
.Alignment = Enu_TACenterBottom
.CaptionPosition = Enu_TCPStandard
End With
Set oBand = oMenuBar.BOSBands("BandToolBar")
oBand.BOSTools.InsertAfter "mnuCaculate", oTool '将菜单对象插入指定工具栏
Set oband1 = oMenuBar.BOSBands("mnuEdit")
oband1.BOSTools.InsertAfter "mnubatchfillfield", oTool '将菜单对象插入指定下一级菜单
'新增 mnuFZF 菜单对象,并设置属性
Set oTool = oMenuBar.BOSTools.Add("mnuFZF")
With oTool
.Caption = "恢复"
.ToolTipText = "恢复"
.Description = "恢复"
.ShortcutKey = 2
.Visible = True
.Enabled = True
.BeginGroup = False
.ToolPicture = App.Path & "\未命名.bmp"
.SetPicture 0, vbButtonFace
End With
Set oBand = oMenuBar.BOSBands("BandToolBar")
oBand.BOSTools.InsertAfter "mnuCaculate", oTool '将菜单对象插入指定工具栏
Set oband2 = oMenuBar.BOSBands("mnuEdit")
oband2.BOSTools.InsertAfter "mnuZF", oTool
'
'*************** 结束新增 BOS 菜单 ***************
End Sub
Private Sub m_ListInterface_AfterSelList(ByVal RsId As ADODB.Recordset, VectList As KFO.IVector)
'得到当前行的内码和分录内码,在下游单据中使用
lngFID = m_ListInterface.GetCurrentSelRowInfo().GetValue("FID")
lngFEntryID = m_ListInterface.GetCurrentSelRowInfo().GetValue("FEntryID")
End Sub
Private Sub m_ListInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)
Select Case BOSTool.ToolName
Case "mnuZF"
If m_ListInterface.GetCurrentSelRowInfo("FIsDisused") = 1 Then
MsgBox "这张单据已经作废,不需再执行此操作!", vbOKOnly + vbInformation, "金蝶提示"
Exit Sub
Else
UserID = IIf(m_ListInterface.GetCurrentSelRowInfo("FUser") = "", 0, m_ListInterface.GetCurrentSelRowInfo("FUser"))
If UserID > 0 And m_ListInterface.GetCurrentSelRowInfo("FIsDisused") <> 1 Then
m_ListInterface.K3Lib.UpdateData "update t_EP_PB_Edition set FIsDisused = 1 where FID=" & m_ListInterface.GetCurrentSelRowInfo("FID")
MsgBox "当前单据已成功作废!", vbInformation + vbOKOnly, "金蝶提示"
Exit Sub
Else
MsgBox "当前单据还没有审核或已经作废,不能进行作废操作!", vbOKOnly + vbInformation, "金蝶提示"
Exit Sub
End If
End If
Case "mnuFZF"
If m_ListInterface.GetCurrentSelRowInfo("FIsDisused") <> 1 Then
MsgBox "当前单据没有作废,不能执行反作废操作!", vbOKOnly + vbInformation, "金蝶提示"
Exit Sub
Else
m_ListInterface.K3Lib.UpdateData "update t_EP_PB_Edition set FIsDisused = 0 where FID=" & m_BillInterface.CurBillID
MsgBox "当前单据已成功进行了反作废操作!", vbOKOnly + vbInformation, "金蝶提示"
End If
Case Else
End Select
End Sub
Private Sub m_ListInterface_MenuBarInitialize(ByVal oMenuBar As K3ClassEvents.MenuBar)
If m_ListInterface.List.ShowMode = 2 Then Exit Sub '如果是选单,则不创建新的菜单对象
Dim oTool As K3ClassEvents.BOSTool
Dim oBand As K3ClassEvents.BOSBand
'*************** 开始新增 BOS 菜单 ***************
'新增 mnuZF 菜单对象,并设置属性
Set oTool = oMenuBar.BOSTools.Add("mnuZF")
With oTool
.Caption = "作废"
.ToolTipText = "作废"
.Description = "作废"
.ShortcutKey = 0
.Visible = True
.Enabled = True
.BeginGroup = False
.ToolPicture = App.Path & "\未命名.bmp"
.SetPicture 0, vbButtonFace
End With
Set oBand = oMenuBar.BOSBands("BandToolBar")
oBand.BOSTools.InsertBefore "mnuCaculate", oTool '将菜单对象插入指定工具栏
'新增 mnuFZF 菜单对象,并设置属性
Set oTool = oMenuBar.BOSTools.Add("mnuFZF")
With oTool
.Caption = "恢复"
.ToolTipText = "恢复"
.Description = "恢复"
.ShortcutKey = 0
.Visible = True
.Enabled = True
.BeginGroup = False
.ToolPicture = App.Path & "\未命名.bmp"
.SetPicture 0, vbButtonFace
End With
Set oBand = oMenuBar.BOSBands("BandToolBar")
oBand.BOSTools.InsertAfter "mnuCaculate", oTool '将菜单对象插入指定工具栏
'*************** 结束新增 BOS 菜单 ***************
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -