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

📄 bos_tjbill.cls

📁 金蝶地磅称重插件
💻 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_TjBill"
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
''建立人:倪树祥
Option Explicit
'定义 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 接口实现
    '注意: 此方法必须存在, 请勿修改
    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

End Sub

Private Sub m_BillInterface_AfterNewBill()
    m_BillInterface.SetFieldValue "BeDate", Format(Now, "YYYY-MM-DD HH:MM:SS")   '起始日期默认为当前时间
    m_BillInterface.SetFieldValue "EndDate", Format(Now, "YYYY-MM-DD HH:MM:SS")    '截至日期默认为当前时间
  
End Sub

Private Sub m_BillInterface_AfterSelBill(ByVal lSelBillType As Long)
     Dim strSql As String
     Dim strCondi As String
     Dim a As ADODB.Recordset
     Dim b As ADODB.Recordset
    
          With m_BillInterface
     .SetFieldValue "FName", .GetFieldValue("FProductID", , 2)
     .SetFieldValue "FUnitID", .GetFieldValue("FUnitIDSub", , 2)
     .SetFieldValue "FAmountc", .GetFieldValue("FAmount")
     .SetFieldValue "FTransPrice", .GetFieldValue("FPriceTrans")
     .SetFieldValue "FPriceTransOld", .GetFieldValue("FPriceTrans")
     .SetFieldValue "FWe", "唐山国丰钢铁有限公司"
     strSql = "select t1.fprice from t_supplyentry t1 inner join (select  fitemid,fsupid, max(fquotetime) fquotetime from t_supplyentry group by fsupid, fitemid) t2 on t1.fsupid=t2.fsupid and t1.fitemid=t2.fitemid and t1.fquotetime=t2.fquotetime where t1.fsupid=" & m_BillInterface.GetFieldValue("FSupplier") & " and t1.fitemid =" & m_BillInterface.GetFieldValue("FName")
     Set a = m_BillInterface.K3Lib.GetData(strSql)
     .SetFieldValue "FormerlyPrice", a.Fields(0)
     
     'strCondi = "update t_EP_PB_SupplyAgreement  set  FormerlyPrice= '" & a.Fields(0) & "'where t_EP_PB_SupplyAgreement.FName=" & a.Fields(2) & "And t_EP_PB_SupplyAgreement.FSupplier = " & a.Fields(1)
     'm_BillInterface.K3Lib.GetData (strCondi)

    
     End With

End Sub

Private Sub m_BillInterface_beforesave(bCancel As Boolean)

    If CDate(m_BillInterface.GetFieldValue("EndDate")) < CDate(m_BillInterface.GetFieldValue("BeDate")) Then
        MsgBox "请检查所取量时间范围是否正确!", vbInformation, "金蝶提示"
        bCancel = True
        Exit Sub
    End If

'    If Len(m_BillInterface.GetFieldValue("FAmountch")) = 0 Then
'        MsgBox "价格不许为空!", vbInformation, "金蝶提示"
'        bCancel = True
'        Exit Sub
'    End If

'    If Len(m_BillInterface.GetFieldValue("FQtyEnd")) = 0 Then
'        m_BillInterface.SetFieldValue "FQtyEnd", "9999999999999999"
'    End If

End Sub

Private Sub m_BillInterface_MultiCheck(ByVal lCheckMode As Long, ByVal lCheckMaxLevel As Long, ByVal lBusinessLevel As Long, ByVal lCheckLevel As Long, ByVal lCheckStatus As Long, bSendCheckMessage As Boolean, bSendAcceptMessage As Boolean, sMessageTitle As String, sMessage As String, Cancel As Boolean)
    UpdateChecker 1, lCheckLevel
    m_BillInterface.RefreshBill
End Sub

Private Sub m_BillInterface_UnMultiCheck(ByVal lCheckMode As Long, ByVal lCheckMaxLevel As Long, ByVal lBusinessLevel As Long, ByVal lCheckStatus As Long, ByVal lLastCheckFrom As Long, ByVal lLastCheckTo As Long, bSendMessage As Boolean, Cancel As Boolean)
    
    UpdateChecker 2, lLastCheckTo
    
    m_BillInterface.RefreshBill
End Sub

Private Sub m_ListInterface_MultiCheck(ByVal lCheckMode As Long, ByVal lCheckMaxLevel As Long, ByVal lBusinessLevel As Long, ByVal lCheckLevel As Long, ByVal lCheckStatus As Long, bSendCheckMessage As Boolean, bSendAcceptMessage As Boolean, sMessageTitle As String, sMessage As String, Cancel As Boolean)
    UpdateChecker 11, lCheckLevel
End Sub

Private Sub m_ListInterface_UnMultiCheck(ByVal lCheckMode As Long, ByVal lCheckMaxLevel As Long, ByVal lBusinessLevel As Long, ByVal lCheckStatus As Long, ByVal lLastCheckFrom As Long, ByVal lLastCheckTo As Long, bSendMessage As Boolean, Cancel As Boolean)
    UpdateChecker 12, lLastCheckTo
End Sub

Private Sub UpdateChecker(ByVal iCheckType As Integer, lCheckLevel As Long)
'iCheckType = 1:单据审核,2:单据反审,11:序时簿审核,12:序时簿反审。
    Dim strSql As String
    Dim strCondi As String
    Dim dctCurrRow As Dictionary
    
    If lCheckLevel <= 0 Then Exit Sub
    
    Select Case iCheckType
        Case 1 '单据审核
            strSql = m_BillInterface.K3Lib.User.UserName
            strCondi = " where FID = " & m_BillInterface.CurBillID
        Case 2 '单据反审
            strSql = ""
        strCondi = " where FID = " & m_BillInterface.CurBillID
        Case 11 '序时簿审核
            strSql = m_ListInterface.K3Lib.User.UserName
            Set dctCurrRow = m_ListInterface.GetCurrentSelRowInfo()
            strCondi = "where FID = " & dctCurrRow.GetValue("FID")
        Case 12 '序时簿反审
            strSql = ""
            Set dctCurrRow = m_ListInterface.GetCurrentSelRowInfo()
            strCondi = "where FID = " & dctCurrRow.GetValue("FID")
    End Select
      
    Select Case lCheckLevel
        Case 1 '科长
            Select Case iCheckType
                Case 1, 2 '1:单据审核,2:单据反审
                    m_BillInterface.SetFieldValue "FDeptChecker", strSql
                    strSql = "update t_EP_PB_SupplyAgreement set FDeptChecker = '" & strSql & "'" & strCondi
                    m_BillInterface.K3Lib.UpdateData strSql
                Case 11, 12 '11:序时簿审核,12:序时簿反审。
                    strSql = "update t_EP_PB_SupplyAgreement set FDeptChecker = '" & strSql & "'" & strCondi
                    m_ListInterface.K3Lib.UpdateData strSql
            End Select
            
        Case 2 '部长
            Select Case iCheckType
                Case 1, 2 '1:单据审核,2:单据反审
                    m_BillInterface.SetFieldValue "FMainChecker", strSql
                    strSql = "update t_EP_PB_SupplyAgreement set FMainChecker = '" & strSql & "'" & strCondi
                    m_BillInterface.K3Lib.UpdateData strSql
                Case 11, 12 '11:序时簿审核,12:序时簿反审。
                    strSql = "update t_EP_PB_SupplyAgreement set FMainChecker = '" & strSql & "'" & strCondi
                    m_ListInterface.K3Lib.UpdateData strSql
            End Select
            
        Case 3 '主管经理
            Select Case iCheckType
                Case 1, 2 '1:单据审核,2:单据反审
                    m_BillInterface.SetFieldValue "FSubChair", strSql
                    strSql = "update t_EP_PB_SupplyAgreement set FSubChair = '" & strSql & "'" & strCondi
                    m_BillInterface.K3Lib.UpdateData strSql
                Case 11, 12 '11:序时簿审核,12:序时簿反审。
                    strSql = "update t_EP_PB_SupplyAgreement set FSubChair = '" & strSql & "'" & strCondi
                    m_ListInterface.K3Lib.UpdateData strSql
            End Select
    End Select
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -