📄 bos_balancebill.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_BalanceBill"
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-11-04
'李伟
'检斤单据体插件
'*******************************************************************
Private WithEvents mscomm1 As MSComm 'comm 变量
Attribute mscomm1.VB_VarHelpID = -1
Dim flag As Boolean 'comm 传输变量
Dim SelBill_Flag As Boolean '选单标志,判断下游单据是那种类型因为不设置选单标志,在对面磅房选运输协议,
'调拨通知单的时候,会出问题,原因处在AFTERSAVE 的时候判断单据类型。如果是运输协议
Dim m_status As Boolean ' 光电状体 '将源单ID,写入数据库,回皮的时候不用选单,源单ID变量是O,就与上游单据失去关系。造成错误
'定义 BillEvent 接口. 必须具有的声明, 以此来获得事件
Private WithEvents m_BillInterface As BillEvent
Attribute m_BillInterface.VB_VarHelpID = -1
'######################1219zjmodify为了改时间戳的BUG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Dim flagg As Integer
'Dim carno As String 于1223注释掉
Dim billid As Double
Public rollid As String
'######################1219zjmodify为了改时间戳的BUG@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Public Sub Show(ByVal oBillInterface As Object)
'BillEvent 接口实现
'注意: 此方法必须存在, 请勿修改
Set m_BillInterface = oBillInterface
Balance_Select = True ''判断调拔通知选单标志
g_StrUserName = m_BillInterface.K3Lib.User.UserName
End Sub
Private Sub Class_Terminate()
'释放接口对象
'注意: 此方法必须存在, 请勿修改
Set m_BillInterface = Nothing
If mscomm1.PortOpen = True Then mscomm1.PortOpen = False '关闭COMM口
Set mscomm1 = Nothing
Balance_Select = False ''判断调拔通知单选单标志
End Sub
Private Sub m_BillInterface_Change(ByVal dct As KFO.IDictionary, ByVal dctFld As KFO.IDictionary, ByVal Col As Long, ByVal Row As Long, Cancel As Boolean)
On Error GoTo err
Select Case dctFld.GetValue("FDSP") '当检斤类型改变的时候,设置不同的字段可用,按钮可用。
Case "销售出库"
EableOrDisableField 1
EnableToolBarProcess 1
Case "外购入库"
EableOrDisableField 2
EnableToolBarProcess 2
Case "调拨检斤"
EableOrDisableField 3
EnableToolBarProcess 3
Case "委外检斤(入)"
EableOrDisableField 4
EnableToolBarProcess 4
Case "工艺检斤"
EableOrDisableField 5
EnableToolBarProcess 4
Case "成品入库"
EableOrDisableField 6
EnableToolBarProcess 4
Case "运输检斤"
EableOrDisableField 7
EnableToolBarProcess 4
Case "委外检斤(出)"
EableOrDisableField 8
EnableToolBarProcess 4
Case "其他检斤"
EableOrDisableField 9
EnableToolBarProcess 4
Case "销售退货"
EableOrDisableField -1
EnableToolBarProcess 4
End Select
Exit Sub
err:
MsgBox err.Description, vbCritical, "提示:"
End Sub
Private Sub m_BillInterface_MenuBarInitialize(ByVal oMenuBar As K3ClassEvents.MenuBar)
On Error GoTo err
'TODO: 请在此处添加代码响应事件 MenuBarInitialize
Dim oTool As K3ClassEvents.BOSTool
Dim oBand As K3ClassEvents.BOSBand
'*************** 开始新增 BOS 菜单 ***********************************************
'新增 取皮重 菜单对象,并设置属性
Set oTool = oMenuBar.BOSTools.Add("mnuGetTareWeight")
With oTool
.Caption = "皮重"
.ToolTipText = "皮重"
.Description = "皮重"
.ShortcutKey = 27
.Visible = True
.Enabled = True
.BeginGroup = False
.ToolPicture = App.Path & "\get.ico"
.SetPicture 0, vbButtonFace
End With
Set oBand = oMenuBar.BOSBands("mnuData")
oBand.BOSTools.InsertBefore "mnuCaculate", oTool '将菜单对象插入指定一级菜单
Set oBand = oMenuBar.BOSBands("BandToolBar")
oBand.BOSTools.InsertBefore "mnuDataRefesh", oTool '将菜单对象插入指定工具栏
'****************************************************************************
'新增 取毛重 菜单对象,并设置属性
Set oTool = oMenuBar.BOSTools.Add("mnuGetGrossWeight")
With oTool
.Caption = "毛重"
.ToolTipText = "毛重"
.Description = "毛重"
.ShortcutKey = 28
.Visible = True
.Enabled = True
.BeginGroup = False
.ToolPicture = App.Path & "\get.ico"
.SetPicture 0, vbButtonFace
End With
Set oBand = oMenuBar.BOSBands("mnuData")
oBand.BOSTools.InsertAfter "mnuCaculate", oTool '将菜单对象插入指定一级菜单
'
Set oBand = oMenuBar.BOSBands("BandToolBar")
oBand.BOSTools.InsertAfter "mnuDataRefesh", oTool '将菜单对象插入指定工具栏
' 新增 选择 菜单对象,并设置属性
Set oTool = oMenuBar.BOSTools.Add("mnuReSelect")
With oTool
.Caption = "复选"
.ToolTipText = "复选"
.Description = "复选"
.ShortcutKey = 29
.Visible = True
.Enabled = True
.BeginGroup = False
.ToolPicture = App.Path & "\white.ico"
.SetPicture 0, vbButtonFace
End With
Set oBand = oMenuBar.BOSBands("mnuData")
oBand.BOSTools.InsertAfter "mnuCaculate", oTool '将菜单对象插入指定一级菜单
'
Set oBand = oMenuBar.BOSBands("BandToolBar")
oBand.BOSTools.InsertAfter "mnuCaculate", oTool '将菜单对象插入指定工具栏
'****************************************************************************
'*************** 结束新增 BOS 菜单 ***************
' oBand.BOSTools.Remove "mnuoptionlinkbill"
Set oBand = oMenuBar.BOSBands("mnuOption")
Set oTool = oBand.BOSTools("mnuOptionAfterSaveNew")
With oTool
.Visible = False
.Enabled = False
End With
'获得 mnuOptionLinkBill 菜单对象,并设置属性
Set oBand = oMenuBar.BOSBands("mnuOption")
Set oTool = oBand.BOSTools("mnuOptionLinkBill")
With oTool
.Visible = False
.Enabled = False
End With
'获得 mnuOptionBatchFull 菜单对象,并设置属性
Set oBand = oMenuBar.BOSBands("mnuOption")
Set oTool = oBand.BOSTools("mnuOptionBatchFull")
With oTool
.Visible = False
.Enabled = False
End With
Set oBand = oMenuBar.BOSBands("mnuOption")
Set oTool = oBand.BOSTools("mnuOptionNoItemList")
With oTool
.Visible = False
.Enabled = False
End With
Set oTool = Nothing
Set oBand = Nothing
'*************** 定义mscomm1变量(com口) ***************
Set mscomm1 = New MSComm '这个时候定义,方便以后使用
Exit Sub
err:
MsgBox err.Description, vbCritical, "提示:"
End Sub
Private Sub m_BillInterface_AfterLoadBill()
'TODO: 请在此处添加代码响应事件 AfterLoadBil
Dim lngID As Long
Dim strSql As String
Dim rs As ADODB.Recordset
On Error GoTo err
'060321zjmodify让钢卷ID不可见 在afterloadbill,afterselbill,afternewbill中分别加入
m_BillInterface.BillHeads(1).BOSFields("fpihao").Visible = False
'060321zjmodify让钢卷ID不可见 在afterloadbill,afterselbill,afternewbill中分别加入
m_BillInterface.BillHeads(1).BOSFields("FCurrentNum").FieldLock = True
'0321李伟修改*********************
m_BillInterface.BillEntrys(1).BOSFields("Ftarebalancetime").FieldLock = True
m_BillInterface.BillEntrys(1).BOSFields("Fgrossbalancetime").FieldLock = True
'0321李伟修改*********************
lngID = CLng(m_BillInterface.CurBillID)
strSql = "Select t_ST_SC_BalanceBill.FBillStatus, t_ST_SC_BalanceBill.FStatus_WL,t_ST_SC_BalanceBillEntry.FDeductWeight from t_ST_SC_BalanceBill join t_ST_SC_BalanceBillEntry on " & vbCrLf & _
"t_ST_SC_BalanceBill.FID=t_ST_SC_BalanceBillEntry.FID " & _
"Where t_ST_SC_BalanceBill.FID = " & lngID
Set rs = m_BillInterface.K3Lib.GetData(strSql) '被引用的三个条件, 单据已经完成
'**********************************************
'**********************************************
'如果有源单ID,可以进行复选。
If m_BillInterface.GetFieldValue("FID_SRC") > 0 And m_BillInterface.GetFieldValue("FBillStatus") >= 0 Then
EnableToolBar "mnuReSelect", True
Else
EnableToolBar "mnuReSelect", False
End If
'**********************************************
'单据状态为作废或者已经引用的,锁定单据。按钮不可以用。
If CLng(rs.Fields("FBillStatus")) <= -1 Or rs.Fields("FStatus_WL") > 0 Or rs.Fields("FDeductWeight") > 0 Then
m_BillInterface.LockBill '如果被引用锁定单据
EnableToolBar "mnuGetTareWeight", False '设置按钮可用不可用
EnableToolBar "mnuGetGrossWeight", False
EnableToolBar "mnuReSelect", False
End If
'**********************************************
'**********************************************
'单据状态为未完成,打开COMM口,
If rs.Fields("FBillStatus") = 0 Then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -