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

📄 bos_billamount.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_BillAmount"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
'''''''''''''''''''''''''''''''''''''''''''''''
''应收应付单票据金额与实付金额控制
''建立日期: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

'保存金额初值
Private Amount_First As Double

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
    Set m_ListInterface = Nothing
End Sub

Private Sub m_BillInterface_AfterSelBill(ByVal lSelBillType As Long)
    ''选单之后触发
    On Error GoTo Errhandle
    '回写所选的票据号
    m_BillInterface.SetFieldValue "FContractNo", BillNumber
    Exit Sub
Errhandle:
    MsgBox err.Description, vbCritical, "金蝶提示"
End Sub

Private Sub m_BillInterface_beforesave(bCancel As Boolean)
    ''保存之前触发
    On Error GoTo Errhandle
    Dim S_Key As String
    Dim L_Index As Long
    
    ''判断单据合计值与票据合计金额是否相付
    If (m_BillInterface.GetFieldValue("fsettle", , 3) = "承兑汇票") And (Val(m_BillInterface.Sum(m_BillInterface.GetFieldInfoByKey("FBillAmount", S_Key, L_Index))) <> Val(Abs(m_BillInterface.GetFieldValue("FAmount")))) Then
       MsgBox "当结算方式为'承兑汇票'时,票据合计金额不等于实付(收)金额!", , "金蝶提示"
       bCancel = True
       Exit Sub
    End If
    If (m_BillInterface.GetFieldValue("fsettle", , 3) <> "承兑汇票") And (Val(m_BillInterface.Sum(m_BillInterface.GetFieldInfoByKey("FBillAmount", S_Key, L_Index))) > 0) Then
       MsgBox "当结算方式不为'承兑汇票'时,票据合计金额不能大于零!", , "金蝶提示"
       bCancel = True
       Exit Sub
    End If
    Exit Sub
Errhandle:
    MsgBox err.Description, vbCritical, "金蝶提示"
End Sub

Private Sub m_BillInterface_BeforeSelBills(ByVal lSelBillType As Long, ByVal oDataSrv As Object, ByVal dctLink As Object, sFilter As String, dctParam As Object)
    ''选单之前触发
    On Error GoTo Errhandle
    '如果选的是票据,则选清空付款单等单据的单据体
    If lSelBillType = 200000170 Then
       m_BillInterface.DeleteEntryData 4
    End If
    Exit Sub
Errhandle:
    MsgBox err.Description, vbCritical, "金蝶提示"
End Sub

Private Sub m_BillInterface_BeforeVerify(bCancel As Boolean)
    '''更新单据金额合计值
    On Error GoTo Errhandle
    Dim S_Key As String
    Dim L_Index As Long
    '回写单据头合计金额
    m_BillInterface.SetFieldValue "FAmountFor", m_BillInterface.Sum(m_BillInterface.GetFieldInfoByKey("FSettleAmountFor_3", S_Key, L_Index))
    Exit Sub
Errhandle:
    MsgBox err.Description, vbCritical, "金蝶提示"
End Sub

⌨️ 快捷键说明

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