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

📄 clscpgb_gmz.cls

📁 这是一个基于金蝶K/3的磅秤插件源代码。安装本差价需要金蝶K/310.0以上的版本。本插件是客户端程序。在车辆过磅时自动产生金蝶K/3的出库单。
💻 CLS
📖 第 1 页 / 共 2 页
字号:
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "clsCPGB_GMZ"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
 Option Explicit
'定义 BillEvent 接口. 必须具有的声明, 以此来获得事件
Private WithEvents m_BillInterface  As BillEvent
Attribute m_BillInterface.VB_VarHelpID = -1
Private BZChange As Boolean
Private PZChange As Boolean
Dim gGrid  As Object
Dim IsFirstTime As Boolean

 
Public Sub Show(ByVal oBillInterface As Object)
 
    'BillEvent 接口实现
    '注意: 此方法必须存在, 请勿修改
    Set m_BillInterface = oBillInterface
    IsFirstTime = True
    ReDim arrayFp(1, 1) As String
End Sub

Private Sub Class_Terminate()
 
    '释放接口对象
    '注意: 此方法必须存在, 请勿修改
    Set m_BillInterface = Nothing

End Sub
Private Sub doLockCol()
    If isOK Then
        m_BillInterface.BillEntrys(1).BOSFields("FMaoZhong").FieldLock = False  '毛重
    
    Else
        m_BillInterface.BillEntrys(1).BOSFields("FMaoZhong").FieldLock = True  '毛重
    End If
    m_BillInterface.BillEntrys(1).BOSFields("FChePaiHao").FieldLock = True  '车牌号
    m_BillInterface.BillEntrys(1).BOSFields("FKeHu").FieldLock = True  '客户
    m_BillInterface.BillEntrys(1).BOSFields("FPiZhong").FieldLock = True  '皮重
    m_BillInterface.BillEntrys(1).BOSFields("FJingChangShiJian").FieldLock = True '进厂时间
    
    m_BillInterface.BillEntrys(1).BOSFields("FChuChangShiJian").FieldLock = True '出厂时间
    m_BillInterface.BillEntrys(1).BOSFields("FJingZhong").FieldLock = True '净重
End Sub


Private Function getTime() As Date
    On Error GoTo HERROR
    Dim Rt As ADODB.Recordset
    Set Rt = m_BillInterface.K3Lib.GetData("select getdate()")
    getTime = Rt.Fields(0).Value
    Rt.Close
    Set Rt = Nothing
    Exit Function
HERROR:
    MsgBox Err.Description, vbCritical
End Function

Private Sub m_BillInterface_AfterFillRow(ByVal lRow As Long, ByVal dctPage As KFO.IDictionary, ByVal dctEntryData As KFO.IDictionary, ByVal dctLink As KFO.IDictionary)
    doLockCol

End Sub


'Private Sub m_BillInterface_AfterInputBillSetSumData(ByVal dct As KFO.IDictionary, dbResult As Double)
'If dct("FFieldName") = "FJingZhong" Then
'    '过磅净重
'    If m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value <> dbResult Then
'        m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value = dbResult
'        BZChange = True
'    Else
'        BZChange = False
'
'    End If
'End If
'If dct("FFieldName") = "FZhongZhong" Then
'    '发票总重
'    If m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value <> dbResult Then
'        m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value = dbResult
'        PZChange = True
'    Else
'        PZChange = False
'    End If
'    If BZChange Or PZChange Then
'       ' 差异重量
'        If m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value = "" Then m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value = "0"
'        If m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value = "" Then m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value = "0"
'        If m_BillInterface.BillHeads(1).BOSFields("FChaYiZhongLiang").Value = "" Then m_BillInterface.BillHeads(1).BOSFields("FChaYiZhongLiang").Value = "0"
'        m_BillInterface.BillHeads(1).BOSFields("FChaYiZhongLiang").Value = m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value - m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value
'        '差异百分表
'        If m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value <> 0 Then
'            m_BillInterface.BillHeads(1).BOSFields("FChaYiBeiFengBi").Value = 100 * (m_BillInterface.BillHeads(1).BOSFields("FChaYiZhongLiang").Value / m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value)
'        End If
'    End If
'End If
'End Sub

Private Sub m_BillInterface_AfterLoadBill()
doLockCol
End Sub

'Private Sub m_BillInterface_AfterLoadBillSetSumData(ByVal dct As KFO.IDictionary, dbResult As Double)
'If dct("fcaption") = "净重" Then
'    '过磅净重
'    If m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value <> dbResult Then
'        m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value = dbResult
'        BZChange = True
'    Else
'        BZChange = False
'
'    End If
'End If
'If dct("fcaption") = "总重" Then
'    '发票总重
'    If m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value <> dbResult Then
'        m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value = dbResult
'        PZChange = True
'    Else
'        PZChange = False
'    End If
'    If BZChange Or PZChange Then
'        '差异重量
'        If m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value = "" Then m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value = "0"
'        If m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value = "" Then m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value = "0"
'        If m_BillInterface.BillHeads(1).BOSFields("FChaYiZhongLiang").Value = "" Then m_BillInterface.BillHeads(1).BOSFields("FChaYiZhongLiang").Value = "0"
'
'        m_BillInterface.BillHeads(1).BOSFields("FChaYiZhongLiang").Value = m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value - m_BillInterface.BillHeads(1).BOSFields("FGuoBangZhongLiang").Value
'        '差异百分表
'        If m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value <> 0 Then
'            m_BillInterface.BillHeads(1).BOSFields("FChaYiBeiFengBi").Value = 100 * (m_BillInterface.BillHeads(1).BOSFields("FChaYiZhongLiang").Value / m_BillInterface.BillHeads(1).BOSFields("FPiaoMiaoZhongLiang").Value)
'        End If
'    End If
'End If
'End Sub

Private Sub m_BillInterface_AfterNewBill()
m_BillInterface.BillHeads(1).BOSFields("FDate").Value = getTime
doLockCol

End Sub



Private Sub m_BillInterface_AfterSave(bCancel As Boolean)
'    On Error GoTo HERROR
'    Dim I As Integer
'
'        m_BillInterface.RefreshBill
'        If UBound(arrayFp, 2) <= 1 Then Exit Sub
'
'        For I = 0 To UBound(arrayFp, 1)
'
'            m_BillInterface.K3Lib.UpdateData ("update icsale set fheadselfi0541=" + CStr(m_BillInterface.BillHeads(1).BOSFields("FID").Value) + "  where finterid=" + arrayFp(I, 6))
'            DoEvents
'
'        Next I
'    doLockCol
'    Exit Sub
'HERROR:
'    MsgBox Err.Description, vbCritical
End Sub

Private Sub m_BillInterface_BeforeSave(bCancel As Boolean)
    On Error GoTo HERROR
    If strCEBFB = "" Then strCEBFB = "0"
    If Abs(CDbl(m_BillInterface.BillHeads(1).BOSFields("FChaYiBeiFengBi").Value)) > CDbl(strCEBFB) Then
        If Trim(m_BillInterface.BillHeads(1).BOSFields("FChaYiSuoMing").Value) = "" Then
            MsgBox "差额大于规定的差额百分比(" + strCEBFB + "),请填写差异说明!"
            bCancel = True
            Exit Sub
        End If
    
        If MsgBox("差额大于规定的差额百分比(" + strCEBFB + "),是否继续?", vbYesNo) = vbNo Then bCancel = True
    End If
    Exit Sub
HERROR:
    MsgBox Err.Description, vbCritical
End Sub




Private Sub m_BillInterface_BeginEdit(ByVal dct As KFO.IDictionary, ByVal Col As Long, ByVal Row As Long)
    Dim I, rCnt As Integer
    Dim sCph As Variant
    On Error Resume Next
    If IsFirstTime Then
        If TypeName(m_BillInterface.GetActiveCtl) = "fpSpread" Then
            Set gGrid = m_BillInterface.GetActiveCtl
            'gGrid.OperationMode = OperationModeRow
            IsFirstTime = False
        End If
    End If
    
    I = 1
    gGrid.GetText 9, I, sCph
    Do While sCph <> ""
        gGrid.SetText 8, I, ""
        I = I + 1
        gGrid.GetText 9, I, sCph
    Loop
    
    gGrid.GetText 9, Row, sCph
    
    If sCph <> "" Then gGrid.SetText 8, Row, "*"

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)

Dim dMaoZhong As Double
Dim dPiZhong As Double
Dim dctTemp As KFO.Dictionary
If dct("FFieldName") = "FMaoZhong" Then
'If Col = 13 Then
    
    '过磅净重
    dMaoZhong = m_BillInterface.BillEntrys(1).BOSFields("FMaoZhong").Value
    dPiZhong = m_BillInterface.BillEntrys(1).BOSFields("FPiZhong").Value
    m_BillInterface.BillEntrys(1).BOSFields("FJingZhong").Value = dMaoZhong - dPiZhong
    
    
    
    
    Set dctTemp = m_BillInterface.GetFieldInfoByKey("FJingZhong", "", 0)
    m_BillInterface.BillCtl.SetSumData dctTemp

End If

getHeadZhongLiang
End Sub

Private Sub m_BillInterface_MenuBarClick(ByVal BOSTool As K3ClassEvents.BOSTool, Cancel As Boolean)
Dim strSql As String
Dim I As Integer
Dim J As Integer
Dim rowdata As String
Dim SumFp As Double
Dim dctTemp As KFO.Dictionary

    'TODO: 请在此处添加代码响应事件 MenuBarClick
 

         
    Select Case BOSTool.ToolName
    Case "butPZGB"
        '此处添加处理 butPZGB 菜单对象的 Click 事件
        doGetPZ
        
   
        
    Case "butJS"
        '此处添加处理 butPZGB 菜单对象的 Click 事件
        FrmPassword.Show 1
        doLockCol
    Case "butJIAS"
        '此处添加处理 butJIAS 菜单对象的 Click 事件
             isOK = False

⌨️ 快捷键说明

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