Files
Nuvolar/Nuvolar.Module/BusinessObjects/Financial/FinancialObjects/FinancialTransactions/Accounts/GLAccountsVC.vb
T
2017-03-08 11:21:27 +01:00

1269 lines
75 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.Data.Filtering
Imports DevExpress.Xpo
Imports System.Data.SqlClient
Imports System.Configuration
Imports DevExpress.ExpressApp.Editors
Imports System.Linq
Imports System.Linq.Expressions
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.Model
Imports DevExpress.ExpressApp.Utils
Public Class GLAccountsVC
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
Sub DisableAll()
Frame.GetController(Of GLAccountsVC).aMakeEditable_GLAccounts.Active.SetItemValue("", False)
Frame.GetController(Of GLAccountsVC).aToTable_GLAccounts.Active.SetItemValue("", False)
Frame.GetController(Of GLAccountsVC).aToTableD_GLAccounts.Active.SetItemValue("", False)
Frame.GetController(Of GLAccountsVC).aBackToRowEdit_GLAccounts.Active.SetItemValue("", False)
Frame.GetController(Of GLAccountsVC).aFinal_GLAccounts.Active.SetItemValue("", False)
Frame.GetController(Of GLAccountsVC).aFinalAndNew_GLAccounts.Active.SetItemValue("", False)
Frame.GetController(Of GLAccountsVC).aViewPCIDW_GLAccounts.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ModificationsController).Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController).Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
Frame.GetController(Of GLAccountsVC).aGetRegistryNumber_GLAccounts.Active.SetItemValue("", False)
Frame.GetController(Of GLAccountsVC).aPCICheckGLAccounts.Active.SetItemValue("", False)
Frame.GetController(Of GLAccountsVC).aCloneGLAccounts.Active.SetItemValue("", False)
If View.Id = "GLAccounts_DetailView" Then
DisableAll()
Dim _GLRows As GLRows
Dim _GLAccounts As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
AddHandler _GLAccounts.Changed, AddressOf GLAccounts_Changed
For Each _GLRows In _GLAccounts.GLRows
_GLAccounts.row_ConnectInfo = _GLRows.ConnectInfo
_GLAccounts.row_Customer = _GLRows.Customer
_GLAccounts.row_DateVAT = _GLRows.DateVAT
Exit For
Next
If _GLAccounts Is Nothing Then
Else
If _GLAccounts.IsEditable = True And _GLAccounts.IsStorno = False Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ModificationsController).Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aToTable_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aToTableD_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aBackToRowEdit_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aFinal_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aFinalAndNew_GLAccounts.Active.SetItemValue("", True)
If _GLAccounts.RegistryNumber = "" Then
Frame.GetController(Of GLAccountsVC).aGetRegistryNumber_GLAccounts.Active.SetItemValue("", True)
End If
ElseIf _GLAccounts.IsEditable = False And _GLAccounts.IsStorno = False Then
Frame.GetController(Of GLAccountsVC).aMakeEditable_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aGetRegistryNumber_GLAccounts.Active.SetItemValue("", False)
End If
End If
End If
If View.Id = "GLAccounts_ListView_Editable" Then
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False) 'Akkor sem klónozható a gyári cloneactionnal, ha még szerkeszthető?
Frame.GetController(Of GLAccountsVC).aMakeEditable_GLAccounts.Active.SetItemValue("", False)
End If
If View.Id = "Vivaldi_GLAccounts_ListView" Or View.Id = "Corner_GLAccounts_ListView" Then
Frame.GetController(Of GLAccountsVC).aMakeEditable_GLAccounts.Active.SetItemValue("", False)
End If
If View.Id = "GLAccounts_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of GLAccountsVC).aViewPCIDW_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aPCICheckGLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aCloneGLAccounts.Active.SetItemValue("", True)
End If
'------------------- LISTVIEW -----------------------------------------------------------------------------------------------------
If View.Id Like "GLHeader_GLRows_ListView_Accounts" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
End If
If View.Id = "GLAccounts_ListView_Deleted" Then
Frame.GetController(Of GLAccountsVC).aMakeEditable_GLAccounts.Active.SetItemValue("", False)
If TryCast(View, ListView) IsNot Nothing Then
If TryCast(View, ListView).CollectionSource IsNot Nothing Then
If TryCast(View, ListView).CollectionSource.Collection IsNot Nothing Then
If TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection) IsNot Nothing Then
If TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection IsNot Nothing Then
If TryCast(TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection, XPCollection) IsNot Nothing Then
TryCast(TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection, XPCollection).SelectDeleted = True
End If
End If
End If
End If
End If
End If
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
Frame.GetController(Of GLAccountsVC).aMakeEditable_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aToTable_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aToTableD_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aBackToRowEdit_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aFinal_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aFinalAndNew_GLAccounts.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ModificationsController).Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController).Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of GLAccountsVC).aCloneGLAccounts.Active.SetItemValue("", False)
If View.Id = "GLAccounts_DetailView" Then
Dim _GLAccounts As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
RemoveHandler _GLAccounts.Changed, AddressOf GLAccounts_Changed
End If
End Sub
Sub GLAccounts_Changed(sender As Object, e As DevExpress.Xpo.ObjectChangeEventArgs)
If e.PropertyName = "CurrencyRate" Then
Dim _GLAccounts As GLAccounts = TryCast(sender, GLAccounts)
_GLAccounts.CurrencyRateVAT = e.NewValue
End If
End Sub
Private Sub aToTable_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTable_GLAccounts.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLAccounts As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
Dim _GLHeader As GLHeader = TryCast(View.SelectedObjects(0), GLHeader)
Dim _GLRows As GLRows
Dim _NettoHUF As Double = 0
Dim _NettoDEV As Double = 0
Dim _BruttoHUF As Double = 0
Dim _VATHUF As Double = 0
Dim _VATDEV As Double = 0
Dim _BruttoDEV As Double
Dim _GUID As Guid = Guid.NewGuid
If _GLAccounts IsNot Nothing Then
' -- PartnerType vizsgálata majd ez alapján a főkönyvi tartozik/kövezel beállítása ------------------------
If _GLAccounts.PartnerType = ePartnerType.eReceivables Then
_GLAccounts.PartnerType = ePartnerType.eReceivables
_GLHeader.row_CreditChartOfAccounts = _GLAccounts.row_ChartOfAccounts
_GLHeader.row_DebitChartOfAccounts = _GLAccounts.Customers.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eOut)
Else
_GLAccounts.PartnerType = ePartnerType.ePayabels
_GLHeader.row_CreditChartOfAccounts = _GLAccounts.Customers.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eIn)
_GLHeader.row_DebitChartOfAccounts = _GLAccounts.row_ChartOfAccounts
End If
' -- Deviza vizsgálat, ha nem Forint akkor átváltja ---------------------------------------------------------
If _GLHeader.CurrencyName.ShortName = "HUF" Then
_BruttoHUF = _GLHeader.row_AmountHUF
If _GLAccounts.row_VAT IsNot Nothing Then
If _GLAccounts.row_VAT.InversState = True Then
_VATHUF = Math.Round(_BruttoHUF * _GLHeader.row_VAT.InversKeyValue, 0, MidpointRounding.AwayFromZero)
_NettoHUF = _BruttoHUF
_BruttoHUF = _NettoHUF + _VATHUF
Else
_VATHUF = Math.Round(_BruttoHUF / (1 + _GLHeader.row_VAT.KeyValue) * _GLHeader.row_VAT.KeyValue, 0, MidpointRounding.AwayFromZero)
_NettoHUF = _BruttoHUF - _VATHUF
End If
Else
_VATHUF = 0
_NettoHUF = _BruttoHUF - _VATHUF
End If
Else
_BruttoDEV = _GLHeader.row_AmountDEV
If _GLAccounts.row_VAT IsNot Nothing Then
If _GLAccounts.row_VAT.InversState = True Then
_VATDEV = Math.Round(_BruttoDEV * _GLHeader.row_VAT.InversKeyValue, 2, MidpointRounding.AwayFromZero)
_NettoDEV = _BruttoDEV
_BruttoDEV = _NettoDEV + _VATDEV
Else
_VATDEV = Math.Round(_BruttoDEV / (1 + _GLHeader.row_VAT.KeyValue) * _GLHeader.row_VAT.KeyValue, 2, MidpointRounding.AwayFromZero)
_NettoDEV = _BruttoDEV - _VATDEV
End If
Else
_VATDEV = 0
_NettoDEV = _BruttoDEV - _VATDEV
End If
_VATHUF = Math.Round(_VATDEV * _GLAccounts.CurrencyRateVAT, 0, MidpointRounding.AwayFromZero)
_NettoHUF = Math.Round(_NettoDEV * _GLHeader.CurrencyRate, 0, MidpointRounding.AwayFromZero)
_BruttoHUF = _NettoHUF + _VATHUF
End If
' -- ÁFA vizsgálata --------------------------------------------------------------------------------------------
' -- Létrehoz egy sort a nettó összegre ------------------------------------------------------------------------------------------
_GLRows = _ocur.CreateObject(Of GLRows)()
_GLRows.PartnerType = _GLAccounts.PartnerType
If _GLRows.PartnerType = ePartnerType.eReceivables Then
_GLRows.DebitAmountHUF = _NettoHUF
_GLRows.DebitAmountDEV = _NettoDEV
Else
_GLRows.CreditAmountHUF = _NettoHUF
_GLRows.CreditAmountDEV = _NettoDEV
End If
_GLRows.AddGLRows(_GLHeader, _GLHeader.row_DebitChartOfAccounts, _GLHeader.row_CreditChartOfAccounts, _
_NettoDEV, _NettoHUF, _GLHeader.row_LiquidAssets, _
_GLAccounts.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, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eNettoRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
'-- Létrehoz egy sort az ÁFÁ-ra ---------------------------------------------------------------------------------------------------
If _GLAccounts.row_VAT IsNot Nothing Then
If _GLAccounts.row_VAT IsNot Nothing Then
If _GLAccounts.PartnerType = ePartnerType.eReceivables Then
_GLHeader.row_CreditChartOfAccounts = _GLAccounts.row_VAT.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eOut)
_GLHeader.row_DebitChartOfAccounts = _GLAccounts.Customers.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eOut)
Else
_GLHeader.row_CreditChartOfAccounts = _GLAccounts.Customers.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eIn)
_GLHeader.row_DebitChartOfAccounts = _GLAccounts.row_VAT.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eIn)
End If
End If
If _GLAccounts.row_VAT.InversState = True Then
If _GLAccounts.PartnerType = ePartnerType.eReceivables Then
Else
_GLHeader.row_CreditChartOfAccounts = _GLAccounts.row_VAT.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eOut)
_GLHeader.row_DebitChartOfAccounts = _GLAccounts.row_VAT.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eIn)
End If
End If
_GLRows = _ocur.CreateObject(Of GLRows)()
_GLRows.PartnerType = _GLAccounts.PartnerType
If _GLRows.PartnerType = ePartnerType.eReceivables Then
_GLRows.DebitAmountHUF = _VATHUF
_GLRows.DebitAmountDEV = _VATDEV
Else
_GLRows.CreditAmountHUF = _VATHUF
_GLRows.CreditAmountDEV = _VATDEV
End If
_GLRows.AddGLRows(_GLHeader, _GLHeader.row_DebitChartOfAccounts, _GLHeader.row_CreditChartOfAccounts, _
_VATDEV, _VATHUF, _GLHeader.row_LiquidAssets, _
_GLAccounts.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, _GLHeader.row_ConnectInfo, _
eGLRowsTypeVAT.eVATRow, _GUID, eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
End If
_ocur.CommitChanges()
'// 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 If
End Sub
Private Sub aFinal_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aFinal_GLAccounts.Execute
GLAccounts_Final(e)
View.Close(False)
End Sub
Private Sub aMakeEditable_GLAccounts_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aMakeEditable_GLAccounts.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _Van As Boolean = False
Dim _GLAccounts As GLAccounts = View.SelectedObjects(0)
If _GLAccounts IsNot Nothing Then
If _GLAccounts.PartnerType = ePartnerType.eReceivables Then
If _GLAccounts.ImportedInvoice Is Nothing Then
_GLAccounts.IsEditable = True
End If
End If
If _GLAccounts.PartnerType = ePartnerType.ePayabels Then
If _GLAccounts.ImportedRegistryHeader IsNot Nothing And _GLAccounts.IsRegistry = False Then
Else
_GLAccounts.IsEditable = True
End If
End If
_ocur.CommitChanges()
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "GLAccounts_DetailView", True, _onew.GetObject(_GLAccounts))
End If
End Sub
Private Sub aFinalAndNew_GLAccounts_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aFinalAndNew_GLAccounts.Execute
GLAccounts_Final(e)
Dim _GLAccounts_Old As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLAccounts As GLAccounts = _onew.CreateObject(Of GLAccounts)()
If _GLAccounts_Old IsNot Nothing Then
_GLAccounts.PartnerType = _GLAccounts_Old.PartnerType
End If
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, TryCast(View.Model, Model.IModelDetailView).Id, True, _GLAccounts)
e.ShowViewParameters.TargetWindow = TargetWindow.Current
End Sub
#Region "SIS"
Private Sub GLAccounts_Final(ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _RegistryHeader As RegistryHeader = Nothing
Dim _GLRows As GLRows
If View.SelectedObjects.Count > 0 Then
Dim _GLAccounts As GLAccounts = TryCast(e.SelectedObjects(0), GLAccounts)
For Each _GLAccounts In e.SelectedObjects
If _GLAccounts.CurrencyName.ShortName <> "HUF" Then
If _GLAccounts.CurrencyRate <= 1 Then
Throw New Exception("*Nincs megadva az árfolyam !")
End If
If _GLAccounts.PartnerType = ePartnerType.ePayabels Then
If _GLAccounts.CurrencyRateVAT <= 1 Then
Throw New Exception("*Nincs megadva az ÁFA árfolyam !")
End If
End If
End If
If _GLAccounts.GLRows.Count <= 0 Then
Throw New Exception("*Nincs rögzített sor !")
End If
_GLAccounts.IsEditable = False
For Each _GLRows In _GLAccounts.GLRows
_GLRows.ConnectInfo = _GLAccounts.row_ConnectInfo
_GLRows.DateVAT = _GLAccounts.row_DateVAT
If _GLRows.GLHeader.CurrencyName.ShortName <> "HUF" Then
If _GLAccounts.PartnerType = ePartnerType.ePayabels Then
If _GLRows.GLRowsTypeVAT <> eGLRowsTypeVAT.eVATRow Then
_GLRows.AmountHUF = Math.Round(Math.Round(_GLAccounts.CurrencyRate, 2, MidpointRounding.AwayFromZero) * Math.Round(_GLRows.AmountDEV, 2, MidpointRounding.AwayFromZero), 0, MidpointRounding.AwayFromZero)
End If
If _GLRows.GLRowsTypeVAT = eGLRowsTypeVAT.eVATRow Then
_GLRows.AmountHUF = Math.Round(Math.Round(_GLAccounts.CurrencyRateVAT, 2, MidpointRounding.AwayFromZero) * Math.Round(_GLRows.AmountDEV, 2, MidpointRounding.AwayFromZero), 0, MidpointRounding.AwayFromZero)
End If
Else
_GLRows.AmountHUF = Math.Round(Math.Round(_GLAccounts.CurrencyRate, 2, MidpointRounding.AwayFromZero) * Math.Round(_GLRows.AmountDEV, 2, MidpointRounding.AwayFromZero), 0, MidpointRounding.AwayFromZero)
End If
End If
Next
_GLAccounts.RecalculateTotal()
If _GLAccounts.IsRegistry Then
If _GLAccounts.ImportedRegistryHeader IsNot Nothing Then
_RegistryHeader = _GLAccounts.ImportedRegistryHeader
End If
_RegistryHeader = _GLAccounts.CreateRegistry(_ocur, _RegistryHeader)
If _RegistryHeader IsNot Nothing Then
_GLAccounts.RegistryNumber = _RegistryHeader.RegistryNumber
_GLAccounts.ImportedRegistryHeader = _RegistryHeader
_RegistryHeader.F_GLAccounts = _GLAccounts
End If
End If
If _GLAccounts.IsControlling_InCash Then
'// Vegyes könyveléssel egy pénzügyi sor könyvelése !
Update_InCash_Mixed(_ocur, _GLAccounts)
End If
_ocur.CommitChanges()
GLFunctions.ReconfigurePCI(_uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, _GLAccounts.PartnerType, _GLAccounts.ConnectInfo)
Next
_ocur.CommitChanges()
End If
End Sub
Private Sub Update_InCash_Mixed(_ocur As Xpo.XPObjectSpace, _GLAccounts As GLAccounts)
'Beállítja a kp. számláknál a pénztári fizetést is egy vegyes bizonylattal
Dim _GLMixed As GLMixed = _ocur.CreateObject(Of GLMixed)()
Dim _GLRows As GLRows = Nothing
Dim _DebitChartOfAccounts As ChartOfAccounts = Nothing
Dim _CreditChartOfAccounts As ChartOfAccounts = Nothing
If _GLAccounts.GLMixed_InCash IsNot Nothing Then
_ocur.Delete(_GLAccounts.GLMixed_InCash.GLRows)
_ocur.Delete(_GLAccounts.GLMixed_InCash)
End If
_GLMixed.DateCreated = _GLAccounts.DateCreated
_GLMixed.CustomersFrom = _GLAccounts.CustomersFrom
_GLMixed.DateExecution = _GLAccounts.DateExecution
_GLMixed.DocumentNumber = _GLAccounts.DocumentNumber & "#PAY"
_GLMixed.IsEditable = False
_GLMixed.DatePayment = _GLAccounts.DatePayment
_GLRows = _ocur.CreateObject(Of GLRows)()
_GLRows.GLHeader = TryCast(_GLMixed, GLHeader)
_GLRows.AmountHUF = _GLAccounts.AmountHUFBrutto
_GLRows.AmountDEV = _GLAccounts.AmountDEVBrutto
_GLRows.Customer = _GLAccounts.Customers
_GLRows.ConnectInfo = _GLAccounts.ConnectInfo
_GLRows.PartnerType = _GLAccounts.PartnerType
If _GLAccounts.PartnerType = ePartnerType.eReceivables Then
_CreditChartOfAccounts = _GLAccounts.Customers.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eOut)
_DebitChartOfAccounts = _GLAccounts.Controlling_InCash.GetChartOfAccounts(_GLAccounts.DateExecution.Year, False)
_GLRows.InAmountHUF = _GLRows.AmountHUF
_GLRows.InAmountDEV = _GLRows.AmountDEV
ElseIf _GLAccounts.PartnerType = ePartnerType.ePayabels Then
_DebitChartOfAccounts = _GLAccounts.Customers.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eIn)
_CreditChartOfAccounts = _GLAccounts.Controlling_InCash.GetChartOfAccounts(_GLAccounts.DateExecution.Year, False)
_GLRows.OutAmountHUF = _GLRows.AmountHUF
_GLRows.OutAmountDEV = _GLRows.AmountDEV
End If
_GLRows.DebitChartOfAccounts = _DebitChartOfAccounts
_GLRows.CreditChartOfAccounts = _CreditChartOfAccounts
_GLAccounts.GLMixed_InCash = _GLMixed
End Sub
#End Region
Private Sub aToTableD_GLAccounts_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTableD_GLAccounts.Execute
'Törli a táblázatban lévő sort
Dim _GUID As Guid
Dim _GLAccounts As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
Dim _GLRows_ListEditor As ListPropertyEditor
Dim _GLRows As GLRows
Dim i As Long
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
_GLRows_ListEditor = TryCast(View, DetailView).FindItem("GLRows")
_GLRows = TryCast(_GLRows_ListEditor.ListView.CurrentObject, GLRows)
If _GLRows IsNot Nothing Then
_GUID = _GLRows.GLRowsGUID
selection.Clear()
For Each _GLRows In _GLAccounts.GLRows
If _GLRows.GLRowsGUID = _GUID Then
selection.Add(_GLRows)
End If
Next
For i = 0 To selection.Count - 1
_GLRows = TryCast(selection(i), GLRows)
_GLRows.Delete()
Next
_ocur.CommitChanges()
View.Refresh()
End If
End Sub
Private Sub aImportReceivables_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aImportReceivables.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _InvoiceHeader As InvoiceHeader
Dim _InvoiceVATRows As InvoiceVATRows
Dim _GLRows As GLRows
Dim _GLAccounts As GLAccounts
For Each _InvoiceHeader In View.SelectedObjects
_GLRows = _ocur.FindObject(Of GLRows)(CriteriaOperator.Parse("GLHeader.CustomersFrom=? and Customers=? and GLHeader.DocumentNumber=? and PartnerType=0", _
_InvoiceHeader.CustomersFrom, _InvoiceHeader.Customers, _InvoiceHeader.DocumentNumber), True)
If _GLRows Is Nothing Then
_GLAccounts = _ocur.CreateObject(Of GLAccounts)()
'-- ÁFA sorok könyvelése
For Each _InvoiceVATRows In _InvoiceHeader.InvoiceVATRows
Next
'-- Nettó sorok könyvleése LINQ-kel !!!
Dim invoices = New XPQuery(Of InvoiceRows)(_ocur.Session)
Dim query = From invoice In invoices Where invoice.InvoiceHeader.Oid = _InvoiceHeader.Oid _
Group invoice By invoice.Controlling, invoice.CostHolder, invoice.UniqueObjects, _
invoice.JobNumberObjects, invoice.Controlling.ChartOfAccounts Into g = Group _
Select New With {Key .Controlling = Controlling,
Key .CostHolder = CostHolder,
Key .UniqueObjects = UniqueObjects,
Key .JobNumberObjects = JobNumberObjects,
Key .AmountNettoHUF = g.Sum(Function(inv) (inv.ListPriceHUF - inv.DiscountPriceHUF) * inv.QTT), _
Key .AmountNettoDEV = g.Sum(Function(inv) (inv.ListPriceDEV - inv.DiscountPriceDEV) * inv.QTT)}
For Each item In query
Next
End If
Next
End Sub
Private Sub aBackToRowEdit_GLAccounts_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aBackToRowEdit_GLAccounts.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLAccounts As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
Dim _GLRows_ListEditor As ListPropertyEditor
Dim _GLRows As GLRows
Dim _GUID As Guid
_GLRows_ListEditor = TryCast(View, DetailView).FindItem("GLRows")
_GLRows = TryCast(_GLRows_ListEditor.ListView.CurrentObject, GLRows)
_GUID = _GLRows.GLRowsGUID
_GLRows.GLRowsTypeVAT = eGLRowsTypeVAT.eNettoRow
If _GLRows IsNot Nothing Then
_GLRows = _ocur.FindObject(Of GLRows)(CriteriaOperator.Parse("GLRowsGUID=? and GLRowsTypeVAT=0", _GUID))
If _GLRows IsNot Nothing Then
If _GLRows.PartnerType = ePartnerType.ePayabels Then
_GLAccounts.row_ChartOfAccounts = _GLRows.DebitChartOfAccounts
Else
_GLAccounts.row_ChartOfAccounts = _GLRows.CreditChartOfAccounts
End If
_GLAccounts.row_UniqueObjects = _GLRows.UniqueObjects
_GLAccounts.row_CostHolder = _GLRows.CostHolder
_GLAccounts.row_CostPlace = _GLRows.CostPlace
_GLAccounts.row_Controlling = _GLRows.Controlling
_GLAccounts.row_NoteRows = _GLRows.NoteRows
_GLAccounts.row_VAT = _GLRows.VAT
_GLAccounts.row_ConnectInfo = _GLAccounts.ConnectInfo
Dim _GLRows_Collection As New XPCollection(Of GLRows)(_ocur.Session, CriteriaOperator.Parse("GLRowsGUID=?", _GUID))
_GLAccounts.row_AmountDEV = 0
_GLAccounts.row_AmountHUF = 0
For Each _GLRows In _GLRows_Collection
_GLAccounts.row_AmountDEV += _GLRows.AmountDEV
Next
For Each _GLRows In _GLRows_Collection
_GLAccounts.row_AmountHUF += _GLRows.AmountHUF
Next
View.Refresh()
End If
End If
End Sub
Private Sub aViewPCIDW_GLAccounts_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewPCIDW_GLAccounts.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLAccounts As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
If _GLAccounts IsNot Nothing Then
ViewPDCI.ViewPDCIDetail(_onew, Application, e, _GLAccounts.CustomersFrom, _
_GLAccounts.Customers, _GLAccounts.PartnerType, _
_GLAccounts.DocumentNumber)
End If
End Sub
Private Sub aGetRegistryNumber_GLAccounts_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGetRegistryNumber_GLAccounts.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLAccounts As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
Dim _RegistryHeader As RegistryHeader
If _GLAccounts IsNot Nothing Then
If _GLAccounts.RegistryNumber = "" Then
_GLAccounts.RecalculateTotal()
If _GLAccounts.AmountHUFBrutto <> 0 Then
_RegistryHeader = _GLAccounts.CreateRegistry(_ocur, _RegistryHeader)
If _RegistryHeader IsNot Nothing Then
_GLAccounts.RegistryNumber = _RegistryHeader.RegistryNumber
_GLAccounts.ImportedRegistryHeader = _RegistryHeader
_RegistryHeader.F_GLAccounts = _GLAccounts
End If
End If
_ocur.CommitChanges()
Else
Throw New Exception("*0 összeggel nem lehet iktatni !")
End If
End If
End Sub
Private Sub aOpenAccountsPdf_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aOpenAccountsPdf.Execute
If View.SelectedObjects.Count > 0 Then
Try
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _GLAccounts As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
If _GLAccounts.DocumentFile Is Nothing Then
If _GLAccounts.ImportedInvoice IsNot Nothing Then
ViewAttachments.ViewAttachments(_ocur, Frame, _GLAccounts.ImportedInvoice.CustomersFrom, _GLAccounts.ImportedInvoice.Customers, _GLAccounts.ImportedInvoice.DocumentNumber, "")
ElseIf _GLAccounts.ImportedRegistryHeader IsNot Nothing Then
ViewAttachments.ViewAttachments(_ocur, Frame, _GLAccounts.ImportedRegistryHeader.CustomersFrom, _GLAccounts.ImportedRegistryHeader.Customers, _GLAccounts.ImportedRegistryHeader.DocumentNumber, "")
Else
Throw New Exception("*Nincs dokumentum !")
End If
Else
Dim _FileData As FileData = _ocur.CreateObject(Of FileData)()
_FileData = _GLAccounts.DocumentFile
Dim _FileName As String = System.IO.Path.Combine(System.IO.Path.GetTempPath(), System.IO.Path.GetTempPath, _FileData.FileName)
Dim _StreamFile As System.IO.Stream = New System.IO.FileStream(_FileName, System.IO.FileMode.Create)
_FileData.SaveToStream(_StreamFile)
_StreamFile.Close()
Process.Start(_FileName)
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
Throw New Exception("*Nincs egy kijelölt sor sem!")
End If
End Sub
Private Sub aPCICheckGLAccounts_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aPCICheckGLAccounts.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLAccounts As GLAccounts
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _GLAccounts In View.SelectedObjects
RaiseEvent DoWork()
If _GLAccounts IsNot Nothing Then
GLFunctions.ReconfigurePCI(_uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, _GLAccounts.PartnerType, _GLAccounts.ConnectInfo)
End If
Next
RaiseEvent FinalWork
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End Sub
Private Sub aCloneGLAccounts_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aCloneGLAccounts.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLAccounts As GLAccounts = _onew.GetObject(TryCast(View.SelectedObjects(0), GLAccounts))
Dim _OldGuid As Guid
Dim _GUID As Guid = Guid.NewGuid
If _GLAccounts Is Nothing Then
Throw New Exception("*Nincs kiválasztott elem!")
End If
Dim _GLAccounts_New As GLAccounts = _onew.CreateObject(Of GLAccounts)()
_GLAccounts_New.GLDocumentType = eGLDocumentType.eGLAccount
_GLAccounts_New.CustomersFrom = _GLAccounts.CustomersFrom
_GLAccounts_New.CurrencyName = _GLAccounts.CurrencyName
_GLAccounts_New.CurrencyRate = _GLAccounts.CurrencyRate
_GLAccounts_New.DateCreated = _GLAccounts.DateCreated
_GLAccounts_New.DateExecution = _GLAccounts.DateExecution
_GLAccounts_New.DatePayment = _GLAccounts.DatePayment
_GLAccounts_New.NoteHeader = _GLAccounts.NoteHeader
_GLAccounts_New.IsEditable = True
_GLAccounts_New.IsStorno = False
_GLAccounts_New.PartnerType = _GLAccounts.PartnerType
_GLAccounts_New.PaymentOption = _GLAccounts.PaymentOption
_GLAccounts_New.CurrencyRateVAT = _GLAccounts.CurrencyRateVAT
_GLAccounts_New.Customers = _GLAccounts.Customers
_GLAccounts_New.CustomerBankAccounts = _GLAccounts.CustomerBankAccounts
_GLAccounts_New.HeaderInfo = _GLAccounts.HeaderInfo
_GLAccounts_New.ConnectInfo = _GLAccounts.ConnectInfo
If _GLAccounts.GLRows.Count > 0 Then
_GLAccounts.GLRows.Sorting().Add(New SortProperty("GLRowsGUID", DB.SortingDirection.Ascending))
For Each _GLRows As GLRows In _GLAccounts.GLRows
Dim _GLRows_New As GLRows = _onew.CreateObject(Of GLRows)()
_GLRows_New.GLHeader = _GLAccounts_New
_GLRows_New.DebitChartOfAccounts = _GLRows.DebitChartOfAccounts
_GLRows_New.CreditChartOfAccounts = _GLRows.CreditChartOfAccounts
_GLRows_New.AmountHUF = _GLRows.AmountHUF
_GLRows_New.AmountDEV = _GLRows.AmountDEV
_GLRows_New.Customer = _GLRows.Customer
_GLRows_New.DateVAT = _GLRows.DateVAT
_GLRows_New.VAT = _GLRows.VAT
_GLRows_New.NoteRows = _GLRows.NoteRows
_GLRows_New.UniqueObjects = _GLRows.UniqueObjects
_GLRows_New.Controlling = _GLRows.Controlling
_GLRows_New.JobNumberObjects = _GLRows.JobNumberObjects
_GLRows_New.CostPlace = _GLRows.CostPlace
_GLRows_New.CostHolder = _GLRows.CostHolder
_GLRows_New.ConnectInfo = _GLRows.ConnectInfo
_GLRows_New.PartnerType = _GLRows.PartnerType
_GLRows_New.GLRowsTypeVAT = _GLRows.GLRowsTypeVAT
If _OldGuid <> _GLRows.GLRowsGUID Then
_GUID = Guid.NewGuid
End If
_GLRows_New.GLRowsGUID = _GUID
_OldGuid = _GLRows.GLRowsGUID
Next
End If
e.ShowViewParameters.CreatedView = Application.CreateDetailView(_onew, "GLAccounts_DetailView", True, _GLAccounts_New)
End Sub
Private Sub aCreateMixedPCI_GLAccount_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aCreateMixedPCI_GLAccount.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLAccountMixedPCI As GLAccountMixedPCI = _onew.CreateObject(Of GLAccountMixedPCI)()
e.View = Application.CreateDetailView(_onew, "GLAccountMixedPCI_DetailView", True, _GLAccountMixedPCI)
End Sub
Private Sub aCreateMixedPCI_GLAccount_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aCreateMixedPCI_GLAccount.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
Dim _GLAccountMixedPCI As GLAccountMixedPCI = e.PopupWindow.View.SelectedObjects(0)
Dim _GLAccounts As GLAccounts = Nothing
Dim _DebitChartOfAccounts As ChartOfAccounts = Nothing
Dim _ChartOfAccounts As ChartOfAccounts = Nothing
Dim _GLRows As GLRows = Nothing
Dim _PCIGroup As PCIGroup = Nothing
Dim _GLMixed As GLMixed = Nothing
Dim _GLMixedRows As GLRows = Nothing
Dim _GLHeader As GLHeader
Dim _GUID As Guid = Nothing
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _GLAccounts In View.SelectedObjects
RaiseEvent DoWork()
_GLAccounts = _onew.GetObjectByKey(Of GLAccounts)(_GLAccounts.Oid)
If _GLAccounts.PartnerType = ePartnerType.eReceivables And _
_GLAccounts.PaymentOption.PayMode = ePayMode.InCash And _
_GLAccountMixedPCI.ChartOfAccounts.Children.Count = 0 Then
_PCIGroup = _onew.FindObject(Of PCIGroup)(CriteriaOperator.Parse("PartnerType=? and CustomersFrom=? and Customers=? and ConnectInfo=?", _GLAccounts.PartnerType, _GLAccounts.CustomersFrom, _GLAccounts.Customers, _GLAccounts.ConnectInfo))
If _PCIGroup IsNot Nothing And _PCIGroup.BallanceHUF <> 0 Then
For Each _GLRows In _GLAccounts.GLRows
_GLMixed = _onew.CreateObject(Of GLMixed)()
_GLMixed.DateCreated = _GLAccounts.DateExecution
_GLMixed.DateExecution = _GLAccounts.DateExecution
_GLMixed.CustomersFrom = _GLAccounts.CustomersFrom
_GLMixed.DatePayment = _GLAccounts.DateExecution
_GLMixed.CurrencyName = _GLAccounts.CurrencyName
_GLMixed.CurrencyRate = _GLAccounts.CurrencyRate
_GLMixed.IsEditable = False
_GLMixed.DocumentNumber = _GLAccounts.ConnectInfo & " -> technikai pontozása"
_GLMixed.IsStorno = False
_GLMixed.NoteHeader = "Technikai pontozás "
_GLHeader = TryCast(_GLMixed, GLHeader)
_GLMixedRows = _onew.CreateObject(Of GLRows)()
_GLMixedRows.InAmountHUF = _GLAccounts.AmountHUFBrutto
_GLMixedRows.InAmountDEV = _GLAccounts.AmountDEVBrutto
_GUID = Guid.NewGuid
_GLMixedRows.AddGLRows(_GLHeader, _onew.GetObject(_GLAccountMixedPCI.ChartOfAccounts), _GLRows.DebitChartOfAccounts, _
_GLAccounts.AmountDEVBrutto, _GLAccounts.AmountHUFBrutto, Nothing, _
_GLAccounts.Customers, _GLAccounts.DateExecution, Nothing, _
"", Nothing, Nothing, Nothing, Nothing, Nothing, _
_GLAccounts.ConnectInfo, eGLRowsTypeVAT.eNettoRow, _GUID, eTransactionType.ePartnerCredit, eCashType.eNormal, ePartnerType.eReceivables)
_onew.CommitChanges()
'// Pontozás újra !!!
GLFunctions.ReconfigurePCI(_uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, ePartnerType.eReceivables, _GLAccounts.ConnectInfo)
Exit For
Next
End If
End If
Next
_onew.CommitChanges()
RaiseEvent FinalWork
End Sub
Private Sub aToTable_GLAccounts_Telephone_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aToTable_GLAccounts_Telephone.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLAccounts As GLAccounts = _onew.GetObject(TryCast(View.SelectedObjects(0), GLAccounts))
If _GLAccounts Is Nothing Then Exit Sub
Dim _CollectionSource As CollectionSource = New CollectionSource(_onew, GetType(RegistryTelephone))
Dim _RegistryTelephone As RegistryTelephone
Dim _Phones_Collection As New XPCollection(Of Phones)(_onew.Session, CriteriaOperator.Parse(""))
Dim _Phones As Phones
Dim _RegistryTelephoneParameters As RegistryTelephoneParameters = _onew.FindObject(Of RegistryTelephoneParameters)(CriteriaOperator.Parse("CustomersFrom.Oid=?", _GLAccounts.CustomersFrom.Oid))
For Each _Phones In _Phones_Collection
_RegistryTelephone = _onew.FindObject(Of RegistryTelephone)(CriteriaOperator.Parse("GLAccounts=? and UniqueObjects=?", _GLAccounts, _Phones.UniqueObjects))
If _RegistryTelephone Is Nothing Then
_RegistryTelephone = _onew.CreateObject(Of RegistryTelephone)()
End If
_RegistryTelephone.UniqueObjects = _Phones.UniqueObjects
_RegistryTelephone.RegistryTelephoneParameters = _RegistryTelephoneParameters
_RegistryTelephone.GLAccounts = _GLAccounts
_CollectionSource.Add(_RegistryTelephone)
Next
_onew.CommitChanges() 'ezt át kell nézni!!!!!!
_CollectionSource.BeginUpdateCriteria()
_CollectionSource.Criteria("ByTelephone") = CriteriaOperator.Parse("GLAccounts.Oid=?", _GLAccounts.Oid) 'PersistentCriteriaEvaluationBehavior.InTransaction
_CollectionSource.EndUpdateCriteria()
e.View = Application.CreateListView("RegistryTelephone_ListView", _CollectionSource, False)
End Sub
Private Sub aToTable_GLAccounts_Telephone_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aToTable_GLAccounts_Telephone.Execute
'//Telefonszámla rögzítése
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLAccounts As GLAccounts = TryCast(View.SelectedObjects(0), GLAccounts)
Dim _RegistryTelephone As RegistryTelephone
Dim _ListView As ListView = TryCast(e.PopupWindow.View, ListView)
'// Ellenőrzések
If _GLAccounts Is Nothing Then Exit Sub
If _GLAccounts.PartnerType = ePartnerType.eReceivables Then Exit Sub
Dim _GLHeader As GLHeader = TryCast(_GLAccounts, GLHeader)
Dim _GLRows As GLRows
Dim _CreditChartOfAccounts As ChartOfAccounts = _GLAccounts.Customers.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eIn)
Dim _DebitChartOfAccounts As ChartOfAccounts = Nothing
Dim _NettoHUF As Double = 0
Dim _BruttoHUF As Double = 0
Dim _VATHUF As Double = 0
Dim _VAT As VAT
Dim _GUID As Guid
Dim _UniqueObjects As UniqueObjects
Dim _Controlling As Controlling
If _ListView IsNot Nothing Then
Frame.GetController(Of Validation.PersistenceValidationController).Active.SetItemValue("", False)
For Each _RegistryTelephone In _ListView.CollectionSource.List
''//Először az ÁFÁ-s tételek rögzítése
If _RegistryTelephone.Amount_Brutto_INTERNET > 0 Then
_GUID = New Guid
_GLRows = _ocur.CreateObject(Of GLRows)()
_VAT = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.VAT_DEFAULTVAT)
_BruttoHUF = _RegistryTelephone.Amount_Brutto_INTERNET
_VATHUF = Math.Round(_BruttoHUF / (1 + _VAT.KeyValue) * _VAT.KeyValue, 0, MidpointRounding.AwayFromZero)
_NettoHUF = _BruttoHUF - _VATHUF
_UniqueObjects = _ocur.GetObject(_RegistryTelephone.UniqueObjects)
_Controlling = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.Controlling_INTERNET)
_DebitChartOfAccounts = _Controlling.GetChartOfAccounts(_GLAccounts.DateExecution.Year, False)
'// Nettó sor
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _NettoHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, _UniqueObjects, _
_Controlling, _GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _
_GLHeader.row_CostHolder, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eNettoRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
'//ÁFA sor
_DebitChartOfAccounts = _VAT.GetChartOfAccounts(_GLAccounts.row_DateVAT.Year, eVATMode.eIn)
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _VATHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, Nothing, _
Nothing, Nothing, Nothing, _
Nothing, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eVATRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
End If
If _RegistryTelephone.Amount_Brutto_OTHER_DEFAULTVAT > 0 Then
_GUID = New Guid
_GLRows = _ocur.CreateObject(Of GLRows)()
_VAT = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.VAT_DEFAULTVAT)
_BruttoHUF = _RegistryTelephone.Amount_Brutto_OTHER_DEFAULTVAT
_VATHUF = Math.Round(_BruttoHUF / (1 + _VAT.KeyValue) * _VAT.KeyValue, 0, MidpointRounding.AwayFromZero)
_NettoHUF = _BruttoHUF - _VATHUF
_UniqueObjects = _ocur.GetObject(_RegistryTelephone.UniqueObjects)
_Controlling = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.Controlling_OTHER_DEFAULTVAT)
_DebitChartOfAccounts = _Controlling.GetChartOfAccounts(_GLAccounts.DateExecution.Year, False)
'// Nettó sor
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _NettoHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, _UniqueObjects, _
_Controlling, _GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _
_GLHeader.row_CostHolder, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eNettoRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
'//ÁFA sor
_DebitChartOfAccounts = _VAT.GetChartOfAccounts(_GLAccounts.row_DateVAT.Year, eVATMode.eIn)
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _VATHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, Nothing, _
Nothing, Nothing, Nothing, _
Nothing, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eVATRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
End If
If _RegistryTelephone.Amount_Brutto_OTHER_NOVAT > 0 Then
_GUID = New Guid
_GLRows = _ocur.CreateObject(Of GLRows)()
_VAT = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.VAT_NOVAT)
_BruttoHUF = _RegistryTelephone.Amount_Brutto_OTHER_NOVAT
_VATHUF = Math.Round(_BruttoHUF / (1 + _VAT.KeyValue) * _VAT.KeyValue, 0, MidpointRounding.AwayFromZero)
_NettoHUF = _BruttoHUF - _VATHUF
_UniqueObjects = _ocur.GetObject(_RegistryTelephone.UniqueObjects)
_Controlling = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.Controlling_OTHER_NOVAT)
_DebitChartOfAccounts = _Controlling.GetChartOfAccounts(_GLAccounts.DateExecution.Year, False)
'// Nettó sor
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _NettoHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, _UniqueObjects, _
_Controlling, _GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _
_GLHeader.row_CostHolder, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eNettoRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
'//ÁFA sor
_DebitChartOfAccounts = _VAT.GetChartOfAccounts(_GLAccounts.row_DateVAT.Year, eVATMode.eIn)
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _VATHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, Nothing, _
Nothing, Nothing, Nothing, _
Nothing, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eVATRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
End If
If _RegistryTelephone.Amount_Brutto_PARKING > 0 Then
_GUID = New Guid
_GLRows = _ocur.CreateObject(Of GLRows)()
_VAT = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.VAT_NOVAT)
_BruttoHUF = _RegistryTelephone.Amount_Brutto_PARKING
_VATHUF = Math.Round(_BruttoHUF / (1 + _VAT.KeyValue) * _VAT.KeyValue, 0, MidpointRounding.AwayFromZero)
_NettoHUF = _BruttoHUF - _VATHUF
_UniqueObjects = _ocur.GetObject(_RegistryTelephone.UniqueObjects)
_Controlling = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.Controlling_PARKING)
_DebitChartOfAccounts = _Controlling.GetChartOfAccounts(_GLAccounts.DateExecution.Year, False)
'// Nettó sor
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _NettoHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, _UniqueObjects, _
_Controlling, _GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _
_GLHeader.row_CostHolder, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eNettoRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
'//ÁFA sor
_DebitChartOfAccounts = _VAT.GetChartOfAccounts(_GLAccounts.row_DateVAT.Year, eVATMode.eIn)
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _VATHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, Nothing, _
Nothing, Nothing, Nothing, _
Nothing, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eVATRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
End If
If _RegistryTelephone.Amount_Brutto_TELEPHON > 0 Then
_GUID = New Guid
_GLRows = _ocur.CreateObject(Of GLRows)()
_VAT = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.VAT_DEFAULTVAT)
_BruttoHUF = Math.Round(_RegistryTelephone.Amount_Brutto_TELEPHON * 0.7, 0, MidpointRounding.AwayFromZero)
_VATHUF = Math.Round(_BruttoHUF / (1 + _VAT.KeyValue) * _VAT.KeyValue, 0, MidpointRounding.AwayFromZero)
_NettoHUF = _BruttoHUF - _VATHUF
_UniqueObjects = _ocur.GetObject(_RegistryTelephone.UniqueObjects)
_DebitChartOfAccounts = _VAT.GetChartOfAccounts(_GLAccounts.row_DateVAT.Year, eVATMode.eIn)
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _VATHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, Nothing, _
Nothing, Nothing, Nothing, _
Nothing, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eVATRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
_GLRows = _ocur.CreateObject(Of GLRows)()
_VAT = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.VAT_DEFAULTVAT)
_NettoHUF = _RegistryTelephone.AmountNetto_TELEPHON_80
_UniqueObjects = _ocur.GetObject(_RegistryTelephone.UniqueObjects)
_Controlling = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.Controlling_TELEPHON_80)
_DebitChartOfAccounts = _Controlling.GetChartOfAccounts(_GLAccounts.DateExecution.Year, False)
'// Nettó sor
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _NettoHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, _UniqueObjects, _
_Controlling, _GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _
_GLHeader.row_CostHolder, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eNettoRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
_GLRows = _ocur.CreateObject(Of GLRows)()
_VAT = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.VAT_DEFAULTVAT)
_NettoHUF = _RegistryTelephone.AmountNetto_TELEPHON_20
_UniqueObjects = _ocur.GetObject(_RegistryTelephone.UniqueObjects)
_Controlling = _ocur.GetObject(_RegistryTelephone.RegistryTelephoneParameters.Controlling_TELEPHON_20)
_DebitChartOfAccounts = _Controlling.GetChartOfAccounts(_GLAccounts.DateExecution.Year, False)
'// Nettó sor
_GLRows.AddGLRows(_GLHeader, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, _NettoHUF, Nothing, _
_GLAccounts.Customers, _GLHeader.row_DateVAT, _VAT, _
_GLHeader.row_NoteRows, _UniqueObjects, _
_Controlling, _GLHeader.row_JobNumberObjects, _GLHeader.row_CostPlace, _
_GLHeader.row_CostHolder, _GLHeader.row_ConnectInfo, eGLRowsTypeVAT.eNettoRow, _GUID, _
eTransactionType.eNotSet, eCashType.ePartner, _GLAccounts.PartnerType)
End If
Next
End If
_ocur.CommitChanges()
Frame.GetController(Of Validation.PersistenceValidationController).Active.SetItemValue("", True)
View.Refresh()
End Sub
Private Sub aGenerateOpenClosePCIRecord_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aGenerateOpenClosePCIRecord.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLAccountsOpenClosePCIPopup As GLAccountsOpenClosePCIPopup = _onew.CreateObject(Of GLAccountsOpenClosePCIPopup)()
e.View = Application.CreateDetailView(_onew, "GLAccountsOpenClosePCIPopup_DetailView", True, _GLAccountsOpenClosePCIPopup)
End Sub
Private Sub aGenerateOpenClosePCIRecord_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aGenerateOpenClosePCIRecord.Execute
Dim _GLAccountsOpenClosePCIPopup As GLAccountsOpenClosePCIPopup = TryCast(e.PopupWindow.View.SelectedObjects(0), GLAccountsOpenClosePCIPopup)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLAccounts As GLAccounts
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _GLAccounts In View.SelectedObjects
RaiseEvent DoWork()
MakeOpenClosePCI(_uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, _GLAccounts.PartnerType, _GLAccounts.ConnectInfo, _GLAccountsOpenClosePCIPopup.YearClose, _GLAccountsOpenClosePCIPopup.GLRowsTypeSelect)
Next
RaiseEvent FinalWork
End Sub
Public Sub MakeOpenClosePCI(_uow As UnitOfWork, _CustomersFrom As CustomersFrom, _Customers As Customers, _PartnerType As ePartnerType, _ConnectInfo As String, _YearClose As Long, _GLRowsTypeSelect As eGLRowsTypeSelect)
'// Az eljárás elkészít egy záró és egy nyitó tételt az adott pontozásra vonatkozóan 491 -> Partner illetve 492->partner szinten
'// ConnectInfo +"-" + záróév +" ZÁRÁS"
'// ConnectInfo +"-" + záróév +" NYITÁS"
'// Az adatokat a kartonból veszi !!!
Dim _AccountNumber_Partner As String
Dim _GLMixed_Close As GLMixed = Nothing
Dim _GLMixed_Open As GLMixed = Nothing
Dim _DebitChartOfAccounts_Open As ChartOfAccounts = Nothing
Dim _CreditChartOfAccounts_Open As ChartOfAccounts = Nothing
Dim _DebitChartOfAccounts_Close As ChartOfAccounts = Nothing
Dim _CreditChartOfAccounts_Close As ChartOfAccounts = Nothing
Dim _DebitAmountHUF As Double = 0
Dim _CreditAmountHUF As Double = 0
Dim _BallanceHUF As Double = 0
Dim _GLRows_Open As GLRows = Nothing
Dim _GLRows_Close As GLRows = Nothing
_CustomersFrom = _uow.GetObjectByKey(Of CustomersFrom)(_CustomersFrom.Oid)
_Customers = _uow.GetObjectByKey(Of Customers)(_Customers.Oid)
'// Ellenőrzés. Ha már van, ne csináljon semmit.
_GLRows_Close = _uow.FindObject(Of GLRows)(CriteriaOperator.Parse("GLHeader.CustomersFrom=? and Customer=? and GLRowsType=2 and ConnectInfo=? and PartnerType=? and GLHeader.IsEditable=False and GetYear(GLHeader.DateExecution)=?", _CustomersFrom, _Customers, _ConnectInfo, _PartnerType, _YearClose))
If _GLRows_Close IsNot Nothing Then
Exit Sub
End If
If _PartnerType = ePartnerType.ePayabels Then 'Szállító
_AccountNumber_Partner = _Customers.CustomersGLParameters.GetChartOfAccounts(_YearClose, eVATMode.eIn).AccountNumber
_CreditChartOfAccounts_Close = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber='492' and AccountYear=?", _YearClose))
_DebitChartOfAccounts_Close = _Customers.CustomersGLParameters.GetChartOfAccounts(_YearClose, eVATMode.eIn)
_DebitChartOfAccounts_Open = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber='491' and AccountYear=?", _YearClose + 1))
_CreditChartOfAccounts_Open = _Customers.CustomersGLParameters.GetChartOfAccounts(_YearClose, eVATMode.eIn)
Else 'Vevő
_AccountNumber_Partner = _Customers.CustomersGLParameters.GetChartOfAccounts(_YearClose, eVATMode.eOut).AccountNumber
_DebitChartOfAccounts_Close = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber='492' and AccountYear=?", _YearClose))
_CreditChartOfAccounts_Close = _Customers.CustomersGLParameters.GetChartOfAccounts(_YearClose, eVATMode.eOut)
_CreditChartOfAccounts_Open = _uow.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("AccountNumber='491' and AccountYear=?", _YearClose + 1))
_DebitChartOfAccounts_Open = _Customers.CustomersGLParameters.GetChartOfAccounts(_YearClose, eVATMode.eOut)
End If
Dim _GLRows_xpquery = New XPQuery(Of GLRows)(_uow)
Dim query = From _GLRows In _GLRows_xpquery
Where _GLRows.GLHeader.CustomersFrom.Oid = _CustomersFrom.Oid And
_GLRows.Customer.Oid = _Customers.Oid And
_GLRows.ConnectInfo = _ConnectInfo And
_GLRows.PartnerType = _PartnerType And
_GLRows.GLHeader.DateExecution.Year = _YearClose And
_GLRows.GLHeader.IsEditable = False And
_GLRows.GLRowsType <> eGLRowsType.eClose And
_GLRows.GLHeader IsNot Nothing And
(_GLRows.DebitChartOfAccounts.AccountNumber = _AccountNumber_Partner Or
_GLRows.CreditChartOfAccounts.AccountNumber = _AccountNumber_Partner)
Select New With {
Key .Customers = _GLRows.Customer,
Key .PartnerType = _GLRows.PartnerType,
Key .ConnectInfo = _GLRows.ConnectInfo,
Key .DebitChartOfAccount = _GLRows.DebitChartOfAccounts,
Key .CreditChartOfAccount = _GLRows.CreditChartOfAccounts,
Key .AmountHUF = _GLRows.AmountHUF}
For Each item In query
If item.DebitChartOfAccount.AccountNumber = _AccountNumber_Partner Then
_DebitAmountHUF += item.AmountHUF
End If
If item.CreditChartOfAccount.AccountNumber = _AccountNumber_Partner Then
_CreditAmountHUF += item.AmountHUF
End If
Next
_BallanceHUF = _DebitAmountHUF - _CreditAmountHUF
If Math.Round(_BallanceHUF) <> 0 Then
'// ZÁRÓ TÉTEL beszúrása
If _GLRowsTypeSelect = eGLRowsTypeSelect.eBoth Or _GLRowsTypeSelect = eGLRowsTypeSelect.eClose Then
_GLRows_Close = _uow.FindObject(Of GLRows)(CriteriaOperator.Parse("GLHeader.CustomersFrom=? and Customer=? and GLRowsType=2 and ConnectInfo=? and PartnerType=? and GLHeader.IsEditable=False and GetYear(GLHeader.DateExecution)=?", _CustomersFrom, _Customers, _ConnectInfo, _PartnerType, _YearClose))
If _GLRows_Close IsNot Nothing Then
_GLMixed_Close = _GLRows_Close.GLHeader
Else
_GLMixed_Close = New GLMixed(_uow)
_GLMixed_Close.DateExecution = New Date(_YearClose, 12, 31)
_GLMixed_Close.GLDocumentType = eGLDocumentType.eGLMixed
_GLMixed_Close.DateCreated = _GLMixed_Close.DateExecution
_GLMixed_Close.CustomersFrom = _CustomersFrom
_GLMixed_Close.IsEditable = False
End If
If _GLRows_Close Is Nothing Then _GLRows_Close = New GLRows(_uow)
_GLMixed_Close.DocumentNumber = _AccountNumber_Partner & " karton zárása " & _YearClose.ToString
_GLMixed_Close.NoteHeader = _Customers.FullName & " partner " & _AccountNumber_Partner & " főkönyvi karton zárása a " & _YearClose.ToString & " évre."
_GLRows_Close.NoteRows = _GLMixed_Close.NoteHeader
_GLRows_Close.GLHeader = _GLMixed_Close
_GLRows_Close.GLRowsType = eGLRowsType.eClose
_GLRows_Close.GLRowsTypeVAT = eGLRowsTypeVAT.eNettoRow
Select Case _PartnerType
Case ePartnerType.ePayabels
_GLRows_Close.AmountHUF = _BallanceHUF * -1
Case ePartnerType.eReceivables
_GLRows_Close.AmountHUF = _BallanceHUF
End Select
_GLRows_Close.DebitChartOfAccounts = _DebitChartOfAccounts_Close
_GLRows_Close.CreditChartOfAccounts = _CreditChartOfAccounts_Close
_GLRows_Close.Customer = _Customers
_GLRows_Close.PartnerType = _PartnerType
_GLRows_Close.ConnectInfo = _ConnectInfo
End If
'//Nyitó tétel beszúrása
If _GLRowsTypeSelect = eGLRowsTypeSelect.eBoth Or _GLRowsTypeSelect = eGLRowsTypeSelect.eOpen Then
_GLRows_Open = _uow.FindObject(Of GLRows)(CriteriaOperator.Parse("GLHeader.CustomersFrom=? and Customer=? and GLRowsType=1 and ConnectInfo=? and PartnerType=? and GLHeader.IsEditable=False and GetYear(GLHeader.DateExecution)=?", _CustomersFrom, _Customers, _ConnectInfo, _PartnerType, _YearClose + 1))
If _GLRows_Open IsNot Nothing Then
_GLMixed_Open = _GLRows_Open.GLHeader
Else
_GLMixed_Open = New GLMixed(_uow)
_GLMixed_Open.DateExecution = New Date(_YearClose + 1, 1, 1)
_GLMixed_Open.GLDocumentType = eGLDocumentType.eGLMixed
_GLMixed_Open.DateCreated = _GLMixed_Open.DateExecution
_GLMixed_Open.CustomersFrom = _CustomersFrom
_GLMixed_Open.IsEditable = False
End If
If _GLRows_Open Is Nothing Then _GLRows_Open = New GLRows(_uow)
_GLMixed_Open.DocumentNumber = _AccountNumber_Partner & " karton nyitása " & (_YearClose + 1).ToString
_GLMixed_Open.NoteHeader = _Customers.FullName & " partner " & _AccountNumber_Partner & " főkönyvi karton nyitása a " & (_YearClose + 1).ToString & " évre."
_GLRows_Open.NoteRows = _GLMixed_Open.NoteHeader
_GLRows_Open.GLHeader = _GLMixed_Open
_GLRows_Open.GLRowsType = eGLRowsType.eOpen
_GLRows_Open.GLRowsTypeVAT = eGLRowsTypeVAT.eNettoRow
Select Case _PartnerType
Case ePartnerType.ePayabels
_GLRows_Open.AmountHUF = _BallanceHUF * -1
Case ePartnerType.eReceivables
_GLRows_Open.AmountHUF = _BallanceHUF
End Select
_GLRows_Open.DebitChartOfAccounts = _DebitChartOfAccounts_Open
_GLRows_Open.CreditChartOfAccounts = _CreditChartOfAccounts_Open
_GLRows_Open.Customer = _Customers
_GLRows_Open.PartnerType = _PartnerType
_GLRows_Open.ConnectInfo = _ConnectInfo
End If
_uow.CommitChanges()
End If
End Sub
Public Sub RemoveOpenClosePCI(_uow As UnitOfWork, _CustomersFrom As Customers, _Customers As Customers, _PartnerType As ePartnerType, _ConnectInfo As String, _YearClose As Long)
'// Az eljárás megkeresi és törli a nyitó-záró tételt az adott évre
Dim _GLMixed_Close As GLMixed = Nothing
Dim _GLMixed_Open As GLMixed = Nothing
Dim _GLRows_Open As GLRows = Nothing
Dim _GLRows_Close As GLRows = Nothing
_CustomersFrom = _uow.GetObjectByKey(Of CustomersFrom)(_CustomersFrom.Oid)
_Customers = _uow.GetObjectByKey(Of Customers)(_Customers.Oid)
_GLRows_Close = _uow.FindObject(Of GLRows)(CriteriaOperator.Parse("GLHeader.CustomersFrom=? and Customer=? and GLRowsType=2 and ConnectInfo=? and PartnerType=? and GLHeader.IsEditable=False and GetYear(GLHeader.DateExecution)=?", _CustomersFrom, _Customers, _ConnectInfo, _PartnerType, _YearClose))
If _GLRows_Close IsNot Nothing Then
_GLMixed_Close = _GLRows_Close.GLHeader
End If
_GLRows_Open = _uow.FindObject(Of GLRows)(CriteriaOperator.Parse("GLHeader.CustomersFrom=? and Customer=? and GLRowsType=1 and ConnectInfo=? and PartnerType=? and GLHeader.IsEditable=False and GetYear(GLHeader.DateExecution)=?", _CustomersFrom, _Customers, _ConnectInfo, _PartnerType, _YearClose + 1))
If _GLRows_Open IsNot Nothing Then
_GLMixed_Open = _GLRows_Open.GLHeader
End If
If _GLMixed_Open IsNot Nothing Then
_uow.Delete(_GLMixed_Open.GLRows)
_uow.Delete(_GLMixed_Open)
End If
If _GLMixed_Close IsNot Nothing Then
_uow.Delete(_GLMixed_Close.GLRows)
_uow.Delete(_GLMixed_Close)
End If
_uow.CommitChanges()
End Sub
Private Sub aGenerateOpenClosePCIRecord_Storno_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aGenerateOpenClosePCIRecord_Storno.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLAccountsOpenClosePCIPopup As GLAccountsOpenClosePCIPopup = _onew.CreateObject(Of GLAccountsOpenClosePCIPopup)()
e.View = Application.CreateDetailView(_onew, "GLAccountsOpenClosePCIPopup_DetailView", True, _GLAccountsOpenClosePCIPopup)
End Sub
Private Sub aGenerateOpenClosePCIRecord_Storno_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aGenerateOpenClosePCIRecord_Storno.Execute
Dim _GLAccountsOpenClosePCIPopup As GLAccountsOpenClosePCIPopup = TryCast(e.PopupWindow.View.SelectedObjects(0), GLAccountsOpenClosePCIPopup)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLAccounts As GLAccounts
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _GLAccounts In View.SelectedObjects
RaiseEvent DoWork()
RemoveOpenClosePCI(_uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, _GLAccounts.PartnerType, _GLAccounts.ConnectInfo, _GLAccountsOpenClosePCIPopup.YearClose)
Next
RaiseEvent FinalWork
End Sub
Private Sub aRestoreDeletedRecord_GLAccounts_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aRestoreDeletedRecord_GLAccounts.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLAccounts As GLAccounts
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _GLAccounts In View.SelectedObjects
RaiseEvent DoWork()
_GLAccounts.SetMemberValue("GCRecord", Nothing)
Next
_ocur.CommitChanges()
RaiseEvent FinalWork
End Sub
End Class