?? 結算價格.frm
字號:
'----移動到下一條記錄
'----設置界面
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 + -