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

📄 结算价格.frm

📁 不处的管理软件包
💻 FRM
📖 第 1 页 / 共 4 页
字号:
    '----移动到下一条记录
    
    '----设置界面
    SetUI

    Set objSettlePriceBI = Nothing

    Exit Sub
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Sub

Private Sub CancelDo()
    Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
    Dim objLockMgr       As New U8FDMgr.LockManager

    If m_EditStatus Then
        If MsgBox("真的要取消当前操作吗?", vbQuestion + vbYesNo, g_conSysName) = vbNo Then Exit Sub
    End If

    On Error GoTo lblHandle
    '----State 若为 esoEdit, 解锁
    If m_EO.State = U8FDEso.esoEdit Then
        objLockMgr.UnlockIt g_sDataSourceName, m_EO.OID
    End If

    '----恢复原实体对象
    If Not m_OldEO Is Nothing Then
        Set m_EO = m_OldEO.Clone(U8FDEso.esoStructureAndData)
    Else
        'Set m_EO = objSettlePriceBI.MoveTo(g_sDataSourceName, U8FDEso.esoLast, m_conBIStyle)
        Set m_EO = objSettlePriceBI.FindByCode(g_sDataSourceName, mID(NodeKey, 2))
    End If
    m_EditCol = 3
    '----设置界面
    SetUI

    Set objSettlePriceBI = Nothing
    Set objLockMgr = Nothing

    Exit Sub
lblHandle:
    MsgBox Err.Description, vbInformation, g_conSysName
End Sub

Private Sub RecordShow(ByVal Node_Key As String)
    Dim i As Integer
    Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
    Dim OID              As New U8FDEso.OIDObject
    Dim objDataMgr       As New U8FDMgr.DataManager

    If Me.treStyle.Nodes.count > 0 Then
        If Node_Key = "" Or Node_Key = "0" Then
            If Me.treStyle.Nodes.count > 0 Then
                Node_Key = Me.treStyle.Nodes(1).key
            End If
        End If
        If IsNumeric(left(Node_Key, 1)) Then Node_Key = "K" & Node_Key
        NodeKey = Node_Key
        For i = 1 To Me.treStyle.Nodes.count
            If NodeKey = Me.treStyle.Nodes(i).key Then
                Exit For
            End If
            If i = Me.treStyle.Nodes.count Then Exit Sub
        Next

        Me.treStyle.Nodes(NodeKey).Expanded = True
        Me.treStyle.Nodes(NodeKey).Selected = True

        Set m_EO = objSettlePriceBI.FindByCode(g_sDataSourceName, mID(NodeKey, 2))
    Else
        Set m_EO = objDataMgr.LoadEOMetaData(g_sDataSourceName, m_conBIStyle)
    End If

    SetUI
End Sub

Private Sub RefreshUI()
    Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
    Dim objDataMgr       As New U8FDMgr.DataManager
    Dim con              As New adodb.Connection
    Dim rec              As New adodb.Recordset
    Dim SQL              As String
    Dim arrCurr          As Variant
    Dim i                As Integer
    
    Me.treStyle.Nodes.clear
    Me.cboMoneyName.clear
    
    arrCurr = GetAllCurrencyNames
    For i = 0 To UBound(arrCurr) - 1
        Me.cboMoneyName.AddItem arrCurr(i)
    Next
    If cboMoneyName.ListCount > 0 Then cboMoneyName.ListIndex = 0
    
    con.Open g_sDataSourceName

    SQL = "select * from SettleStyle order by cSSCode"
    rec.Open SQL, con, adOpenStatic, adLockOptimistic

    If Not rec.EOF Then
        Do Until rec.EOF
            If Len(Trim(rec("cSSCode"))) = 1 Then
                Me.treStyle.Nodes.Add , , "K" & Trim(rec("cSSCode")), "【" & Trim(rec("cSSCode")) & "】" & Trim(rec("cSSName"))
                NodeKey = "K" & Trim(rec("cSSCode"))
                Set EO = objSettlePriceBI.FindByCode(g_sDataSourceName, mID(NodeKey, 2))
                For i = 1 To EO.EOS.count
                    Me.treStyle.Nodes.Add NodeKey, tvwChild, "K" & EO.EOS(i)("settle_b_id"), EO.EOS(i)("money_name")
                Next
            Else
                Me.treStyle.Nodes.Add "K" & mID(Trim(rec("cSSCode")), 1, 1), tvwChild, "K" & Trim(rec("cSSCode")), "【" & Trim(rec("cSSCode")) & "】" & Trim(rec("cSSName"))
                NodeKey = "K" & Trim(rec("cSSCode"))
                Set EO = objSettlePriceBI.FindByCode(g_sDataSourceName, mID(NodeKey, 2))
                For i = 1 To EO.EOS.count
                    Me.treStyle.Nodes.Add NodeKey, tvwChild, "K" & EO.EOS(i)("settle_b_id"), EO.EOS(i)("money_name")
                Next
            End If
            rec.MoveNext
        Loop
    Else
        MsgBox "请先在系统控制台设置结算方式!", vbInformation, App.ProductName
        NodeKey = "K"
    End If
    
    For i = 1 To treStyle.Nodes.count
        If treStyle.Nodes(i).children > 0 Then
            treStyle.Nodes(i).Image = 1
        Else
            treStyle.Nodes(i).Image = 3
        End If
    Next
    
    If Me.treStyle.Nodes.count > 0 Then
        Me.treStyle.Nodes(1).Selected = True
        Me.treStyle.Nodes(1).Expanded = True
        NodeKey = Me.treStyle.SelectedItem.key
        Set EO = objSettlePriceBI.FindByCode(g_sDataSourceName, mID(NodeKey, 2))
        If Me.treStyle.Nodes(1).children > 0 Then
            Me.treStyle.Nodes(1).Image = 2
            Me.treStyle.Nodes(1).child.Selected = True
            NodeKey = Me.treStyle.Nodes(1).child.key
        End If
    Else
        Set EO = objDataMgr.LoadEOMetaData(g_sDataSourceName, m_conBIStyle)
    End If
    
    SetUI
    
    Set objSettlePriceBI = Nothing
    Set objDataMgr = Nothing
    Set rec = Nothing
    Set con = Nothing
End Sub

Private Sub SetUI()
  On Error GoTo lblHandle
    '----Set Status
    Select Case m_EO.State
        Case U8FDEso.esoAddNew
            Me.tlbAction.Buttons("AddNew").Enabled = False
            Me.tlbAction.Buttons("Edit").Enabled = False
            Me.tlbAction.Buttons("Delete").Enabled = False
            Me.tlbAction.Buttons("Save").Enabled = True
            Me.tlbAction.Buttons("Cancel").Enabled = True
            Me.tlbAction.Buttons("Refresh").Enabled = False
            Me.tlbAction.Buttons("AddCol").Enabled = False
            Me.tlbAction.Buttons("DelCol").Enabled = False
            Me.picView.Enabled = True
            Me.Charge(0).Enabled = True: Me.Charge(1).Enabled = True
        Case U8FDEso.esoEdit
            Me.tlbAction.Buttons("AddNew").Enabled = False
            Me.tlbAction.Buttons("Edit").Enabled = False
            Me.tlbAction.Buttons("Delete").Enabled = False
            Me.tlbAction.Buttons("Save").Enabled = True
            Me.tlbAction.Buttons("Cancel").Enabled = True
            Me.tlbAction.Buttons("Refresh").Enabled = False
            Me.tlbAction.Buttons("AddCol").Enabled = False
            Me.tlbAction.Buttons("DelCol").Enabled = False
            Me.picView.Enabled = True
            If Len(NodeKey) < 15 Then
                If Me.treStyle.Nodes(NodeKey).children = 0 Then
                    Me.Charge(0).Enabled = True: Me.Charge(1).Enabled = True
                ElseIf Me.treStyle.Nodes(NodeKey).children = 1 And m_EditCol = 0 Then
                    Me.Charge(0).Enabled = True: Me.Charge(1).Enabled = True
                Else
                    Me.Charge(0).Enabled = False: Me.Charge(1).Enabled = False
                End If
            ElseIf Len(NodeKey) > 15 Then
                If Me.treStyle.Nodes(NodeKey).Parent.children = 1 And m_EditCol = 0 Then
                    Me.Charge(0).Enabled = True: Me.Charge(1).Enabled = True
                Else
                    Me.Charge(0).Enabled = False: Me.Charge(1).Enabled = False
                End If
            End If
            'If m_EditCol = 0 Then
            '    Me.cboMoneyName.Locked = False
            'Else
            '    Me.cboMoneyName.Locked = False
            'End If
        Case U8FDEso.esoInstance
            Me.tlbAction.Buttons("AddNew").Enabled = True
            Me.tlbAction.Buttons("Delete").Enabled = True
            Me.tlbAction.Buttons("Save").Enabled = False
            Me.tlbAction.Buttons("Cancel").Enabled = False
            Me.tlbAction.Buttons("Refresh").Enabled = True
            If Len(NodeKey) > 15 Then
                Me.tlbAction.Buttons("Edit").Enabled = True
                Me.tlbAction.Buttons("AddCol").Enabled = True
                Me.tlbAction.Buttons("DelCol").Enabled = True
            Else
                Me.tlbAction.Buttons("Edit").Enabled = False
                If Me.treStyle.SelectedItem.root.key = Me.treStyle.SelectedItem.FirstSibling.key Then
                    If Me.treStyle.SelectedItem.children = 0 Then
                        Me.tlbAction.Buttons("AddCol").Enabled = True
                    Else
                        If Len(Me.treStyle.SelectedItem.child.key) > 15 Then
                            Me.tlbAction.Buttons("AddCol").Enabled = True
                        Else
                            Me.tlbAction.Buttons("AddCol").Enabled = False
                        End If
                    End If
                Else
                    Me.tlbAction.Buttons("AddCol").Enabled = True
                End If
                Me.tlbAction.Buttons("DelCol").Enabled = False
            End If
            Me.picView.Enabled = False
            Me.Charge(0).Enabled = True: Me.Charge(1).Enabled = True
        Case U8FDEso.esoInitialized
            Me.tlbAction.Buttons("AddNew").Enabled = True
            If NodeKey = "K" Then
                Me.tlbAction.Buttons("Edit").Enabled = False
                Me.tlbAction.Buttons("AddCol").Enabled = False
            Else
                If Len(NodeKey) > 15 Then
                    Me.tlbAction.Buttons("Edit").Enabled = True
                    Me.tlbAction.Buttons("AddCol").Enabled = True
                Else
                    Me.tlbAction.Buttons("Edit").Enabled = False
                    If Me.treStyle.SelectedItem.root.key = Me.treStyle.SelectedItem.FirstSibling.key Then
                        If Me.treStyle.SelectedItem.children = 0 Then
                            Me.tlbAction.Buttons("AddCol").Enabled = True
                        Else
                            If Len(Me.treStyle.SelectedItem.child.key) > 15 Then
                                Me.tlbAction.Buttons("AddCol").Enabled = True
                            Else
                                Me.tlbAction.Buttons("AddCol").Enabled = False
                            End If
                        End If
                    Else
                        Me.tlbAction.Buttons("AddCol").Enabled = True
                    End If
                End If
            End If
            Me.tlbAction.Buttons("Delete").Enabled = False
            Me.tlbAction.Buttons("Save").Enabled = False
            Me.tlbAction.Buttons("Cancel").Enabled = False
            Me.tlbAction.Buttons("Refresh").Enabled = True
            If Len(NodeKey) > 15 Then
                Me.tlbAction.Buttons("DelCol").Enabled = True
            Else
                Me.tlbAction.Buttons("DelCol").Enabled = False
            End If
            Me.picView.Enabled = False
            Me.Charge(0).Enabled = True: Me.Charge(1).Enabled = True
    End Select
    '----Set Value
    With m_EO
        '设置属性
        Me.txtSettleType(0).Property = SwitchDataType(.EOS.EOMetaData.Fields("unitprice_mny").DataType)
        Me.txtSettleType(0).MaxLength = .EOS.EOMetaData.Fields("unitprice_mny").length
        Me.txtSettleType(0).NumPoint = .EOS.EOMetaData.Fields("unitprice_mny").Decimals

        Me.txtSettleType(1).Property = SwitchDataType(.EOS.EOMetaData.Fields("limit_mny").DataType)
        Me.txtSettleType(1).MaxLength = .EOS.EOMetaData.Fields("limit_mny").length
        Me.txtSettleType(1).NumPoint = .EOS.EOMetaData.Fields("limit_mny").Decimals

        Me.txtSettleType(2).Property = SwitchDataType(.EOS.EOMetaData.Fields("digest").DataType)
        Me.txtSettleType(2).MaxLength = .EOS.EOMetaData.Fields("digest").length

        '赋值
        If m_EO.State = U8FDEso.esoInitialized Or m_EO.State = U8FDEso.esoAddNew Or Len(NodeKey) < 15 Or m_EditCol = 1 Then
            'Me.Charge(0).Value = True
            Me.cboMoneyName.ListIndex = 0
            Me.txtSettleType(0).Text = ""
            Me.txtSettleType(1).Text = ""
            Me.txtSettleType(2).Text = ""
        Else
            If IsNull(.Fields("charge_flag")) Or .Fields("charge_flag") = 0 Then
                Me.Charge(0).Value = True
            Else
                Me.Charge(1).Value = True
            End If
            Me.cboMoneyName.Text = IIf(IsNull(.EOS(NodeKey).Fields("money_name")), "", .EOS(NodeKey).Fields("money_name"))
            Me.txtSettleType(0).Text = IIf(IsNull(.EOS(NodeKey).Fields("unitprice_mny")), "", Format(.EOS(NodeKey).Fields("unitprice_mny"), "####0.00"))
            Me.txtSettleType(1).Text = IIf(IsNull(.EOS(NodeKey).Fields("limit_mny")), "", Format(.EOS(NodeKey).Fields("limit_mny"), "####0.00"))
            Me.txtSettleType(2).Text = IIf(IsNull(.EOS(NodeKey).Fields("digest")), "", .EOS(NodeKey).Fields("digest"))
        End If
    End With
    SetTlbStyle Me, False
    ocxCtbTool.RefreshEnable
lblHandle:
    Resume Next
End Sub

Private Sub txtSettleType_CustKeyDown(Index As Integer, ByVal key As EDITLib.KeyTypes)
    Select Case Index
        Case 0
            If key = KeyDown Or key = KeyRet Then
                SetEdtTxtFocus Me.txtSettleType(1)
            ElseIf key = KeyUp Then
                If cboMoneyName.Enabled Then
                    Me.cboMoneyName.SetFocus
                Else
                    If Me.Charge(1).Value = True Then
                        Me.Charge(1).SetFocus
                    Else
                        Me.Charge(0).SetFocus
                    End If
                End If
            End If
        Case 1
            If key = KeyDown Or key = KeyRet Then
                SetEdtTxtFocus Me.txtSettleType(2)
            ElseIf key = KeyUp Then
                SetEdtTxtFocus Me.txtSettleType(0)
            End If
        Case 2
            If key = KeyUp Then
                SetEdtTxtFocus Me.txtSettleType(1)
            End If
    End Select
End Sub

Private Sub txtSettleType_KeyPress(Index As Integer, KeyAscii As Integer)
    If Index < 2 Then
        If KeyAscii = Asc("-") Then KeyAscii = 0
    End If
End Sub

Private Sub PrintData()
    If SetPrintDataStyleXML_flag = False Then SetPrintDataStyleXML
    frmRightMenu.ocxPrint.DoPrint
End Sub

Private Sub PrintView()
    If SetPrintDataStyleXML_flag = False Then SetPrintDataStyleXML
    frmRightMenu.ocxPrint.PrintPreview
End Sub

Private Sub Export()
    If SetPrintDataStyleXML_flag = False Then SetPrintDataStyleXML
    frmRightMenu.ocxPrint.ExportToFile 0, PrintTypeList, PrintSizeList, "", ""
End Sub

Public Sub SetPrintDataStyleXML()
    Dim lRet        As Long
    Dim sData       As String
    Dim sStyle      As String
    Dim sModuleId   As String
    Dim SQL         As String
    
    On Error GoTo lblHandle
    
    SQL = "select fd_settle.settle_code as [结算方式代码],SettleStyle.cSSName as [结算方式名称],case fd_settle.charge_flag when 0 then '结算笔数' when 1 then '计提比例' end as [计费基准],fd_settle_b.money_name as [币别],fd_settle_b.unitprice_mny as [单价/计提比例(%)],fd_settle_b.limit_mny as [计提基线],fd_settle_b.digest as [备注] from fd_settle_b left join fd_settle on fd_settle_b.settle_id=fd_settle.settle_id  left join settlestyle on fd_settle.settle_code=settlestyle.csscode"
    
    sData = SetPrintDataXML(SQL, "结算价格设置", PrintTypeList, PrintSizeList)
    sStyle = SetPrintStyleXML("")
    sModuleId = "Default"
    
    lRet = frmRightMenu.ocxPrint.SetDataStyleXML(sData, False, sStyle, False, sModuleId)
    If lRet <> 0 Then
        MsgBox "打印数据格式设置失败!", vbInformation, App.ProductName
        SetPrintDataStyleXML_flag = False
    End If
    
    SetPrintDataStyleXML_flag = True
    Exit Sub
lblHandle:
    SetPrintDataStyleXML_flag = False
    MsgBox "打印数据格式设置失败!", vbInformation, App.ProductName
End Sub

⌨️ 快捷键说明

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