📄 clscpgb_gmz.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 = "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 + -