⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bos_balancebill.cls

📁 金蝶地磅称重插件
💻 CLS
📖 第 1 页 / 共 5 页
字号:
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 + -