?? 結算價格.frm
字號:
Private Sub treStyle_LostFocus()
If Me.treStyle.Nodes.count > 0 Then
Me.treStyle.Nodes(NodeKey).Selected = True
End If
End Sub
Public Sub AddNew()
Dim objEO As U8FDEso.EntityObject
Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
On Error GoTo lblHandle
'1、申請權限
'初始化實體對象
Set objEO = objSettlePriceBI.Init(g_sDataSourceName, m_conBIStyle)
'----用于備份
If Not m_EO Is Nothing Then Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
Set m_EO = objEO
m_EO.State = U8FDEso.esoAddNew
Set objEO = Nothing
Set objSettlePriceBI = Nothing
'----設置界面(值和狀態(tài))
SetUI
Exit Sub
lblHandle:
MsgBox Err.Description, vbInformation, g_conSysName
End Sub
Public Sub Edit(Optional OID As U8FDEso.OIDObject)
Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
Dim objLockMgr As New U8FDMgr.LockManager
Dim objEO As U8FDEso.EntityObject
On Error GoTo lblHandle
'----申請權限
'----
If Not OID Is Nothing Then
Set m_EO = objSettlePriceBI.MoveTo(g_sDataSourceName, U8FDEso.esoCurrent, m_conBIStyle, OID)
End If
'----鎖定實體對象
If m_EO.OID <> "" Then
objLockMgr.LockIt g_sDataSourceName, m_EO.OID, zjLogInfo.cUserName, ComputerName
'----用于備份
Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
m_EO.State = U8FDEso.esoEdit
Else
Set objEO = objSettlePriceBI.Init(g_sDataSourceName, m_conBIStyle)
Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
Set m_EO = objEO
m_EO.State = U8FDEso.esoAddNew
End If
Set objSettlePriceBI = Nothing
Set objLockMgr = Nothing
Set objEO = Nothing
'----設置界面
SetUI
Exit Sub
lblHandle:
MsgBox Err.Description, vbInformation, g_conSysName
End Sub
Public Sub AddCol()
Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
Dim objLockMgr As New U8FDMgr.LockManager
Dim objEO As U8FDEso.EntityObject
On Error GoTo lblHandle
'----申請權限
If Len(NodeKey) > 15 Then
m_EO.OID = objSettlePriceBI.FindByCode(g_sDataSourceName, mID(Me.treStyle.Nodes(NodeKey).Parent.key, 2)).OID
End If
'----鎖定實體對象
If m_EO.OID <> "" Then
objLockMgr.LockIt g_sDataSourceName, m_EO.OID, zjLogInfo.cUserName, ComputerName
'----用于備份
Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
m_EO.State = U8FDEso.esoEdit
Else
Set objEO = objSettlePriceBI.FindByCode(g_sDataSourceName, mID(NodeKey, 2))
Set m_OldEO = m_EO.Clone(U8FDEso.esoStructureAndData)
If objEO(objEO.SourceOIDField) = "" Then
Set objEO = objSettlePriceBI.Init(g_sDataSourceName)
End If
Set m_EO = objEO
m_EO.State = U8FDEso.esoAddNew
End If
Set objSettlePriceBI = Nothing
Set objLockMgr = Nothing
Set objEO = Nothing
'----設置界面
SetUI
Exit Sub
lblHandle:
MsgBox Err.Description, vbInformation, g_conSysName
End Sub
Private Sub DeleteCol()
Dim objIRateBI As New U8FDBso.clsIRateBI
Dim objLockMgr As New U8FDMgr.LockManager
If MsgBox("真的要刪除當前記錄嗎?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
On Error GoTo lblHandle
'----刪除當前記錄
'----鎖定實體對象
objLockMgr.LockIt g_sDataSourceName, m_EO.OID, zjLogInfo.cUserName, ComputerName
'先驗證這個時間是否可以刪除,然后刪除eo的子表集
m_EO.EOS.Delete NodeKey
If objIRateBI.Save(g_sDataSourceName, m_EO, m_conBIStyle) Then
'----解除鎖定
objLockMgr.UnlockIt g_sDataSourceName, m_EO.OID
If Me.treStyle.Nodes(NodeKey).Parent.children > 1 Then
Dim NodeTemp As String
If NodeKey = Me.treStyle.Nodes(NodeKey).LastSibling.key Then
NodeTemp = Me.treStyle.Nodes(NodeKey).Previous.key
Else
NodeTemp = Me.treStyle.Nodes(NodeKey).Next.key
End If
Me.treStyle.Nodes.Remove NodeKey
NodeKey = NodeTemp
Else
Dim NodekeyTemp As String
NodekeyTemp = Me.treStyle.Nodes(NodeKey).Parent.key
Me.treStyle.Nodes.Remove NodeKey
NodeKey = NodekeyTemp
Me.treStyle.Nodes(NodeKey).Image = 3
End If
Me.treStyle.Nodes(NodeKey).Selected = True
'----設置界面
SetUI
Else
MsgBox "刪除沒有成功!"
End If
Set objLockMgr = Nothing
Set objIRateBI = Nothing
Exit Sub
lblHandle:
MsgBox Err.Description, vbInformation, g_conSysName
End Sub
Public Sub View(Optional OID As U8FDEso.OIDObject)
Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
On Error GoTo lblHandle
'1、申請權限
'----
If Not OID Is Nothing Then
Set m_EO = objSettlePriceBI.MoveTo(g_sDataSourceName, U8FDEso.esoCurrent, m_conBIStyle, OID)
End If
'----
If m_EO Is Nothing Then
Set m_EO = objSettlePriceBI.MoveTo(g_sDataSourceName, U8FDEso.esoLast, m_conBIStyle)
End If
'----設置界面
SetUI
Set objSettlePriceBI = Nothing
Exit Sub
lblHandle:
MsgBox Err.Description, vbInformation, g_conSysName
End Sub
Private Function Save() As Boolean
Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
Dim objLockMgr As New U8FDMgr.LockManager
Dim objOIDMgr As New U8FDMgr.OIDManager
Dim Child_EO As U8FDEso.EntityObject
Dim i As Long
Dim ParentKey As String
Dim NodeTemp As MSComctlLib.Node
On Error GoTo lblHandle
'----賦值
If m_EditCol = 0 Then
If Len(Me.treStyle.SelectedItem.key) > 15 Then
ParentKey = Me.treStyle.SelectedItem.Parent.key
Set NodeTemp = Me.treStyle.SelectedItem.FirstSibling
For i = 1 To Me.treStyle.SelectedItem.Parent.children
If Me.treStyle.SelectedItem.key <> NodeTemp.key And Me.treStyle.Nodes(NodeTemp.key).Text = Me.cboMoneyName.Text Then
MsgBox "該幣別已設置好結算價格!", vbInformation, App.ProductName
Exit Function
End If
Set NodeTemp = NodeTemp.Next
Next
Set NodeTemp = Nothing
Else
ParentKey = Me.treStyle.SelectedItem.key
Set NodeTemp = Me.treStyle.SelectedItem.child
For i = 1 To Me.treStyle.SelectedItem.children
If Me.treStyle.SelectedItem.key <> NodeTemp.key And Me.treStyle.Nodes(NodeTemp.key).Text = Me.cboMoneyName.Text Then
MsgBox "該幣別已設置好結算價格!", vbInformation, App.ProductName
Exit Function
End If
Set NodeTemp = NodeTemp.Next
Next
Set NodeTemp = Nothing
End If
ElseIf m_EditCol = 1 Then
If Len(Me.treStyle.SelectedItem.key) > 15 Then
ParentKey = Me.treStyle.SelectedItem.Parent.key
Set NodeTemp = Me.treStyle.SelectedItem.FirstSibling
For i = 1 To Me.treStyle.SelectedItem.Parent.children
If Me.treStyle.Nodes(NodeTemp.key).Text = Me.cboMoneyName.Text Then
MsgBox "該幣別已設置好結算價格!", vbInformation, App.ProductName
Exit Function
End If
Set NodeTemp = NodeTemp.Next
Next
Set NodeTemp = Nothing
Else
ParentKey = Me.treStyle.SelectedItem.key
Set NodeTemp = Me.treStyle.SelectedItem.child
For i = 1 To Me.treStyle.SelectedItem.children
If Me.treStyle.Nodes(NodeTemp.key).Text = Me.cboMoneyName.Text Then
MsgBox "該幣別已設置好結算價格!", vbInformation, App.ProductName
Exit Function
End If
Set NodeTemp = NodeTemp.Next
Next
Set NodeTemp = Nothing
End If
End If
If Me.txtSettleType(1).Visible = True Then
If Not IsNumeric(Me.txtSettleType(0).Text) Then
MsgBox "計提比例不能為空!", vbInformation, App.ProductName
Me.txtSettleType(0).SetFocus
Exit Function
End If
Else
If Not IsNumeric(Me.txtSettleType(0).Text) Then
MsgBox "單價不能為空!", vbInformation, App.ProductName
Me.txtSettleType(0).SetFocus
Exit Function
End If
End If
If Me.txtSettleType(1).Visible = True Then
If Not IsNumeric(Me.txtSettleType(1).Text) Then
MsgBox "計提基線不能為空!", vbInformation, App.ProductName
Me.txtSettleType(1).SetFocus
Exit Function
End If
End If
If Len(Me.treStyle.SelectedItem.key) > 15 Then
m_EO("settle_code") = mID(Me.treStyle.SelectedItem.Parent.key, 2)
Else
m_EO("settle_code") = mID(Me.treStyle.SelectedItem.key, 2)
End If
If Me.Charge(0).Value = True Then
m_EO("charge_flag") = 0
Else
m_EO("charge_flag") = 1
End If
With m_EO
If m_EO.State = U8FDEso.esoAddNew Then
Set Child_EO = objSettlePriceBI.Init(g_sDataSourceName, m_conChildBIStyle)
If Me.Charge(1).Value = True Then
Child_EO("money_name") = Me.cboMoneyName.Text
Child_EO("unitprice_mny") = Me.txtSettleType(0).Text
Child_EO("limit_mny") = Me.txtSettleType(1).Text
Child_EO("digest") = Me.txtSettleType(2).Text
Else
Child_EO("money_name") = Me.cboMoneyName.Text
Child_EO("unitprice_mny") = Me.txtSettleType(0).Text
Child_EO("limit_mny") = ""
Child_EO("digest") = Me.txtSettleType(2).Text
End If
m_EO.EOS.Append Child_EO, "K" & Child_EO.OID
ElseIf m_EO.State = U8FDEso.esoEdit Then
If m_EditCol = 0 Then
If Me.Charge(1).Value = True Then
EO.EOS(NodeKey)("money_name") = Me.cboMoneyName.Text
EO.EOS(NodeKey)("unitprice_mny") = Me.txtSettleType(0).Text
EO.EOS(NodeKey)("limit_mny") = Me.txtSettleType(1).Text
EO.EOS(NodeKey)("digest") = Me.txtSettleType(2).Text
Else
EO.EOS(NodeKey)("money_name") = Me.cboMoneyName.Text
EO.EOS(NodeKey)("unitprice_mny") = Me.txtSettleType(0).Text
EO.EOS(NodeKey)("limit_mny") = ""
EO.EOS(NodeKey)("digest") = Me.txtSettleType(2).Text
End If
ElseIf m_EditCol = 1 Then
Set Child_EO = objSettlePriceBI.Init(g_sDataSourceName, m_conChildBIStyle)
If Me.Charge(1).Value = True Then
Child_EO("money_name") = Me.cboMoneyName.Text
Child_EO("unitprice_mny") = Me.txtSettleType(0).Text
Child_EO("limit_mny") = Me.txtSettleType(1).Text
Child_EO("digest") = Me.txtSettleType(2).Text
Else
Child_EO("money_name") = Me.cboMoneyName.Text
Child_EO("unitprice_mny") = Me.txtSettleType(0).Text
Child_EO("limit_mny") = ""
Child_EO("digest") = Me.txtSettleType(2).Text
End If
m_EO.EOS.Append Child_EO, "K" & Child_EO.OID
End If
End If
End With
'----實體對象驗證
If Not m_EO.Validate Then
For i = 1 To m_EO.EOS.count
m_EO.EOS.Delete 1
Next
Exit Function
End If
'----調用業(yè)務對象并保存
If objSettlePriceBI.Save(g_sDataSourceName, m_EO, m_conBIStyle) = False Then Exit Function
If m_EO.State = U8FDEso.esoAddNew Then
Me.treStyle.Nodes.Add ParentKey, tvwChild, "K" & m_EO.EOS(1)("settle_b_id"), m_EO.EOS(1)("money_name")
Me.treStyle.Nodes(ParentKey).Expanded = True
Me.treStyle.Nodes(ParentKey).Image = 2
Me.treStyle.Nodes("K" & m_EO.EOS(1)("settle_b_id")).Image = 3
Me.treStyle.Nodes("K" & m_EO.EOS(1)("settle_b_id")).Selected = True
NodeKey = "K" & m_EO.EOS(1)("settle_b_id")
ElseIf m_EO.State = U8FDEso.esoEdit Then
If m_EditCol = 0 Then '編輯
Me.treStyle.Nodes(NodeKey).Text = m_EO.EOS(NodeKey)("money_name")
ElseIf m_EditCol = 1 Then '增列
Me.treStyle.Nodes.Add ParentKey, tvwChild, "K" & m_EO.EOS(m_EO.EOS.count)("settle_b_id"), m_EO.EOS(m_EO.EOS.count)("money_name")
Me.treStyle.Nodes(ParentKey).Expanded = True
Me.treStyle.Nodes(ParentKey).Image = 2
Me.treStyle.Nodes("K" & m_EO.EOS(m_EO.EOS.count)("settle_b_id")).Image = 3
Me.treStyle.Nodes("K" & m_EO.EOS(m_EO.EOS.count)("settle_b_id")).Selected = True
NodeKey = "K" & m_EO.EOS(m_EO.EOS.count)("settle_b_id")
ElseIf m_EditCol = 2 Then '刪列
Me.treStyle.Nodes.Remove NodeKey
End If
End If
'----解除鎖定
If m_EO.State = U8FDEso.esoEdit Then
objLockMgr.UnlockIt g_sDataSourceName, m_EO.OID
End If
m_EO.State = U8FDEso.esoInstance
'----釋放任務
Set objLockMgr = Nothing
Set objSettlePriceBI = Nothing
m_EditCol = 3
'----設置界面
SetUI
Save = True
Exit Function
lblHandle:
MsgBox Err.Description, vbInformation, g_conSysName
End Function
Private Sub Delete()
If MsgBox("真的要刪除當前記錄嗎?", vbQuestion + vbYesNo) = vbNo Then Exit Sub
Dim objDataMgr As New U8FDMgr.DataManager
Dim objSettlePriceBI As New U8FDBso.clsSettlePriceBI
On Error GoTo lblHandle
'----刪除當前記錄
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -