?? 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 + -