Files
Nuvolar/Nuvolar.Module/BusinessObjects/Financial/FinancialObjects/FinancialTransactions/Cassa/GLCassaVC.vb
T

1023 lines
59 KiB
VB.net

Imports System
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp.Editors
Imports DevExpress.Xpo
Imports DevExpress.Persistent.Base.Security
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.ExpressApp.Utils
Imports DevExpress.ExpressApp.Model
Public Class GLCassaVC
Inherits DevExpress.ExpressApp.ViewController
Protected selection As ArrayList
Public Event InitWork(ByVal _Minimum As Long, ByVal _Step As Long, ByVal _Maximum As Long)
Public Event DoWork()
Public Event FinalWork
Public Sub New()
MyBase.New()
selection = New ArrayList()
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
Frame.GetController(Of GLCassaVC).aMakeEditable_GLCassa.Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aPrintCassaDocument.Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aRecalculateSelectedGLCassa.Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aStorno_GLCassa.Active.SetItemValue("", False)
If View.Id = "GLCassa_ListView" Then '-- Lista nézete -----------------------------------------------------------------------------------
Frame.GetController(Of GLCassaVC).aPrintCassaDocument.Active.SetItemValue("", True)
Frame.GetController(Of CloneObject.CloneObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aStorno_GLCassa.Active.SetItemValue("", True)
Frame.GetController(Of GLCassaVC).aMakeEditable_GLCassa.Active.SetItemValue("", True)
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", False)
End If '---------------------------------------------------------------------------------------------------------------------------------
If View.Id = "GLCassa_ListView_Editable" Then '-- Lista nézete -----------------------------------------------------------------------------------
AddHandler Frame.GetController(Of DeleteObjectsViewController).DeleteAction.Executed, AddressOf GLCassa_DeleteAction_Executed
Frame.GetController(Of CloneObject.CloneObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController).DeleteAction.TargetObjectsCriteria = "DocumentNumber=''"
End If
If View.Id Like "GLHeader_GLRows_ListView_Cassa" Then
Frame.GetController(Of LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController)().Active.SetItemValue("", False)
Frame.GetController(Of ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
'Dim nv As ListView = CType(View, ListView)
'Dim cs As PropertyCollectionSource = CType(nv.CollectionSource, PropertyCollectionSource)
'AddHandler cs.MasterObjectChanged, AddressOf cs_MasterObjectChanged
End If
If View.Id = "GLCassa_DetailView" Then
Frame.GetController(Of CloneObject.CloneObjectViewController).Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", False)
Dim _GLCassa As GLCassa = TryCast(View.CurrentObject, GLCassa)
If _GLCassa Is Nothing Then
Else
If _GLCassa.IsEditable = False Then
Frame.GetController(Of ModificationsController).Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aFinal_GLCassa.Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aFinalAndNew_GLCassa.Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aBackToRowEdit_GLCassa.Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aToTable_GLCassa.Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aToTableD_GLCassa.Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", False)
Else
Frame.GetController(Of GLCassaVC).aStorno_GLCassa.Active.SetItemValue("", False)
If _GLCassa.DocumentNumber IsNot Nothing Then
If _GLCassa.DocumentNumber <> "" Then
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", False)
End If
End If
End If
If _GLCassa.IsStorno = True Then
Frame.GetController(Of ModificationsController).Active.SetItemValue("", False)
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aStorno_GLCassa.Active.SetItemValue("", False)
End If
End If
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "GLCassa_ListView" Then '-- Lista nézete -----------------------------------------------------------------------------------
Frame.GetController(Of GLCassaVC).aPrintCassaDocument.Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aRecalculateSelectedGLCassa.Active.SetItemValue("", False)
Frame.GetController(Of CloneObject.CloneObjectViewController).Active.SetItemValue("", True)
Frame.GetController(Of GLCassaVC).aStorno_GLCassa.Active.SetItemValue("", False)
Frame.GetController(Of GLCassaVC).aMakeEditable_GLCassa.Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", True)
End If '---------------------------------------------------------------------------------------------------------------------------------
If View.Id = "GLCassa_ListView_Editable" Then '-- Lista nézete -----------------------------------------------------------------------------------
Frame.GetController(Of CloneObject.CloneObjectViewController).Active.SetItemValue("", True)
End If
If View.Id Like "GLHeader_GLRows_ListView_Cassa" Then
Frame.GetController(Of LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DeleteObjectsViewController)().Active.SetItemValue("", True)
Frame.GetController(Of ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
'Dim nv As ListView = CType(View, ListView)
'Dim cs As PropertyCollectionSource = CType(nv.CollectionSource, PropertyCollectionSource)
'AddHandler cs.MasterObjectChanged, AddressOf cs_MasterObjectChanged
End If
If View.Id = "GLCassa_DetailView" Then
Frame.GetController(Of CloneObject.CloneObjectViewController).Active.SetItemValue("", True)
Dim _GLCassa As GLCassa = TryCast(View.CurrentObject, GLCassa)
If _GLCassa Is Nothing Then
Else
If _GLCassa.IsEditable = False Then
Frame.GetController(Of GLCassaVC).aMakeEditable_GLCassa.Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController).Active.SetItemValue("", True)
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", True)
Frame.GetController(Of GLCassaVC).aFinal_GLCassa.Active.SetItemValue("", True)
Frame.GetController(Of GLCassaVC).aFinalAndNew_GLCassa.Active.SetItemValue("", True)
Frame.GetController(Of GLCassaVC).aBackToRowEdit_GLCassa.Active.SetItemValue("", True)
Frame.GetController(Of GLCassaVC).aToTable_GLCassa.Active.SetItemValue("", True)
Frame.GetController(Of GLCassaVC).aToTableD_GLCassa.Active.SetItemValue("", True)
Frame.GetController(Of NewObjectViewController).Active.SetItemValue("", True)
Else
Frame.GetController(Of GLCassaVC).aStorno_GLCassa.Active.SetItemValue("", True)
If _GLCassa.DocumentNumber IsNot Nothing Then
If _GLCassa.DocumentNumber <> "" Then
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", True)
End If
End If
End If
If _GLCassa.IsStorno = True Then
Frame.GetController(Of GLCassaVC).aMakeEditable_GLCassa.Active.SetItemValue("", True)
Frame.GetController(Of ModificationsController).Active.SetItemValue("", True)
Frame.GetController(Of DeleteObjectsViewController).Active.SetItemValue("", True)
Frame.GetController(Of GLCassaVC).aStorno_GLCassa.Active.SetItemValue("", True)
End If
End If
End If
End Sub
Private Sub aToTable_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTable_GLCassa.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLCassa As GLCassa = TryCast(View.SelectedObjects(0), GLCassa)
Dim _GLHeader As GLHeader = TryCast(View.SelectedObjects(0), GLHeader)
Dim _GLRows As GLRows
Dim _DebitChartOfAccounts As ChartOfAccounts
Dim _CreditChartOfAccounts As ChartOfAccounts
Dim _GLRowsTypeVAT As eGLRowsTypeVAT
Dim _GLRowsGUID As Guid = Guid.NewGuid()
Dim _AmountBruttoHUF As Double = 0
Dim _AmountNettoHUF As Double = 0
Dim _AmountVATHUF As Double = 0
Dim _AmountBruttoDEV As Double = 0
Dim _AmountNettoDEV As Double = 0
Dim _AmountVATDEV As Double = 0
Dim _CashType As eCashType
Dim _TransactionType As eTransactionType
Dim _PartnerType As ePartnerType
If _GLCassa.row_PartnerType <> ePartnerType.eNotSet Then
If _GLCassa.CashMoveType = eCashMoveType.eIn Then
If _GLCassa.CheckIfPartnerCashFlowsInMonthGreaterThan1500000(_ocur, _GLCassa, _GLCassa.row_Customer, _GLCassa.DateExecution, _GLCassa.row_AmountHUF, 0) = False Then
If MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\GLCassa", "PartnerCashFlowsInMonthGreaterThan1500000")), _
MsgBoxStyle.DefaultButton2 + MsgBoxStyle.YesNoCancel + MsgBoxStyle.Exclamation, "") <> MsgBoxResult.Yes Then Exit Sub
End If
Else
If _GLCassa.CheckIfPartnerCashFlowsInMonthGreaterThan1500000(_ocur, _GLCassa, _GLCassa.row_Customer, _GLCassa.DateExecution, 0, _GLCassa.row_AmountHUF) = False Then
If MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\GLCassa", "PartnerCashFlowsInMonthGreaterThan1500000")), _
MsgBoxStyle.DefaultButton2 + MsgBoxStyle.YesNoCancel + MsgBoxStyle.Exclamation, "") <> MsgBoxResult.Yes Then Exit Sub
End If
End If
End If
_GLRows = _ocur.CreateObject(Of GLRows)()
If _GLCassa.CashMoveType = eCashMoveType.eIn Then
_GLRows.InAmountHUF = _GLCassa.row_AmountHUF
_GLRows.InAmountDEV = _GLCassa.row_AmountDEV
_GLRows.InAmountDEV2 = _GLCassa.row_AmountDEV2
_GLRows.CurrencyRate2 = _GLCassa.row_CurrencyRate2
_DebitChartOfAccounts = _GLCassa.LiquidAssets_Cassa.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
_TransactionType = eTransactionType.ePartnerCredit
_GLRows.CreditAmountHUF = _GLCassa.row_AmountHUF
_GLRows.CreditAmountDEV = _GLCassa.row_AmountDEV
_GLRows.DebitAmountHUF = 0
_GLRows.DebitAmountDEV = 0
If _GLCassa.row_CashType = 0 Then 'Partner
If _GLCassa.row_ConnectInfo <> "" Then
If _GLCassa.row_PartnerType = 0 Then
_PartnerType = _GLCassa.row_PartnerType
_CreditChartOfAccounts = _GLCassa.row_Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eOut)
Else
_PartnerType = _GLCassa.row_PartnerType
_CreditChartOfAccounts = _GLCassa.row_Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eIn)
End If
Else
_CreditChartOfAccounts = _GLCassa.row_Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eOut)
End If
Else
_TransactionType = eTransactionType.eNormalCredit
_PartnerType = ePartnerType.eNotSet
_CreditChartOfAccounts = _GLCassa.row_ChartOfAccounts
End If
Else
_GLRows.OutAmountHUF = _GLCassa.row_AmountHUF
_GLRows.OutAmountDEV = _GLCassa.row_AmountDEV
_GLRows.OutAmountDEV2 = _GLCassa.row_AmountDEV2
_GLRows.CurrencyRate2 = _GLCassa.row_CurrencyRate2
_DebitChartOfAccounts = Nothing
_CreditChartOfAccounts = _GLCassa.LiquidAssets_Cassa.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
_TransactionType = eTransactionType.ePartnerDebit
_GLRows.CreditAmountHUF = 0
_GLRows.CreditAmountDEV = 0
_GLRows.DebitAmountHUF = _GLCassa.row_AmountHUF
_GLRows.DebitAmountDEV = _GLCassa.row_AmountDEV
If _GLCassa.row_CashType = 0 Then 'Partner
If _GLCassa.row_ConnectInfo <> "" Then
If _GLCassa.row_PartnerType = 0 Then
_PartnerType = _GLCassa.row_PartnerType
_DebitChartOfAccounts = _GLCassa.row_Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eOut)
Else
_PartnerType = _GLCassa.row_PartnerType
_DebitChartOfAccounts = _GLCassa.row_Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eIn)
End If
Else
_DebitChartOfAccounts = _GLCassa.row_Customer.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eOut)
End If
Else
_TransactionType = eTransactionType.eNormalDebit
_PartnerType = ePartnerType.eNotSet
_DebitChartOfAccounts = _GLCassa.row_ChartOfAccounts
End If
End If
_GLRowsGUID = Guid.NewGuid
If _GLCassa.row_CashType = eCashType.ePartner Then
_CashType = eCashType.ePartner
_GLRowsTypeVAT = eGLRowsTypeVAT.eNettoRow
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, _GLCassa.row_AmountDEV, _
_GLHeader.row_AmountHUF, _GLCassa.LiquidAssets_Cassa, _GLCassa.row_Customer, _GLCassa.DateExecution, _
Nothing, _GLHeader.row_NoteRows, Nothing, Nothing, _
Nothing, Nothing, Nothing, _GLCassa.row_ConnectInfo, Nothing, _
_GLRowsGUID, _TransactionType, _CashType, _
_GLCassa.row_PartnerType)
ElseIf _GLCassa.row_CashType = eCashType.eNormal Or _GLCassa.row_CashType = eCashType.eCorrectionHUF Then
_CashType = eCashType.eNormal
If _GLCassa.row_VAT Is Nothing Then '--Nincs ÁFA sor
_GLRowsTypeVAT = eGLRowsTypeVAT.eNettoRow
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, _GLCassa.row_AmountDEV, _
_GLHeader.row_AmountHUF, _GLCassa.LiquidAssets_Cassa, _GLCassa.row_Customer, _GLCassa.DateExecution, _
_GLHeader.row_VAT, _GLHeader.row_NoteRows, _GLCassa.row_UniqueObjects, _GLHeader.row_Controlling, _
_GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _GLCassa.row_CostHolder, _
_GLCassa.row_ConnectInfo, _GLRowsTypeVAT, _GLRowsGUID, _TransactionType, _CashType, _PartnerType)
Else
If _GLCassa.row_VAT.KeyValue = 0 Then '-- Nincs ÁFA sor
_GLRowsTypeVAT = eGLRowsTypeVAT.eNettoRow
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, _GLCassa.row_AmountDEV, _
_GLHeader.row_AmountHUF, _GLCassa.LiquidAssets_Cassa, _GLCassa.row_Customer, _GLCassa.DateExecution, _
_GLHeader.row_VAT, _GLHeader.row_NoteRows, _GLCassa.row_UniqueObjects, _GLHeader.row_Controlling, _
_GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _GLCassa.row_CostHolder, _
_GLCassa.row_ConnectInfo, _GLRowsTypeVAT, _GLRowsGUID, _TransactionType, _CashType, _PartnerType)
Else '-- Van ÁFA sor !!!
'--1. Először a nettó sort kell megadni -----------------------------------------------------------------------
_AmountBruttoDEV = _GLCassa.row_AmountDEV
_AmountBruttoHUF = _GLCassa.row_AmountHUF
_AmountVATHUF = Math.Round((_AmountBruttoHUF / (_GLCassa.row_VAT.KeyValuePercent + 100)) * _GLCassa.row_VAT.KeyValuePercent, 0, MidpointRounding.AwayFromZero)
_AmountVATDEV = Math.Round((_AmountBruttoDEV / (_GLCassa.row_VAT.KeyValuePercent + 100)) * _GLCassa.row_VAT.KeyValuePercent, 0, MidpointRounding.AwayFromZero)
_AmountNettoDEV = _AmountBruttoDEV - _AmountVATDEV
_AmountNettoHUF = _AmountBruttoHUF - _AmountVATHUF
If _GLCassa.CashMoveType = eCashMoveType.eIn Then
_GLRows.InAmountHUF = _AmountNettoHUF
_GLRows.InAmountDEV = _AmountNettoDEV
Else
_GLRows.OutAmountHUF = _AmountNettoHUF
_GLRows.OutAmountDEV = _AmountNettoDEV
End If
_GLRowsTypeVAT = eGLRowsTypeVAT.eNettoRow
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, _AmountNettoDEV, _
_AmountNettoHUF, _GLCassa.LiquidAssets_Cassa, _GLCassa.row_Customer, _GLCassa.DateExecution, _
_GLHeader.row_VAT, _GLHeader.row_NoteRows, _GLCassa.row_UniqueObjects, _GLHeader.row_Controlling, _
_GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _GLCassa.row_CostHolder, _
_GLCassa.row_ConnectInfo, _GLRowsTypeVAT, _GLRowsGUID, _TransactionType, _CashType, _PartnerType)
'--2. Most az ÁFA sort ----------------------------------------------------------------------------------------
'-- Kell egy új sor !
_GLRows = _ocur.CreateObject(Of GLRows)()
If _GLCassa.CashMoveType = eCashMoveType.eIn Then
_GLRows.InAmountHUF = _AmountVATHUF
_GLRows.InAmountDEV = _AmountVATDEV
Else
_GLRows.OutAmountHUF = _AmountVATHUF
_GLRows.OutAmountDEV = _AmountVATDEV
End If
_GLRowsTypeVAT = eGLRowsTypeVAT.eVATRow
If _GLCassa.row_VAT IsNot Nothing Then
If _GLCassa.CashMoveType = eCashMoveType.eIn Then
_CreditChartOfAccounts = _GLCassa.row_VAT.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eOut)
_DebitChartOfAccounts = _GLCassa.LiquidAssets_Cassa.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
Else
_CreditChartOfAccounts = _GLCassa.LiquidAssets_Cassa.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
_DebitChartOfAccounts = _GLCassa.row_VAT.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eIn)
End If
End If
If _GLCassa.row_VAT.InversState = True Then
If _GLCassa.CashMoveType = eCashMoveType.eIn Then
Else
_CreditChartOfAccounts = _GLCassa.row_VAT.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eOut)
_DebitChartOfAccounts = _GLCassa.row_VAT.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eIn)
End If
End If
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, _AmountVATDEV, _
_AmountVATHUF, _GLCassa.LiquidAssets_Cassa, _GLCassa.row_Customer, _GLCassa.DateExecution, _
_GLHeader.row_VAT, _GLHeader.row_NoteRows, _GLCassa.row_UniqueObjects, _GLHeader.row_Controlling, _
_GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _GLCassa.row_CostHolder, _
_GLCassa.row_ConnectInfo, _GLRowsTypeVAT, _GLRowsGUID, _TransactionType, _CashType, _PartnerType)
End If
End If
End If
_ocur.CommitChanges()
'-- Pontozás ellenőrzése GUID alapján ! ----------------------------------------------------------------------------------------------------------------------------------------
Dim _GLRows_Collection As New XPCollection(Of GLRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _ocur.Session, CriteriaOperator.Parse("GLRowsGUID=?", _GLRowsGUID))
Dim _uow_pci As New UnitOfWork(_ocur.Session.DataLayer)
For Each _GLRows In _GLRows_Collection
GLFunctions.ReconfigurePCI(_uow_pci, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
Next
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
'_GLCassa.row_NoteRows = ""
_GLCassa.row_AmountDEV = 0
_GLCassa.row_AmountHUF = 0
_GLCassa.row_PCIGroup = Nothing
_GLCassa.row_Customer = Nothing
_GLCassa.row_ConnectInfo = ""
'_GLCassa.row_ChartOfAccounts = Nothing
_GLCassa.row_AmountDEV2 = 0
_GLCassa.row_CurrencyRate2 = 0
'// Fókusz beállítása !!!!!!!!!!!!!!!!!!!!!!----------------------------------------------------------------
Dim _Action As IModelAction
Dim _IModelActionExtender As IModelActionExtender
For Each _Action In Application.Model.ActionDesign.Actions
If _Action.Id = e.Action.Id Then
_IModelActionExtender = TryCast(_Action, IModelActionExtender)
If _IModelActionExtender IsNot Nothing Then
If String.IsNullOrEmpty(_IModelActionExtender.FocusItem) = False Then
Dim ItemToFocus As ViewItem = TryCast(View, DetailView).FindItem(_IModelActionExtender.FocusItem)
If ItemToFocus IsNot Nothing Then
Dim ItemControl As Object
ItemControl = ItemToFocus.Control
ItemControl.Focus()
End If
End If
End If
Exit For
End If
Next
'--------------------------------------------------------------------------------------------------------
View.Refresh()
End Sub
Private Sub aFinal_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aFinal_GLCassa.Execute
GLCassa_Final(e)
View.Close(False)
End Sub
Private Sub aStorno_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aStorno_GLCassa.Execute
'-- Pénztári bizonylat stornírozása
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLCassa = TryCast(View.SelectedObjects(0), GLCassa)
Dim _GLRows As GLRows
If _GLCassa IsNot Nothing Then
For Each _GLRows In _GLCassa.GLRows
If _GLRows.GLRowsRateDiff IsNot Nothing Then
Throw New Exception("*Nem lehet a sort törölni mert van árfolyam elszámolás !")
Exit Sub
End If
_GLRows.LiquidAssets = _GLCassa.LiquidAssets_Cassa
Next
If _GLCassa.IsStorno = False And _GLCassa.IsEditable = False Then
Dim _IsNegativeDate As Date = _GLCassa.CheckIsNegativeifStorno(_ocur, _GLCassa)
If _IsNegativeDate > #1/1/1980# Then
_ocur.Rollback()
Throw New Exception("*Ezzel a tranzakcióval a pénztár mínuszba menne a következő napon: " & Format(_IsNegativeDate, "yyyy.MM.dd"))
Exit Sub
End If
_GLCassa.IsStorno = True
_GLCassa.TotalInAmountDEV = 0
_GLCassa.TotalInAmountHUF = 0
_GLCassa.TotalOutAmountDEV = 0
_GLCassa.TotalOutAmountHUF = 0
Dim _GLRows_Collection As New XPCollection(Of GLRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _ocur.Session, CriteriaOperator.Parse("GLHeader.Oid=?", _GLCassa.Oid))
_ocur.Delete(_GLRows_Collection)
_ocur.CommitChanges()
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End If
End If
End Sub
Private Sub cs_MasterObjectChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim _GLCassa As GLCassa = TryCast((CType(sender, PropertyCollectionSource)).MasterObject, GLCassa)
If _GLCassa.IsEditable = False Then
Frame.GetController(Of GLCassaVC).aToTable_GLCassa.Active.SetItemValue("", False)
End If
End Sub
Private Sub aMakeEditable_GLCassa_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aMakeEditable_GLCassa.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLCassa As GLCassa = TryCast(View.SelectedObjects(0), GLCassa)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLCassa_IsEditable As GLCassa
If _GLCassa IsNot Nothing Then
_GLCassa_IsEditable = _ocur.FindObject(Of GLCassa)(CriteriaOperator.Parse("IsEditable=True and DocumentNumber<>'' and LiquidAssets_Cassa=?", _GLCassa.LiquidAssets_Cassa), True)
If _GLCassa_IsEditable IsNot Nothing Then
Throw New Exception("*Nem lehet szerkesztésre beállítani, mert van már szerkeszthetésre vissza állított, korábban véglegesített bizonylat. Előbb ezt kell véglegesíteni !")
End If
_GLCassa.IsEditable = True
_ocur.CommitChanges()
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "GLCassa_DetailView", True, _onew.GetObject(_GLCassa))
End If
End Sub
Private Sub aFinalAndNew_GLCassa_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aFinalAndNew_GLCassa.Execute
GLCassa_Final(e)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLCassa_Finalized = _onew.GetObject(TryCast(e.SelectedObjects(0), GLCassa))
Dim _GLCassa As GLCassa = _onew.CreateObject(Of GLCassa)()
_GLCassa.CustomersFrom = _GLCassa_Finalized.CustomersFrom
_GLCassa.LiquidAssets_Cassa = _GLCassa_Finalized.LiquidAssets_Cassa
_GLCassa.CashHandler = _GLCassa_Finalized.CashHandler
_GLCassa.DateExecution = _GLCassa_Finalized.DateExecution
_GLCassa.DateCreated = _GLCassa_Finalized.DateExecution
_GLCassa.DatePayment = _GLCassa_Finalized.DateExecution
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, TryCast(View.Model, Model.IModelDetailView).Id, True, _GLCassa)
e.ShowViewParameters.TargetWindow = TargetWindow.Current
End Sub
#Region "SIS"
Private Sub GLCassa_Final(ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs)
If View.SelectedObjects.Count > 0 Then
Dim _GLCassa As GLCassa = TryCast(e.SelectedObjects(0), GLCassa)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _A As AuditedObjectWeakReference
Dim AuditTrail As XPCollection(Of AuditDataItemPersistent)
Dim _GLRows As GLRows
AuditTrail = AuditedObjectWeakReference.GetAuditTrail(_ocur.Session, _GLCassa)
If _GLCassa Is Nothing Then Exit Sub
If _GLCassa.GLRows.Count <= 0 Then
'Throw New Exception("*Nincs rögzített sor !")
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\GLCassa", "NoGLRows")))
End If
If _GLCassa.DocumentNumber Is Nothing Then _GLCassa.DocumentNumber = ""
If _GLCassa.LiquidAssets_Cassa.NoTimeCheck <> True Then
If _GLCassa.DocumentNumber = "" Then
Dim _GLCassa_Collection As New XPCollection(Of GLCassa)(PersistentCriteriaEvaluationBehavior.InTransaction, _ocur.Session, CriteriaOperator.Parse("LiquidAssets_Cassa=? and CashMoveType=? and DateExecution > ? and IsEditable=False and GetYear(DateExecution)=?", _
_GLCassa.LiquidAssets_Cassa, _GLCassa.CashMoveType, DateAdd(DateInterval.Minute, 1439, _GLCassa.DateExecution.Date), _GLCassa.DateExecution.Date.Year))
If _GLCassa_Collection.Count > 0 Then
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\GLCassa", "DateIsOlderThanLastDate")))
End If
If _GLCassa.DateExecution.Date > GetSQLTime(_ocur.Session).Date Then
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\GLCassa", "DateIsNewerThanNow")))
End If
End If
'--Ellenőrzés, hogy nem megy e mínuszba !
Dim _IsNegativeDate As Date = _GLCassa.CheckIsNegative(_ocur, _GLCassa.LiquidAssets_Cassa, _GLCassa)
If _IsNegativeDate > #1/1/1980# Then
Throw New Exception("*Nem mehet a pénztár mínuszba ! Dátum : " & Format(_IsNegativeDate, "yyyy.MM.dd"))
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\GLCassa", "CassaAmountGoToNegative"), _IsNegativeDate))
End If
End If
If _GLCassa.DocumentNumber = "" And _GLCassa.LiquidAssets_Cassa.NoDocumentNumber <> True Then
Dim _YearString As String = _GLCassa.DateExecution.Year.ToString
If _GLCassa.CashMoveType = eCashMoveType.eIn Then
_GLCassa.DocumentNumber = _GLCassa.LiquidAssets_Cassa.NumberGeneratorIn.GetNewNumber(_GLCassa.LiquidAssets_Cassa.NumberGeneratorIn, _YearString)
Else
_GLCassa.DocumentNumber = _GLCassa.LiquidAssets_Cassa.NumberGeneratorOut.GetNewNumber(_GLCassa.LiquidAssets_Cassa.NumberGeneratorOut, _YearString)
End If
End If
_GLCassa.IsEditable = False
For Each _GLRows In _GLCassa.GLRows
_GLRows.DateVAT = _GLCassa.DateExecution
Next
_ocur.CommitChanges()
'// Az összes sorra vonatkozó pontozás újragenerálása, mert változhat a dátum !
For Each _GLRows In _GLCassa.GLRows
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
Next
If _GLCassa.CurrencyName.ShortName <> "HUF" Then
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
GenerateCurrencyRateAverageStart(_uow, _GLCassa.DateExecution.Year, _GLCassa)
End If
'-- Bizonylat nyomtatása --------------------------------------------------------------------------------------
_GLCassa.RecalculateTotal(_GLCassa, _ocur, True)
_GLCassa.CreateRoundingRow(_GLCassa, _ocur)
_GLCassa.RecalculateTotal(_GLCassa, _ocur, True)
If _GLCassa.LiquidAssets_Cassa.NoPrint = False Then
_GLCassa.PrintCassaDocument(_GLCassa, _ocur, Frame)
End If
'--------------------------------------------------------------------------------------------------------------
Else
'--- !!!!TESZT MIATT!!!! -------------------------------
Throw New Exception("*A kifizetni kívánt összeg meghaladja a kasszában lévőt!!")
End If
End Sub
#End Region
Private Sub aPrintCassaDocument_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aPrintCassaDocument.Execute
Dim _GLCassa As GLCassa
Try
If e.SelectedObjects.Count > 0 Then
_GLCassa = TryCast(e.SelectedObjects.Item(0), GLCassa)
_GLCassa.PrintCassaDocument(_GLCassa, TryCast(View.ObjectSpace, Xpo.XPObjectSpace), Frame)
End If
Catch
End Try
End Sub
Private Sub aRecalculateSelectedGLCassa_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aRecalculateSelectedGLCassa.Execute
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _GLCassa As GLCassa
For Each _GLCassa In e.SelectedObjects
_GLCassa.RecalculateTotal(_GLCassa, _ocur, True)
Next
End Sub
Private Sub aBackToRowEdit_GLCassa_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aBackToRowEdit_GLCassa.Execute
'Visszatölti a sort editáláshoz
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLCassa As GLCassa = TryCast(View.SelectedObjects(0), GLCassa)
Dim _GLRows_ListEditor As ListPropertyEditor
Dim _GLRows As GLRows
Dim _PCIGroup As PCIGroup
Dim _CustomersFrom As CustomersFrom
Dim _Customers As Customers
Dim _PartnerType As ePartnerType
Dim _ConnectInfo As String
_GLRows_ListEditor = TryCast(View, DetailView).FindItem("GLRows")
_GLRows = TryCast(_GLRows_ListEditor.ListView.CurrentObject, GLRows)
If _GLRows IsNot Nothing Then
If _GLRows.GLRowsRateDiff IsNot Nothing Then
Throw New Exception("*Nem lehet a sort törölni mert van árfolyam elszámolás !")
Exit Sub
End If
_GLCassa.row_CurrencyName2 = _ocur.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName=?", _GLCassa.CurrencyName.ShortName))
If _GLRows.CashType = eCashType.eNormal Then
_GLCassa.row_CashType = eCashType.eNormal
If _GLRows.InAmountHUF > 0 Then
_GLCassa.row_ChartOfAccounts = _GLRows.CreditChartOfAccounts
Else
_GLCassa.row_ChartOfAccounts = _GLRows.DebitChartOfAccounts
End If
Else
_GLCassa.row_CashType = eCashType.ePartner
_PCIGroup = _ocur.FindObject(Of PCIGroup) _
(CriteriaOperator.Parse("CustomersFrom=? and Customers=? and PartnerType=? and ConnectInfo=?", _
_GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _
_GLRows.PartnerType, _GLRows.ConnectInfo), True)
_GLCassa.row_PCIGroup = _PCIGroup
If _PCIGroup.CurrencyName_Account IsNot Nothing Then
_GLCassa.row_CurrencyName2 = _ocur.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName=?", _PCIGroup.CurrencyName_Account.ShortName))
If _GLCassa.row_CurrencyName2 Is Nothing Then
_GLCassa.row_CurrencyName2 = _ocur.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName=?", _GLCassa.CurrencyName.ShortName))
End If
End If
End If
_GLCassa.row_Customer = _GLRows.Customer
_GLCassa.row_ConnectInfo = _GLRows.ConnectInfo
If _GLRows.PartnerType = ePartnerType.eReceivables Then 'Vevő
ElseIf _GLRows.PartnerType = ePartnerType.ePayabels Then 'Szállító
ElseIf _GLRows.PartnerType = ePartnerType.eNotSet Then 'Normál
End If
_GLCassa.row_VAT = _GLRows.VAT
If _GLRows.VAT IsNot Nothing Then
If _GLRows.VAT.KeyValue > 0 Then
End If
End If
_GLCassa.row_Controlling = _GLRows.Controlling
_GLCassa.row_CostHolder = _GLRows.CostHolder
_GLCassa.row_CostPlace = _GLRows.CostPlace
_GLCassa.row_JobNumberObjects = _GLRows.JobNumberObjects
_GLCassa.row_UniqueObjects = _GLRows.UniqueObjects
_GLCassa.row_NoteRows = _GLRows.NoteRows
Dim _GLRows_GUID_Collection As New XPCollection(Of GLRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _ocur.Session, CriteriaOperator.Parse("GLRowsGUID=?", _GLRows.GLRowsGUID))
Dim _AmountDEV As Double = 0
Dim _AmountHUF As Double = 0
For Each _GLRows In _GLRows_GUID_Collection
_AmountDEV += _GLRows.AmountDEV
_AmountHUF += _GLRows.AmountHUF
selection.Add(_GLRows)
Next
_GLCassa.row_AmountDEV = _AmountDEV
_GLCassa.row_AmountHUF = _AmountHUF
For i = 0 To selection.Count - 1
_GLRows = TryCast(selection(i), GLRows)
If _GLRows.PartnerType = ePartnerType.ePayabels Or _GLRows.PartnerType = ePartnerType.eReceivables Then
_CustomersFrom = _GLCassa.CustomersFrom
_Customers = _GLRows.Customer
_ConnectInfo = _GLRows.ConnectInfo
_PartnerType = _GLRows.PartnerType
End If
_GLRows.Delete()
_ocur.CommitChanges()
Dim _uow_pci As New UnitOfWork(_ocur.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow_pci, _CustomersFrom, _Customers, _PartnerType, _ConnectInfo)
Next
View.Refresh()
End If
End Sub
Private Sub aToTableD_GLCassa_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTableD_GLCassa.Execute
'Törli a táblázatban lévő sort
Dim _GUID As Guid
Dim _GLCassa As GLCassa = TryCast(View.SelectedObjects(0), GLCassa)
Dim _GLRows_ListEditor As ListPropertyEditor
Dim _GLRows As GLRows
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim i As Long
Dim _CustomersFrom As CustomersFrom = Nothing
Dim _Customers As Customers = Nothing
Dim _PartnerType As ePartnerType
Dim _ConnectInfo As String = ""
_GLRows_ListEditor = TryCast(View, DetailView).FindItem("GLRows")
_GLRows = TryCast(_GLRows_ListEditor.ListView.CurrentObject, GLRows)
If _GLRows.GLRowsRateDiff IsNot Nothing Then
Throw New Exception("*Nem lehet a sort törölni mert van árfolyam elszámolás !")
Exit Sub
End If
If _GLRows IsNot Nothing Then
_GUID = _GLRows.GLRowsGUID
selection.Clear()
For Each _GLRows In _GLCassa.GLRows
If _GLRows.GLRowsGUID = _GUID Then
selection.Add(_GLRows)
End If
Next
For i = 0 To selection.Count - 1
_GLRows = TryCast(selection(i), GLRows)
If _GLRows.PartnerType = ePartnerType.ePayabels Or _GLRows.PartnerType = ePartnerType.eReceivables Then
_CustomersFrom = _GLCassa.CustomersFrom
_Customers = _GLRows.Customer
_ConnectInfo = _GLRows.ConnectInfo
_PartnerType = _GLRows.PartnerType
End If
_GLRows.Delete()
_ocur.CommitChanges()
Dim _uow_pci As New UnitOfWork(_ocur.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow_pci, _CustomersFrom, _Customers, _PartnerType, _ConnectInfo)
Next
View.Refresh()
End If
End Sub
Private Sub aGLCassaDivideRows_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aGLCassaDivideRows.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLRowsDivideH As GLRowsDivideH = _onew.CreateObject(Of GLRowsDivideH)()
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
If _GLRows IsNot Nothing Then
If _GLRows.PartnerType = ePartnerType.ePayabels Or _GLRows.PartnerType = ePartnerType.eReceivables Then
_GLRowsDivideH.GLRows_Oid = _GLRows.Oid
_GLRowsDivideH.row_Customers = _onew.GetObject(_GLRows.Customer)
_GLRowsDivideH.row_PartnerType = _GLRows.PartnerType
e.View = Application.CreateDetailView(_onew, "GLRowsDivideH_DetailView_ConnectionDivide", False, _GLRowsDivideH)
Else
_GLRowsDivideH.GLRows_Oid = _GLRows.Oid
e.View = Application.CreateDetailView(_onew, "GLRowsDivideH_DetailView", False, _GLRowsDivideH)
End If
End If
End Sub
Private Sub aGLCassaDivideRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aGLCassaDivideRows.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRowsDivideH As GLRowsDivideH = TryCast(e.PopupWindow.View.SelectedObjects(0), GLRowsDivideH)
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
If _GLRows IsNot Nothing Then
_GLRows.DivideRows(_ocur, _GLRows, _GLRowsDivideH, True)
End If
End Sub
Private Sub aGenerateGLCassRateDiff_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGenerateGLCassRateDiff.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLCassa As GLCassa = TryCast(e.SelectedObjects(0), GLCassa)
For Each _GLCass In e.SelectedObjects
If Not _GLCassa.CurrencyName.ShortName = "HUF" Then
_GLCassa.Reconfigure_RateDiff(_ocur, _GLCassa)
End If
Next
_ocur.CommitChanges()
View.Refresh()
End Sub
Private Sub GLCassa_DeleteAction_Executed(sender As Object, e As ActionBaseEventArgs)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLCassa As GLCassa
Dim _GLRows As GLRows
Dim _GLRows_Collection As XPCollection(Of GLRows)
For Each _GLCassa In TryCast(e, SimpleActionExecuteEventArgs).SelectedObjects
_GLRows_Collection = New XPCollection(Of GLRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _ocur.Session, CriteriaOperator.Parse("PartnerType<>'eNotSet' and GLHeader.Oid=?", _GLCassa.Oid), True)
For Each _GLRows In _GLRows_Collection
GLFunctions.ReconfigurePCI(_uow, _GLCassa.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
Next
Next
End Sub
Private Sub aImportPCIGroupCassa_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aImportPCIGroupCassa.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _GLCassa As GLCassa = TryCast(View.SelectedObjects(0), GLCassa)
Dim _CollectionSource As CollectionSource = New CollectionSource(_onew, GetType(PCIGroup))
Dim _P As PCIGroup = Nothing
If _GLCassa IsNot Nothing Then
_CollectionSource.Criteria.Clear()
_CollectionSource.BeginUpdateCriteria()
_CollectionSource.Criteria("1") = CriteriaOperator.Parse("CurrencyName_Account.ShortName=?", _GLCassa.LiquidAssets_Cassa.CurrencyName.ShortName)
_CollectionSource.Criteria("2") = CriteriaOperator.Parse("PartnerType=?", _GLCassa.row_PartnerType)
_CollectionSource.Criteria("3") = CriteriaOperator.Parse("CustomersFrom.Oid=?", _GLCassa.CustomersFrom.Oid)
If _GLCassa.LiquidAssets_Cassa.CurrencyName.ShortName = "HUF" Then
_CollectionSource.Criteria("4") = CriteriaOperator.Parse("BallanceHUF>0")
Else
_CollectionSource.Criteria("4") = CriteriaOperator.Parse("BallanceDEV>0")
End If
_CollectionSource.EndUpdateCriteria()
e.View = Application.CreateListView("PCIGroup_ListView_Find", _CollectionSource, True)
End If
End Sub
Private Sub aImportPCIGroupCassa_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aImportPCIGroupCassa.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _PCIGroup As PCIGroup
Dim _PCIGroup_P As PCIGroup
Dim _GLCassa As GLCassa = TryCast(View.SelectedObjects(0), GLCassa)
Dim _GLHeader As GLHeader = TryCast(_GLCassa, GLHeader)
Dim _GLRows As GLRows
Dim _GUID As Guid
Dim _CashType As eCashType
Dim _DebitChartOfAccounts As ChartOfAccounts
Dim _CreditChartOfAccounts As ChartOfAccounts
Dim _TransactionType As eTransactionType
If _GLCassa Is Nothing Then Exit Sub
For Each _PCIGroup_P In e.PopupWindow.View.SelectedObjects
_PCIGroup = _ocur.GetObject(_PCIGroup_P)
_GLRows = _ocur.CreateObject(Of GLRows)()
_GUID = Guid.NewGuid()
_CashType = eCashType.ePartner
If _PCIGroup.PartnerType = ePartnerType.eReceivables Then
_DebitChartOfAccounts = _GLCassa.LiquidAssets_Cassa.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
_CreditChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_GLCassa.DateExecution.Year, eVATMode.eOut)
_TransactionType = eTransactionType.ePartnerCredit
Else
_DebitChartOfAccounts = _PCIGroup.Customers.CustomersGLParameters.GetChartOfAccounts(_PCIGroup.DateExecution_Account.Year, eVATMode.eIn)
_CreditChartOfAccounts = _GLCassa.LiquidAssets_Cassa.GetChartOfAccounts(_GLCassa.DateExecution.Year, 0)
_TransactionType = eTransactionType.ePartnerDebit
End If
Select Case _PCIGroup.PartnerType
Case ePartnerType.eReceivables
_GLRows.CreditAmountHUF = _PCIGroup.BallanceHUF
_GLRows.CreditAmountDEV = _PCIGroup.BallanceDEV
_GLRows.DebitAmountHUF = 0
_GLRows.DebitAmountDEV = 0
_GLRows.InAmountHUF = _PCIGroup.BallanceHUF
_GLRows.InAmountDEV = _PCIGroup.BallanceDEV
Case ePartnerType.ePayabels
_GLRows.DebitAmountHUF = _PCIGroup.BallanceHUF
_GLRows.DebitAmountDEV = _PCIGroup.BallanceDEV
_GLRows.CreditAmountDEV = 0
_GLRows.CreditAmountDEV = 0
_GLRows.OutAmountHUF = _PCIGroup.BallanceHUF
_GLRows.OutAmountDEV = _PCIGroup.BallanceDEV
End Select
_GLRows.PartnerType = _PCIGroup.PartnerType
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, _
_PCIGroup.BallanceDEV, _PCIGroup.BallanceHUF, _GLCassa.LiquidAssets_Cassa, _
_PCIGroup.Customers, _GLHeader.row_DateVAT, _GLHeader.row_VAT, _
_GLHeader.row_NoteRows, _GLHeader.row_UniqueObjects, _GLHeader.row_Controlling, _
_GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _GLHeader.row_CostHolder, _
_PCIGroup.ConnectInfo, eGLRowsTypeVAT.eNettoRow, _GUID, _
_TransactionType, _CashType, _PCIGroup.PartnerType)
_GLCassa.GetBallanceDEV(_GLCassa.row_LiquidAssets, _GLCassa.DateExecution)
_GLCassa.GetBallanceHUF(_GLCassa.row_LiquidAssets, _GLCassa.DateExecution)
_ocur.CommitChanges()
'--- Pontozás ellenőrzése !!!! ----------------------------------------------------------------------------------------------------------------
Dim _uow_pci As New UnitOfWork(_ocur.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow_pci, _GLCassa.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
Next
End Sub
Private Sub aGetCurrencyRateCassa_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGetCurrencyRateCassa.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLCassa As GLCassa = TryCast(View.SelectedObjects(0), GLCassa)
Dim _TransactionType As eTransactionType
If _GLCassa IsNot Nothing Then
If _GLCassa.CashMoveType = eCashMoveType.eIn Then
_TransactionType = eTransactionType.eNormalCredit
ElseIf _GLCassa.CashMoveType = eCashMoveType.eOut Then
_TransactionType = eTransactionType.eNormalDebit
Else
_TransactionType = eTransactionType.eNotSet
End If
_GLCassa.row_CurrencyRate = _GLCassa.LiquidAssets_Cassa.GetCurrencyRateDate(_ocur, _TransactionType, _GLCassa.LiquidAssets_Cassa, _GLCassa.DateExecution)
End If
End Sub
Private Sub GenerateCurrencyRateAverageStart(_uow As UnitOfWork, _Year As Long, _GLCassa As GLCassa)
Dim _GLRows_Collection As New XPCollection(Of GLRows) _
(PersistentCriteriaEvaluationBehavior.InTransaction, _uow, _
CriteriaOperator.Parse("LiquidAssets.Oid=? and GLHeader.IsEditable=False and GetDate(GLHeader.DateExecution)>=?", _
_GLCassa.LiquidAssets_Cassa.Oid, New Date(_Year, 1, 1)))
Dim _GLRows As GLRows
Dim _SumAmountDEV As Double = 0
Dim _SumAmountHUF As Double = 0
Dim _LiquidAssetsRate As LiquidAssetsRate = _uow.FindObject(Of LiquidAssetsRate)(CriteriaOperator.Parse("LiquidAssets.oid=? and GetYear(DateExecution)=?", _
_GLCassa.LiquidAssets_Cassa.Oid, _
_Year))
If _LiquidAssetsRate IsNot Nothing Then
_SumAmountDEV = _LiquidAssetsRate.AmountDEV
_SumAmountHUF = _LiquidAssetsRate.AmountHUF
Else
'// HA NINCS BEÁLLÍTVA AKKOR NEM FUT LE !"
Exit Sub
End If
_GLRows_Collection.Sorting.Add(New SortProperty("GetDate(GLHeader.DateExecution)", DB.SortingDirection.Ascending))
_GLRows_Collection.Sorting.Add(New SortProperty("InAmountDEV", DB.SortingDirection.Descending))
'RaiseEvent InitWork(1, 1, _GLRows_Collection.Count)
'For Each _GLRows In _GLRows_Collection
' '// A deviza a fix és az MNB árfolyammal újra kell számolni mindent
' RaiseEvent DoWork()
' If _GLRows.InAmountDEV > 0 Then
' Dim _CurrencyRate_MNB_Collection = New XPCollection(Of CurrencyRate) _
' (_uow, CriteriaOperator.Parse("CurrencyName.ShortName=? and IsMNB=True and GetDate(DateValid)<=?", _
' _GLCassa.LiquidAssets_Cassa.CurrencyName.ShortName, _GLRows.GLHeader.DateExecution.Date))
' _CurrencyRate_MNB_Collection.Sorting.Add(New SortProperty("DateValid", DB.SortingDirection.Descending))
' If _CurrencyRate_MNB_Collection.Count > 0 Then
' For Each _CurrencyRate_MNB In _CurrencyRate_MNB_Collection
' If _CurrencyRate_MNB.DateValid.Date = _GLRows.GLHeader.DateExecution.Date Then
' _GLRows.InAmountHUF = Math.Round(_CurrencyRate_MNB.RateAverage * _GLRows.InAmountDEV, 4, MidpointRounding.AwayFromZero)
' _GLRows.AmountHUF = _GLRows.InAmountHUF
' Exit For
' End If
' Next
' End If
' End If
'Next
'RaiseEvent FinalWork
'_uow.CommitChanges()
_GLRows_Collection = New XPCollection(Of GLRows) _
(PersistentCriteriaEvaluationBehavior.InTransaction, _uow, _
CriteriaOperator.Parse("LiquidAssets.Oid=? and GLHeader.IsEditable=False and GetDate(GLHeader.DateExecution)>=?", _
_GLCassa.LiquidAssets_Cassa.Oid, New Date(_Year, 1, 1)))
_GLRows_Collection.Sorting.Add(New SortProperty("GLHeader.DateExecution", DB.SortingDirection.Ascending))
RaiseEvent InitWork(1, 1, _GLRows_Collection.Count)
For Each _GLRows In _GLRows_Collection
RaiseEvent DoWork()
'// Árfolyamok helyrerakása
If _GLRows.OutAmountDEV > 0 Then
If _SumAmountDEV <> 0 Then
_GLRows.OutAmountHUF = Math.Round(_GLRows.OutAmountDEV * (_SumAmountHUF / _SumAmountDEV), 4, MidpointRounding.AwayFromZero)
_GLRows.AmountHUF = _GLRows.OutAmountHUF
_GLRows.Save()
_uow.CommitChanges()
If _GLRows.PartnerType <> ePartnerType.eNotSet Then
GLFunctions.ReconfigurePCI(_uow, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
_uow.CommitChanges()
End If
Else
Dim _CurrencyRate_MNB_Collection = New XPCollection(Of CurrencyRate) _
(_uow, CriteriaOperator.Parse("CurrencyName.ShortName=? and IsMNB=True and GetDate(DateValid)<=?", _
_GLCassa.LiquidAssets_Cassa.CurrencyName.ShortName, _GLRows.GLHeader.DateExecution.Date))
_CurrencyRate_MNB_Collection.Sorting.Add(New SortProperty("DateValid", DB.SortingDirection.Descending))
If _CurrencyRate_MNB_Collection.Count > 0 Then
For Each _CurrencyRate_MNB In _CurrencyRate_MNB_Collection
If _CurrencyRate_MNB.DateValid.Date = _GLRows.GLHeader.DateExecution.Date Then
_GLRows.OutAmountHUF = Math.Round(_CurrencyRate_MNB.RateAverage * _GLRows.OutAmountDEV, 4, MidpointRounding.AwayFromZero)
_GLRows.AmountHUF = _GLRows.OutAmountHUF
_GLRows.Save()
_uow.CommitChanges()
If _GLRows.PartnerType <> ePartnerType.eNotSet Then
GLFunctions.ReconfigurePCI(_uow, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
_uow.CommitChanges()
End If
Exit For
End If
Next
End If
End If
_SumAmountDEV -= Math.Round(_GLRows.OutAmountDEV, 4, MidpointRounding.AwayFromZero)
_SumAmountHUF -= Math.Round(_GLRows.OutAmountHUF, 4, MidpointRounding.AwayFromZero)
If _SumAmountDEV < 0 Then _SumAmountDEV = 0
If _SumAmountHUF < 0 Then _SumAmountHUF = 0
Else
_SumAmountDEV += Math.Round(_GLRows.InAmountDEV, 4, MidpointRounding.AwayFromZero)
_SumAmountHUF += Math.Round(_GLRows.InAmountHUF, 4, MidpointRounding.AwayFromZero)
End If
Next
_uow.CommitChanges()
RaiseEvent FinalWork
End Sub
Private Sub aGLCassaGenerateDocumentNumber_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aGLCassaGenerateDocumentNumber.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLCassa_Collection As New XPCollection(Of GLCassa)(_ocur.Session, CriteriaOperator.Parse("IsEditable=False AND (DocumentNumber='' OR isnull(DocumentNumber)=true)"))
If _GLCassa_Collection.Count > 0 Then
_GLCassa_Collection.Sorting.Add(New SortProperty("DateExecution", DB.SortingDirection.Ascending))
RaiseEvent InitWork(1, 1, _GLCassa_Collection.Count)
For Each _GLCassa As GLCassa In _GLCassa_Collection
Dim _YearString As String = _GLCassa.DateExecution.Year.ToString
RaiseEvent DoWork()
If _GLCassa.CashMoveType = eCashMoveType.eIn Then
_GLCassa.DocumentNumber = _GLCassa.LiquidAssets_Cassa.NumberGeneratorIn.GetNewNumber(_GLCassa.LiquidAssets_Cassa.NumberGeneratorIn, _YearString)
Else
_GLCassa.DocumentNumber = _GLCassa.LiquidAssets_Cassa.NumberGeneratorOut.GetNewNumber(_GLCassa.LiquidAssets_Cassa.NumberGeneratorOut, _YearString)
End If
Next
_ocur.CommitChanges()
RaiseEvent FinalWork
End If
End Sub
End Class