Files
Nuvolar/Nuvolar.Module/BusinessObjects/Financial/FinancialObjects/FinancialTransactions/BookEntry/BookEntryVC.vb
T
ivanszabo 9cca882b34 Átállás 17.2.3-ra
Related Work Items: #123
2017-12-02 16:09:26 +01:00

1449 lines
85 KiB
VB.net

Imports System
Imports System.ComponentModel
Imports System.Collections.Generic
Imports System.Diagnostics
Imports System.Text
Imports DevExpress.Xpo
Imports DevExpress.ExpressApp
Imports DevExpress.ExpressApp.Actions
Imports DevExpress.Persistent.Base
Imports DevExpress.ExpressApp.Filtering
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.CloneObject
Imports Nuvolar.Module.RegistryVC
Imports System.IO
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
Public Class BookEntryVC
Inherits DevExpress.ExpressApp.ViewController
Protected selection As ArrayList
Protected noselect As Boolean = False
Public Sub New()
MyBase.New()
selection = New ArrayList()
'This call is required by the Component Designer.
InitializeComponent()
RegisterActions(components)
End Sub
Public Event InitWork(ByVal _Minimum As Long, ByVal _Step As Long, ByVal _Maximum As Long)
Public Event DoWork()
Public Event FinalWork
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsCheck.Active.SetItemValue("", False)
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsDivide.Active.SetItemValue("", False)
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLAccountsforBookEntryRemove.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aBookEntryCheckGotoNextStep.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aGLAccountsforBookEntryCheck.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aViewRegistry_BEC.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aViewAttachments.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aGLAccountsReadyforBookEntry.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aVATDivide.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aVATMerge.Active.SetItemValue("", False)
If View.Id = "GLAccountRowsforBookEntry_ListView_ManagerCheck" Then
Dim _GLAccountRowsforBookEntry_ListView As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _CurrentUser As User = _ocur.Session.GetObjectByKey(Of User)(_ocur.Session.GetKeyValue(SecuritySystem.CurrentUser))
If _CurrentUser.UserName <> "SysAdmin" Then
_GLAccountRowsforBookEntry_ListView.CollectionSource.Criteria.Remove("Criteria1")
_GLAccountRowsforBookEntry_ListView.CollectionSource.Criteria.Add("Criteria1", _
CriteriaOperator.Parse("WorkflowSystemSteps.StepFinancialType=4 and WorkflowSystemSteps.HRResponsible.User.Oid=?", _CurrentUser.Oid))
Else
_GLAccountRowsforBookEntry_ListView.CollectionSource.Criteria.Remove("Criteria1")
_GLAccountRowsforBookEntry_ListView.CollectionSource.Criteria.Add("Criteria1", _
CriteriaOperator.Parse("WorkflowSystemSteps.StepFinancialType=4"))
End If
Frame.GetController(Of BookEntryVC).aBookEntryCheckGotoNextStep.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aGLAccountsforBookEntryCheck.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aViewRegistry_BEC.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aViewAttachments.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", False)
End If
If View.Id = "GLAccountRowsforBookEntry_ListView" Then
Frame.GetController(Of BookEntryVC).aBookEntryCheckGotoNextStep.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aGLAccountsReadyforBookEntry.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aGLAccountsforBookEntryCheck.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aVATDivide.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aVATMerge.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aViewRegistry_BEC.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aViewAttachments.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", False)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
GenerateInvoiceWorkflowStep(_uow)
Dim _GLAccountRowsforBookEntry_ListView As DevExpress.ExpressApp.ListView = TryCast(View, DevExpress.ExpressApp.ListView)
_GLAccountRowsforBookEntry_ListView.CollectionSource.Criteria.Remove("Criteria1")
_GLAccountRowsforBookEntry_ListView.CollectionSource.Criteria.Add("Criteria1", CriteriaOperator.Parse("WorkflowSystemSteps.IsReadyForImport=True"))
AddHandler View.SelectionChanged, AddressOf view_SelectionChanged
End If
If View.Id = "InvoiceHeader_ListView_GLAccounts" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLAccountsforBookEntryRemove.Active.SetItemValue("", True)
End If
If View.Id = "RegistryHeader_ListView_GLAccounts" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLAccountsforBookEntryRemove.Active.SetItemValue("", True)
End If
If View.Id = "GLRows_ListView_Account" Or View.Id = "GLRows_ListView_All" Or View.Id = "GLRows_ListView_Bank" Or _
View.Id = "GLRows_ListView_Cassa" Or View.Id = "GLRows_ListView_Compensation" Then
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsCheck.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", False)
End If
If View.Id Like "GLRows_ListView_Error*" Then
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsCheck.Active.SetItemValue("", True)
End If
If View.Id = "GLRows_ListView_Bank" Or _
View.Id = "GLRows_ListView_Cassa" Or View.Id = "GLRows_ListView_Compensation" Then
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsDivide.Active.SetItemValue("", True)
End If
If View.Id = "GLRows_ListView_Ratediff" Or _
View.Id = "GLRows_ListView_Mixed" Then
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsCheck.Active.SetItemValue("", True)
End If
If View.Id Like "GLAccountRowsforBookEntry*" 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 CloneObjectViewController)()?.Active.SetItemValue("", False)
End If
If View.Id = "OrderInHeader_PCIDetail_ListView" Then
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsDivide.Active.SetItemValue("", True)
End If
AddHandler View.SelectionChanged, AddressOf view_SelectionChanged
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsCheck.Active.SetItemValue("", True)
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsDivide.Active.SetItemValue("", True)
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLAccountsforBookEntryRemove.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aBookEntryCheckGotoNextStep.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aGLAccountsforBookEntryCheck.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aViewRegistry_BEC.Active.SetItemValue("", True)
Frame.GetController(Of BookEntryVC).aViewAttachments.Active.SetItemValue("", True)
If View.Id = "GLAccountRowsforBookEntry_ListView_ManagerCheck" Then
Frame.GetController(Of BookEntryVC).aBookEntryCheckGotoNextStep.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aGLAccountsforBookEntryCheck.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aViewRegistry_BEC.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aViewAttachments.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", True)
End If
If View.Id = "GLAccountRowsforBookEntry_ListView" Then
Frame.GetController(Of BookEntryVC).aBookEntryCheckGotoNextStep.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aGLAccountsforBookEntryCheck.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aViewRegistry_BEC.Active.SetItemValue("", False)
Frame.GetController(Of BookEntryVC).aViewAttachments.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", True)
RemoveHandler View.SelectionChanged, AddressOf view_SelectionChanged
End If
If View.Id = "InvoiceHeader_ListView_GLAccounts" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLAccountsforBookEntryRemove.Active.SetItemValue("", False)
End If
If View.Id = "RegistryHeader_ListView_GLAccounts" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLAccountsforBookEntryRemove.Active.SetItemValue("", False)
End If
If View.Id = "GLRows_ListView_Account" Or View.Id = "GLRows_ListView_Bank" Or _
View.Id = "GLRows_ListView_Cassa" Or View.Id = "GLRows_ListView_Compensation" Then
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsCheck.Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)()?.Active.SetItemValue("", True)
End If
If View.Id = "GLRows_ListView_Bank" Or _
View.Id = "GLRows_ListView_Cassa" Or View.Id = "GLRows_ListView_Compensation" Then
Frame.GetController(Of Nuvolar.Module.BookEntryVC).aGLRowsDivide.Active.SetItemValue("", False)
End If
If View.Id Like "GLAccountRowsforBookEntry*" 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 CloneObjectViewController)()?.Active.SetItemValue("", True)
End If
RemoveHandler View.SelectionChanged, AddressOf view_SelectionChanged
End Sub
Private Sub view_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim _GLRows As GLRows
Dim _GLAccounts As GLAccounts
Dim _GLAccountRowsforBookEntry As GLAccountRowsforBookEntry
If View Is Nothing Then Exit Sub
If noselect Then Exit Sub
If View.Id Like "GLRows_ListView*" And noselect = False Then
selection.Clear()
For Each _GLRows In View.SelectedObjects
selection.Add(_GLRows)
Next
End If
If View.Id = "GLAccounts_ListView" Then
selection.Clear()
For Each _GLAccounts In View.SelectedObjects
selection.Add(_GLAccounts)
Next
End If
If View.Id = "GLAccountRowsforBookEntry_ListView" And noselect = False Then
selection.Clear()
For Each _GLAccountRowsforBookEntry In View.SelectedObjects
selection.Add(_GLAccountRowsforBookEntry)
Next
If selection.Count = 1 Then
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _RegistryRowsFinancial As RegistryRowsFinancial = _ocur.GetObjectByKey(Of RegistryRowsFinancial)(_GLAccountRowsforBookEntry.Oid)
If _RegistryRowsFinancial IsNot Nothing Then
Frame.GetController(Of BookEntryVC)().aVATDivide.Enabled.SetItemValue("", True)
Else
Frame.GetController(Of BookEntryVC)().aVATDivide.Enabled.SetItemValue("", False)
End If
End If
End If
If View.Id = "GLAccountRowsforBookEntry_ListView_ManagerCheck" And noselect = False Then
selection.Clear()
For Each _GLAccountRowsforBookEntry In View.SelectedObjects
selection.Add(_GLAccountRowsforBookEntry)
Next
End If
End Sub
Private Sub aBookEntryPayables_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aBookEntryPayables.Execute
'//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'/
'/ Szállítói számlák iktatásból feladása
'/
'//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As UnitOfWork = New UnitOfWork(_ocur.Session.DataLayer)
Dim _RegistryHeader As RegistryHeader
Dim I As Long
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _RegistryHeader In View.SelectedObjects
I += 1
_RegistryHeader.BookEntry(0, _RegistryHeader, _uow, False)
If I Mod 100 = 0 Then _uow.CommitChanges()
RaiseEvent DoWork()
Next
RaiseEvent FinalWork
_uow.CommitChanges()
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Private Sub aBookEntryReceiveables_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aBookEntryReceiveables.Execute
'//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'/
'/ Vevői számlák feladása
'/
'//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As UnitOfWork = New UnitOfWork(_ocur.Session.DataLayer)
Dim _InvoiceHeader As InvoiceHeader
Dim I As Long = 0
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _InvoiceHeader In View.SelectedObjects
I += 1
_InvoiceHeader.BookEntry(0, _InvoiceHeader, _uow, False)
RaiseEvent DoWork()
If I Mod 100 = 0 Then _uow.CommitChanges()
Next
RaiseEvent FinalWork
_uow.CommitChanges()
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Private Sub aGLRowsCheck_Cancel(sender As Object, e As System.EventArgs) Handles aGLRowsCheck.Cancel
noselect = False
End Sub
Private Sub aGLRowsCheck_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aGLRowsCheck.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLRowsCheck As GLRowsCheck = _onew.CreateObject(Of GLRowsCheck)()
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
If _GLRows IsNot Nothing Then
_GLRowsCheck.ChartOfAccountsYear = _onew.FindObject(Of ChartOfAccountsYear)(CriteriaOperator.Parse("AccountYear=?", _GLRows.GLHeader.DateExecution.Year))
Else
_GLRowsCheck.ChartOfAccountsYear = _onew.FindObject(Of ChartOfAccountsYear)(CriteriaOperator.Parse("AccountYear=?", GetSQLTime(_onew.Session).Year))
End If
e.View = Application.CreateDetailView(_onew, "GLRowsCheck_DetailView", False, _GLRowsCheck)
End Sub
Private Sub aGLRowsCheck_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aGLRowsCheck.Execute
Frame.GetController(Of DevExpress.ExpressApp.Validation.PersistenceValidationController)()?.Active.SetItemValue("", False)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace 'TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRowsCheck As GLRowsCheck = TryCast(e.PopupWindow.View.SelectedObjects(0), GLRowsCheck)
Dim _GLRows As GLRows
Dim I As Long = 0
Dim _Controlling As Controlling
Dim _JobNumberObjects As JobNumberObjects
Dim _CostHolder As CostHolder
Dim _CostPlace As CostPlace
Dim _UniqueObjects As UniqueObjects
Dim _DebitChartOfAccounts As ChartOfAccounts
Dim _CreditChartOfAccounts As ChartOfAccounts
If _GLRowsCheck.Controlling IsNot Nothing Then
_Controlling = _onew.FindObject(Of Controlling)(CriteriaOperator.Parse("Oid=?", _GLRowsCheck.Controlling.Oid), True)
If _Controlling.Children.Count > 0 Then
Throw New Exception(String.Format("Nem gyermekobjektum. <<{0}>> Csak gyermekobjektum választható ki !", _Controlling.Name))
Exit Sub
End If
Else
_Controlling = Nothing
End If
If _GLRowsCheck.JobNumberObjects IsNot Nothing Then
_JobNumberObjects = _onew.FindObject(Of JobNumberObjects)(CriteriaOperator.Parse("Oid=?", _GLRowsCheck.JobNumberObjects.Oid), True)
Else
_JobNumberObjects = Nothing
End If
If _GLRowsCheck.CostHolder IsNot Nothing Then
_CostHolder = _onew.FindObject(Of CostHolder)(CriteriaOperator.Parse("Oid=?", _GLRowsCheck.CostHolder.Oid), True)
Else
_CostHolder = Nothing
End If
If _GLRowsCheck.CostPlace IsNot Nothing Then
_CostPlace = _onew.FindObject(Of CostPlace)(CriteriaOperator.Parse("Oid=?", _GLRowsCheck.CostPlace.Oid), True)
Else
_CostPlace = Nothing
End If
If _GLRowsCheck.UniqueObjects IsNot Nothing Then
_UniqueObjects = _onew.FindObject(Of UniqueObjects)(CriteriaOperator.Parse("Oid=?", _GLRowsCheck.UniqueObjects.Oid), True)
Else
_UniqueObjects = Nothing
End If
If _GLRowsCheck.DebitChartOfAccounts IsNot Nothing Then
_DebitChartOfAccounts = _onew.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("Oid=?", _GLRowsCheck.DebitChartOfAccounts.Oid), True)
If _DebitChartOfAccounts.Children.Count > 0 Then
Throw New Exception("*A tartozik számlaszám NEM lehet szülő !")
Exit Sub
End If
Else
_DebitChartOfAccounts = Nothing
End If
If _GLRowsCheck.CreditChartOfAccounts IsNot Nothing Then
_CreditChartOfAccounts = _onew.FindObject(Of ChartOfAccounts)(CriteriaOperator.Parse("Oid=?", _GLRowsCheck.CreditChartOfAccounts.Oid), True)
If _CreditChartOfAccounts.Children.Count > 0 Then
Throw New Exception("*A követel számlaszám NEM lehet szülő !")
Exit Sub
End If
Else
_CreditChartOfAccounts = Nothing
End If
If _DebitChartOfAccounts IsNot Nothing And _CreditChartOfAccounts IsNot Nothing Then
If _DebitChartOfAccounts.Oid = _CreditChartOfAccounts.Oid Then
Throw New Exception("*A tartozik és a követel számlaszám NEM lehet azonos !")
Exit Sub
End If
End If
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _GLRows In View.SelectedObjects
_GLRows = _onew.GetObject(_GLRows)
I += 1
RaiseEvent DoWork()
If _Controlling IsNot Nothing Then
_GLRows.Controlling = _Controlling
If _GLRows.InvoiceRows IsNot Nothing Then
_GLRows.InvoiceRows.Controlling = _Controlling
End If
If _GLRows.RegistryRowsFinancialControlling IsNot Nothing Then
_GLRows.RegistryRowsFinancialControlling.Controlling = _Controlling
End If
End If
If _JobNumberObjects IsNot Nothing Then
_GLRows.JobNumberObjects = _JobNumberObjects
If _GLRows.InvoiceRows IsNot Nothing Then
_GLRows.InvoiceRows.JobNumberObjects = _JobNumberObjects
End If
If _GLRows.RegistryRowsFinancialControlling IsNot Nothing Then
_GLRows.RegistryRowsFinancialControlling.JobNumberObjects = _JobNumberObjects
End If
End If
If _CostHolder IsNot Nothing Then
_GLRows.CostHolder = _CostHolder
If _GLRows.InvoiceRows IsNot Nothing Then
_GLRows.InvoiceRows.CostHolder = _CostHolder
End If
If _GLRows.RegistryRowsFinancialControlling IsNot Nothing Then
_GLRows.RegistryRowsFinancialControlling.CostHolder = _CostHolder
End If
End If
If _CostPlace IsNot Nothing Then
_GLRows.CostPlace = _CostPlace
If _GLRows.InvoiceRows IsNot Nothing Then
_GLRows.InvoiceRows.CostPlace = _CostPlace
End If
If _GLRows.RegistryRowsFinancialControlling IsNot Nothing Then
_GLRows.RegistryRowsFinancialControlling.CostPlace = _CostPlace
End If
End If
If _UniqueObjects IsNot Nothing Then
_GLRows.UniqueObjects = _UniqueObjects
If _GLRows.InvoiceRows IsNot Nothing Then
_GLRows.InvoiceRows.UniqueObjects = _UniqueObjects
End If
If _GLRows.RegistryRowsFinancialControlling IsNot Nothing Then
_GLRows.RegistryRowsFinancialControlling.UniqueObjects = _UniqueObjects
End If
End If
If _DebitChartOfAccounts IsNot Nothing Then
If _GLRows.GLHeader.DateExecution.Year = _GLRowsCheck.ChartOfAccountsYear.AccountYear Then
_GLRows.DebitChartOfAccounts = _DebitChartOfAccounts
End If
End If
If _CreditChartOfAccounts IsNot Nothing Then
If _GLRows.GLHeader.DateExecution.Year = _GLRowsCheck.ChartOfAccountsYear.AccountYear Then
_GLRows.CreditChartOfAccounts = _CreditChartOfAccounts
End If
End If
If _GLRowsCheck.IsDateExecution = True Then
_GLRows.DateExecution = _GLRowsCheck.DateExecution
If _GLRows.RegistryRowsFinancialControlling IsNot Nothing Then
_GLRows.RegistryRowsFinancialControlling.DateExecution = _GLRowsCheck.DateExecution
End If
If _GLRows.InvoiceRows IsNot Nothing Then
_GLRows.DateExecution = _GLRowsCheck.DateExecution
End If
End If
If _GLRows.GLRowsType <> _GLRowsCheck.GLRowsType Then
_GLRows.GLRowsType = _GLRowsCheck.GLRowsType
End If
If I Mod 100 = 0 Then _onew.CommitChanges()
Next
_onew.CommitChanges()
RaiseEvent FinalWork
Frame.GetController(Of DevExpress.ExpressApp.Validation.PersistenceValidationController)()?.Active.SetItemValue("", True)
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Private Sub aGLRowsDivide_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aGLRowsDivide.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _GLRowsDivide As GLRowsDivide = _onew.CreateObject(Of GLRowsDivide)()
e.View = Application.CreateDetailView(_onew, "GLRowsDivide_DetailView", False, _GLRowsDivide)
End Sub
Private Sub aGLRowsDivide_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aGLRowsDivide.Execute
'-- Sor bontása
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLRowsDivide As GLRowsDivide = TryCast(e.PopupWindow.View.SelectedObjects(0), GLRowsDivide)
Dim _GLRows As GLRows = TryCast(View.SelectedObjects(0), GLRows)
Dim _GLRows_New As GLRows = Nothing
Dim _Rate As Double
Dim _AmountHUF As Double
Dim _AmountDEV As Double
If _GLRows Is Nothing Then
Dim _PCIDetail As PCIDetail = TryCast(View.SelectedObjects(0), PCIDetail)
If _PCIDetail Is Nothing Then
Exit Sub
Else
_GLRows = _PCIDetail.GLRows
End If
End If
If _GLRows.AmountDEV <> 0 Then _Rate = _GLRows.AmountHUF / _GLRows.AmountHUF
If _GLRowsDivide.AmountPercent > 0 Then
'-- GLRowsNew
_GLRows_New = _ocur.CreateObject(Of GLRows)()
_GLRows_New.AmountDEV = Math.Round(_GLRows.AmountDEV * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.AmountHUF = Math.Round(_GLRows.AmountHUF * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.CashType = _GLRows.CashType
_GLRows_New.ConnectInfo = _GLRows.ConnectInfo
_GLRows_New.Controlling = _GLRows.Controlling
_GLRows_New.CostHolder = _GLRows.CostHolder
_GLRows_New.CostPlace = _GLRows.CostPlace
_GLRows_New.CreditAmountDEV = Math.Round(_GLRows.CreditAmountDEV * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.CreditAmountHUF = Math.Round(_GLRows.CreditAmountHUF * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.CreditChartOfAccounts = _GLRows.CreditChartOfAccounts
_GLRows_New.Customer = _GLRows.Customer
_GLRows_New.DateVAT = _GLRows.DateVAT
_GLRows_New.DebitAmountDEV = Math.Round(_GLRows.DebitAmountDEV * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.DebitAmountHUF = Math.Round(_GLRows.DebitAmountHUF * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.DebitChartOfAccounts = _GLRows.DebitChartOfAccounts
_GLRows_New.GLHeader = _GLRows.GLHeader
_GLRows_New.GLRowsGUID = _GLRows.GLRowsGUID
_GLRows_New.GLRowsTypeVAT = _GLRows.GLRowsTypeVAT
_GLRows_New.ImportID = _GLRows.ImportID
_GLRows_New.InAmountDEV = Math.Round(_GLRows.InAmountDEV * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.InAmountHUF = Math.Round(_GLRows.InAmountHUF * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.JobNumberObjects = _GLRows.JobNumberObjects
_GLRows_New.LiquidAssets = _GLRows.LiquidAssets
_GLRows_New.NoteRows = _GLRows.NoteRows
_GLRows_New.OutAmountDEV = Math.Round(_GLRows.OutAmountDEV * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.OutAmountHUF = Math.Round(_GLRows.OutAmountHUF * (_GLRowsDivide.AmountPercent / 100), 2, MidpointRounding.AwayFromZero)
_GLRows_New.PartnerType = _GLRows.PartnerType
_GLRows_New.TransactionType = _GLRows.TransactionType
_GLRows_New.UniqueObjects = _GLRows.UniqueObjects
_GLRows_New.VAT = _GLRows.VAT
_GLRows_New.Save()
'-- GLRows
_GLRows.AmountDEV = Math.Round(_GLRows.AmountDEV * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.AmountHUF = Math.Round(_GLRows.AmountHUF * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.CreditAmountDEV = Math.Round(_GLRows.CreditAmountDEV * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.CreditAmountHUF = Math.Round(_GLRows.CreditAmountHUF * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.DebitAmountDEV = Math.Round(_GLRows.DebitAmountDEV * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.DebitAmountHUF = Math.Round(_GLRows.DebitAmountHUF * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.InAmountDEV = Math.Round(_GLRows.InAmountDEV * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.InAmountHUF = Math.Round(_GLRows.InAmountHUF * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.OutAmountDEV = Math.Round(_GLRows.OutAmountDEV * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.OutAmountHUF = Math.Round(_GLRows.OutAmountHUF * (1 - (_GLRowsDivide.AmountPercent / 100)), 2, MidpointRounding.AwayFromZero)
_GLRows.Save()
ElseIf _GLRowsDivide.AmountHUF > 0 And _GLRows.GLHeader.CurrencyName.ShortName = "HUF" Then
If Math.Abs(_GLRowsDivide.AmountHUF) < Math.Abs(_GLRows.AmountHUF) Then
'-- GLRowsNew
_GLRows_New = _ocur.CreateObject(Of GLRows)()
_GLRows_New.AmountHUF = _GLRowsDivide.AmountHUF
_GLRows_New.CashType = _GLRows.CashType
_GLRows_New.ConnectInfo = _GLRows.ConnectInfo
_GLRows_New.Controlling = _GLRows.Controlling
_GLRows_New.CostHolder = _GLRows.CostHolder
_GLRows_New.CostPlace = _GLRows.CostPlace
If _GLRows.CreditAmountHUF <> 0 Then
_GLRows_New.CreditAmountHUF = _GLRowsDivide.AmountHUF
End If
_GLRows_New.CreditChartOfAccounts = _GLRows.CreditChartOfAccounts
_GLRows_New.Customer = _GLRows.Customer
_GLRows_New.DateVAT = _GLRows.DateVAT
If _GLRows.DebitAmountHUF <> 0 Then
_GLRows_New.DebitAmountHUF = _GLRowsDivide.AmountHUF
End If
_GLRows_New.DebitChartOfAccounts = _GLRows.DebitChartOfAccounts
_GLRows_New.GLHeader = _GLRows.GLHeader
_GLRows_New.GLRowsGUID = _GLRows.GLRowsGUID
_GLRows_New.GLRowsTypeVAT = _GLRows.GLRowsTypeVAT
_GLRows_New.ImportID = _GLRows.ImportID
If _GLRows.InAmountHUF <> 0 Then
_GLRows_New.InAmountHUF = _GLRowsDivide.AmountHUF
End If
_GLRows_New.JobNumberObjects = _GLRows.JobNumberObjects
_GLRows_New.LiquidAssets = _GLRows.LiquidAssets
_GLRows_New.NoteRows = _GLRows.NoteRows
If _GLRows.OutAmountHUF <> 0 Then
_GLRows_New.OutAmountHUF = _GLRowsDivide.AmountHUF
End If
_GLRows_New.PartnerType = _GLRows.PartnerType
_GLRows_New.TransactionType = _GLRows.TransactionType
_GLRows_New.UniqueObjects = _GLRows.UniqueObjects
_GLRows_New.VAT = _GLRows.VAT
_GLRows_New.Save()
'-- GLRows
_AmountHUF = _GLRows.AmountHUF - _GLRowsDivide.AmountHUF
_GLRows.AmountHUF = _AmountHUF
If _GLRows.CreditAmountHUF <> 0 Then _GLRows.CreditAmountHUF = _AmountHUF
If _GLRows.DebitAmountHUF <> 0 Then _GLRows.DebitAmountHUF = _AmountHUF
If _GLRows.InAmountHUF <> 0 Then _GLRows.InAmountHUF = _AmountHUF
If _GLRows.OutAmountHUF <> 0 Then _GLRows.OutAmountHUF = _AmountHUF
_GLRows.Save()
End If
ElseIf _GLRowsDivide.AmountDEV > 0 Then
If Math.Abs(_GLRowsDivide.AmountDEV) < Math.Abs(_GLRows.AmountDEV) Then
'-- GLRowsNew
_GLRows_New = _ocur.CreateObject(Of GLRows)()
_GLRows_New.AmountDEV = _GLRowsDivide.AmountDEV
_GLRows_New.AmountHUF = Math.Round(_GLRowsDivide.AmountDEV * _Rate, 2, MidpointRounding.AwayFromZero)
_GLRows_New.CashType = _GLRows.CashType
_GLRows_New.ConnectInfo = _GLRows.ConnectInfo
_GLRows_New.Controlling = _GLRows.Controlling
_GLRows_New.CostHolder = _GLRows.CostHolder
_GLRows_New.CostPlace = _GLRows.CostPlace
If _GLRows.CreditAmountDEV <> 0 Then
_GLRows_New.CreditAmountDEV = _GLRowsDivide.AmountDEV
_GLRows_New.CreditAmountHUF = _GLRows_New.AmountHUF
End If
_GLRows_New.CreditChartOfAccounts = _GLRows.CreditChartOfAccounts
_GLRows_New.Customer = _GLRows.Customer
_GLRows_New.DateVAT = _GLRows.DateVAT
If _GLRows.DebitAmountDEV <> 0 Then
_GLRows_New.DebitAmountDEV = _GLRowsDivide.AmountDEV
_GLRows_New.DebitAmountHUF = _GLRows_New.AmountHUF
End If
_GLRows_New.DebitChartOfAccounts = _GLRows.DebitChartOfAccounts
_GLRows_New.GLHeader = _GLRows.GLHeader
_GLRows_New.GLRowsGUID = _GLRows.GLRowsGUID
_GLRows_New.GLRowsTypeVAT = _GLRows.GLRowsTypeVAT
_GLRows_New.ImportID = _GLRows.ImportID
If _GLRows.InAmountDEV <> 0 Then
_GLRows_New.InAmountDEV = _GLRowsDivide.AmountDEV
_GLRows_New.InAmountHUF = _GLRows_New.AmountHUF
End If
_GLRows_New.JobNumberObjects = _GLRows.JobNumberObjects
_GLRows_New.LiquidAssets = _GLRows.LiquidAssets
_GLRows_New.NoteRows = _GLRows.NoteRows
If _GLRows.OutAmountDEV <> 0 Then
_GLRows_New.OutAmountDEV = _GLRowsDivide.AmountDEV
_GLRows_New.OutAmountHUF = _GLRows_New.AmountHUF
End If
_GLRows_New.PartnerType = _GLRows.PartnerType
_GLRows_New.TransactionType = _GLRows.TransactionType
_GLRows_New.UniqueObjects = _GLRows.UniqueObjects
_GLRows_New.VAT = _GLRows.VAT
_GLRows_New.Save()
'-- GLRows
_AmountDEV = _GLRows.AmountDEV - _GLRowsDivide.AmountDEV
_AmountHUF = Math.Round(_GLRowsDivide.AmountDEV * _Rate, 2, MidpointRounding.AwayFromZero)
_GLRows.AmountDEV = _AmountDEV
_GLRows.AmountHUF = _AmountHUF
If _GLRows.CreditAmountDEV <> 0 Then
_GLRows.CreditAmountDEV = _AmountDEV
_GLRows.CreditAmountHUF = _AmountHUF
End If
If _GLRows.DebitAmountDEV <> 0 Then
_GLRows.DebitAmountDEV = _AmountDEV
_GLRows.DebitAmountHUF = _AmountHUF
End If
If _GLRows.InAmountDEV <> 0 Then
_GLRows.InAmountDEV = _AmountDEV
_GLRows.InAmountHUF = _AmountHUF
End If
If _GLRows.OutAmountDEV <> 0 Then
_GLRows.OutAmountDEV = _AmountDEV
_GLRows.OutAmountHUF = _AmountHUF
End If
_GLRows.Save()
End If
End If
_ocur.CommitChanges()
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow, _GLRows.GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
GLFunctions.ReconfigurePCI(_uow, _GLRows_New.GLHeader.CustomersFrom, _GLRows_New.Customer, _GLRows_New.PartnerType, _GLRows_New.ConnectInfo)
If TryCast(Frame, NestedFrame) IsNot Nothing Then
TryCast(Frame, NestedFrame).ViewItem.View.ObjectSpace.Refresh()
Else
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End If
End Sub
Private Sub aBookEntryRemove_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aBookEntryRemove.Execute
noselect = True
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As UnitOfWork = New UnitOfWork(_ocur.Session.DataLayer)
Dim _GLAccounts As GLAccounts
Dim _InvoiceHeader As InvoiceHeader
Dim _RegistryHeader As RegistryHeader
Dim _InvoiceHeader_Collection As New ArrayList
Dim _RegistryHeader_Collection As New ArrayList
Dim I As Long
RaiseEvent InitWork(1, 1, selection.Count)
For Each _GLAccounts In selection
If _GLAccounts.ImportedInvoice IsNot Nothing Then
_InvoiceHeader_Collection.Add(_GLAccounts.ImportedInvoice)
End If
If _GLAccounts.ImportedRegistryHeader IsNot Nothing Then
If _GLAccounts.IsRegistry = False Then
_RegistryHeader_Collection.Add(_GLAccounts.ImportedRegistryHeader)
End If
End If
RaiseEvent DoWork()
Next
RaiseEvent FinalWork
RaiseEvent InitWork(1, 1, _InvoiceHeader_Collection.Count + _RegistryHeader_Collection.Count)
For Each _InvoiceHeader In _InvoiceHeader_Collection
I += 1
_InvoiceHeader.BookEntryRemove(_InvoiceHeader, _uow, False)
RaiseEvent DoWork()
If I Mod 100 = 0 Then _uow.CommitChanges()
Next
For Each _RegistryHeader In _RegistryHeader_Collection
I += 1
_RegistryHeader.BookEntryRemove(_RegistryHeader, _uow, False)
RaiseEvent DoWork()
If I Mod 100 = 0 Then _uow.CommitChanges()
Next
RaiseEvent FinalWork
_uow.CommitChanges()
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
noselect = False
End Sub
Private Sub aGLAccountsforBookEntryCheck_Cancel(sender As Object, e As System.EventArgs) Handles aGLAccountsforBookEntryCheck.Cancel
noselect = False
End Sub
Private Sub aGLAccountsforBookEntryCheck_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aGLAccountsforBookEntryCheck.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _BookEntryCheck As BookEntryCheck = _onew.CreateObject(Of BookEntryCheck)()
_BookEntryCheck.IsManagerCheck = False
_BookEntryCheck.ChartOfAccountsYear = _onew.FindObject(Of ChartOfAccountsYear)(CriteriaOperator.Parse("AccountYear=?", GetSQLTime(_onew.Session).Year))
If View.Id = "GLAccountRowsforBookEntry_ListView_ManagerCheck" Then _BookEntryCheck.IsManagerCheck = True
e.View = Application.CreateDetailView(_onew, "BookEntryCheck_DetailView", False, _BookEntryCheck)
End Sub
Private Sub aGLAccountsforBookEntryCheck_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aGLAccountsforBookEntryCheck.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As UnitOfWork = New UnitOfWork(_ocur.Session.DataLayer)
Dim _BookEntryCheck As BookEntryCheck = TryCast(e.PopupWindow.View.SelectedObjects(0), BookEntryCheck)
Dim _BookEntryCheck_ChartOfAccounts As ChartOfAccounts
Dim _BookEntryCheck_JobNumberObjects As JobNumberObjects
Dim _BookEntryCheck_UniqueObjects As UniqueObjects
Dim _BookEntryCheck_CostHolder As CostHolder
Dim _BookEntryCheck_CostPlace As CostPlace
Dim _BookEntryCheck_Controlling As Controlling
Dim i As Long = 0
If e.PopupWindow.View.SelectedObjects(0).ChartOfAccounts Is Nothing Then
_BookEntryCheck_ChartOfAccounts = Nothing
Else
_BookEntryCheck_ChartOfAccounts = _uow.GetObjectByKey(Of ChartOfAccounts)(e.PopupWindow.View.SelectedObjects(0).ChartOfAccounts.Oid)
End If
If e.PopupWindow.View.SelectedObjects(0).JobNumberObjects Is Nothing Then
_BookEntryCheck_JobNumberObjects = Nothing
Else
_BookEntryCheck_JobNumberObjects = _uow.GetObjectByKey(Of JobNumberObjects)(e.PopupWindow.View.SelectedObjects(0).JobNumberObjects.Oid)
End If
If e.PopupWindow.View.SelectedObjects(0).UniqueObjects Is Nothing Then
_BookEntryCheck_UniqueObjects = Nothing
Else
_BookEntryCheck_UniqueObjects = _uow.GetObjectByKey(Of UniqueObjects)(e.PopupWindow.View.SelectedObjects(0).UniqueObjects.Oid)
End If
If e.PopupWindow.View.SelectedObjects(0).CostHolder Is Nothing Then
_BookEntryCheck_CostHolder = Nothing
Else
_BookEntryCheck_CostHolder = _uow.GetObjectByKey(Of CostHolder)(e.PopupWindow.View.SelectedObjects(0).CostHolder.Oid)
End If
If e.PopupWindow.View.SelectedObjects(0).CostPlace Is Nothing Then
_BookEntryCheck_CostPlace = Nothing
Else
_BookEntryCheck_CostPlace = _uow.GetObjectByKey(Of CostPlace)(e.PopupWindow.View.SelectedObjects(0).CostPlace.Oid)
End If
If e.PopupWindow.View.SelectedObjects(0).Controlling Is Nothing Then
_BookEntryCheck_Controlling = Nothing
Else
_BookEntryCheck_Controlling = _uow.GetObjectByKey(Of Controlling)(e.PopupWindow.View.SelectedObjects(0).Controlling.Oid)
If _BookEntryCheck_Controlling.Children.Count > 0 Then
Throw New Exception(String.Format("Nem gyermekobjektum. <<{0}>> Csak gyermekobjektum választható ki !", _BookEntryCheck_Controlling.Name))
Exit Sub
End If
End If
e.PopupWindow.Close(False)
Dim _InvoiceRows As InvoiceRows
Dim _RegistryRowsFinancialControlling As RegistryRowsFinancialControlling
Dim _GLAccountRowsforBookEntry As GLAccountRowsforBookEntry
RaiseEvent InitWork(1, 1, selection.Count)
For Each _GLAccountRowsforBookEntry In selection
i += 1
RaiseEvent DoWork()
If _GLAccountRowsforBookEntry.PartnerType = ePartnerType.eReceivables Then
_InvoiceRows = _uow.GetObjectByKey(Of InvoiceRows)(_GLAccountRowsforBookEntry.Oid)
If _InvoiceRows IsNot Nothing Then
If _BookEntryCheck_ChartOfAccounts IsNot Nothing Then _InvoiceRows.ChartOfAccounts = _BookEntryCheck_ChartOfAccounts
If _BookEntryCheck_CostHolder IsNot Nothing Then
_InvoiceRows.CostHolder = _BookEntryCheck_CostHolder
If _InvoiceRows.ContractRows IsNot Nothing Then
_InvoiceRows.ContractRows.CostHolder = _BookEntryCheck_CostHolder
End If
End If
If _BookEntryCheck_CostPlace IsNot Nothing Then
_InvoiceRows.CostPlace = _BookEntryCheck_CostPlace
If _InvoiceRows.ContractRows IsNot Nothing Then
_InvoiceRows.ContractRows.CostPlace = _BookEntryCheck_CostPlace
End If
End If
If _BookEntryCheck_UniqueObjects IsNot Nothing Then
_InvoiceRows.UniqueObjects = _BookEntryCheck_UniqueObjects
If _InvoiceRows.ContractRows IsNot Nothing Then
_InvoiceRows.ContractRows.UniqueObjects = _BookEntryCheck_UniqueObjects
End If
End If
If _BookEntryCheck_JobNumberObjects IsNot Nothing Then
_InvoiceRows.JobNumberObjects = _BookEntryCheck_JobNumberObjects
If _InvoiceRows.ContractRows IsNot Nothing Then
_InvoiceRows.ContractRows.JobNumberObjects = _BookEntryCheck_JobNumberObjects
End If
End If
If _BookEntryCheck_Controlling IsNot Nothing Then
_InvoiceRows.Controlling = _BookEntryCheck_Controlling
If _InvoiceRows.ContractRows IsNot Nothing Then
_InvoiceRows.ContractRows.Controlling = _BookEntryCheck_Controlling
End If
End If
If _BookEntryCheck.IsDateExecution = True Then
_InvoiceRows.DateExecution = _BookEntryCheck.DateExecution
If _InvoiceRows.ContractRows IsNot Nothing Then
_InvoiceRows.ContractRows.DateExecution = _BookEntryCheck.DateExecution
End If
End If
End If
End If
If _GLAccountRowsforBookEntry.PartnerType = ePartnerType.ePayabels Then
_RegistryRowsFinancialControlling = _uow.GetObjectByKey(Of RegistryRowsFinancialControlling)(_GLAccountRowsforBookEntry.Oid)
If _RegistryRowsFinancialControlling IsNot Nothing Then
If _BookEntryCheck_ChartOfAccounts IsNot Nothing Then _RegistryRowsFinancialControlling.ChartOfAccounts = _BookEntryCheck_ChartOfAccounts
If _BookEntryCheck_CostHolder IsNot Nothing Then _RegistryRowsFinancialControlling.CostHolder = _BookEntryCheck_CostHolder
If _BookEntryCheck_CostPlace IsNot Nothing Then _RegistryRowsFinancialControlling.CostPlace = _BookEntryCheck_CostPlace
If _BookEntryCheck_UniqueObjects IsNot Nothing Then _RegistryRowsFinancialControlling.UniqueObjects = _BookEntryCheck_UniqueObjects
If _BookEntryCheck_JobNumberObjects IsNot Nothing Then _RegistryRowsFinancialControlling.JobNumberObjects = _BookEntryCheck_JobNumberObjects
If _BookEntryCheck_Controlling IsNot Nothing Then _RegistryRowsFinancialControlling.Controlling = _BookEntryCheck_Controlling
If _BookEntryCheck.IsDateExecution = True Then _RegistryRowsFinancialControlling.DateExecution = _BookEntryCheck.DateExecution
End If
End If
If i Mod 100 = 0 Then _uow.CommitChanges()
Next
_uow.CommitChanges()
RaiseEvent FinalWork
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Private Sub aGLAccountsforBookEntryRemove_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGLAccountsforBookEntryRemove.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim I As Long = 0
If View.Id = "InvoiceHeader_ListView_GLAccounts" Then
Dim _InvoiceHeader As InvoiceHeader
Dim _InvoiceRows As InvoiceRows
Dim _InvoiceVATRows As InvoiceVATRows
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _InvoiceHeader In View.SelectedObjects
I += 1
If _InvoiceHeader.GLAccounts Is Nothing Then
_InvoiceHeader.ReadyforBookEntry = False
For Each _InvoiceRows In _InvoiceHeader.InvoiceRows
_InvoiceRows.ReadyforBookEntryRows = False
Next
For Each _InvoiceVATRows In _InvoiceHeader.InvoiceVATRows
_InvoiceVATRows.ReadyforBookEntryRows = False
Next
End If
If I Mod 100 = 0 Then _ocur.CommitChanges()
RaiseEvent DoWork()
Next
_ocur.CommitChanges()
RaiseEvent FinalWork
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
ElseIf View.Id = "RegistryHeader_ListView_GLAccounts" Then
Dim _RegistryHeader As RegistryHeader
Dim _RegistryRowsFinancialControlling As RegistryRowsFinancialControlling
Dim _RegistryRowsFinancial As RegistryRowsFinancial
RaiseEvent InitWork(1, 1, View.SelectedObjects.Count)
For Each _RegistryHeader In View.SelectedObjects
I += 1
If _RegistryHeader.F_GLAccounts Is Nothing Then
_RegistryHeader.F_ReadyforBookEntry = False
For Each _RegistryRowsFinancialControlling In _RegistryHeader.RegistryRowsFinancialControlling
_RegistryRowsFinancialControlling.F_ReadyforBookEntryRows = False
Next
For Each _RegistryRowsFinancial In _RegistryHeader.RegistryRowsFinancial
_RegistryRowsFinancial.F_ReadyforBookEntryRows = False
Next
End If
If I Mod 100 = 0 Then _ocur.CommitChanges()
RaiseEvent DoWork()
Next
_ocur.CommitChanges()
RaiseEvent FinalWork
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End If
End Sub
Private Sub aBookEntryCheckGotoNextStep_Cancel(sender As Object, e As System.EventArgs) Handles aBookEntryCheckGotoNextStep.Cancel
noselect = False
End Sub
Private Sub aBookEntryCheckGotoNextStep_CustomizePopupWindowParams(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aBookEntryCheckGotoNextStep.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _RegistryChoiceNextStep As RegistryChoiceNextStep
Dim _InvoiceChoiceNextStep As InvoiceChoiceNextStep
Dim _WorkflowSystemSteps As WorkflowSystemSteps
Dim _WorkflowSystem As WorkflowSystem
Dim _Step As Long
Dim _IsGroup As Boolean = False
Dim _GLAccountRowsforBookEntry As GLAccountRowsforBookEntry
Dim _InvoiceHeader As InvoiceHeader
If View.SelectedObjects.Count = 0 Then Exit Sub
If View.Id = "GLAccountRowsforBookEntry_ListView" Or View.Id = "GLAccountRowsforBookEntry_ListView_ManagerCheck" Then
_GLAccountRowsforBookEntry = TryCast(View.SelectedObjects(0), GLAccountRowsforBookEntry)
If _GLAccountRowsforBookEntry.InvoiceHeader IsNot Nothing Then
_InvoiceChoiceNextStep = _onew.CreateObject(Of InvoiceChoiceNextStep)()
_WorkflowSystem = _onew.GetObjectByKey(Of WorkflowSystem)(_GLAccountRowsforBookEntry.InvoiceHeader.InvoiceType.WorkflowSystem.Oid)
_WorkflowSystemSteps = _onew.FindObject(Of WorkflowSystemSteps)(CriteriaOperator.Parse("WorkflowSystem.Oid=?", _WorkflowSystem.Oid), True)
_InvoiceChoiceNextStep.InvoiceHeader = _onew.GetObject(_GLAccountRowsforBookEntry.InvoiceHeader)
_InvoiceChoiceNextStep.HRPerson = _WorkflowSystemSteps.HRResponsible
_InvoiceChoiceNextStep.WorkflowSystemSteps = _WorkflowSystemSteps
noselect = True
e.View = Application.CreateDetailView(_onew, "InvoiceChoiceNextStep_DetailView", False, _InvoiceChoiceNextStep)
Else
_RegistryChoiceNextStep = _onew.CreateObject(Of RegistryChoiceNextStep)()
_RegistryChoiceNextStep.RegistryHeader = _onew.GetObject(_GLAccountRowsforBookEntry.RegistryHeader)
_WorkflowSystem = _RegistryChoiceNextStep.RegistryHeader.CurrentWorkflowSystemSteps.WorkflowSystem
_Step = _RegistryChoiceNextStep.RegistryHeader.CurrentWorkflowSystemSteps.StepIndex + 1
_WorkflowSystemSteps = _onew.FindObject(Of WorkflowSystemSteps)(CriteriaOperator.Parse("WorkflowSystem.Oid=? and StepIndex=?", _WorkflowSystem.Oid, _Step), True)
_RegistryChoiceNextStep.HRPerson = _RegistryChoiceNextStep.RegistryHeader.HRResponsible
_RegistryChoiceNextStep.WorkflowSystemSteps = _WorkflowSystemSteps
noselect = True
e.View = Application.CreateDetailView(_onew, "RegistryChoiceNextStep_DetailView", False, _RegistryChoiceNextStep)
End If
End If
End Sub
Private Sub aBookEntryCheckGotoNextStep_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aBookEntryCheckGotoNextStep.Execute
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _RegistryHeader As RegistryHeader
Dim _CurrentWorkflowSystemStepsFirstShortName As String
Dim _RegistryTask As RegistryTasks
Dim _RegistryTask_New As RegistryTasks
Dim _Faild As Boolean = False
Dim _OK_NewRegistryTask As Boolean = False
Dim _NewVC As New Nuvolar.Module.RegistryVC 'A CheckNextStep public function meghívása miatt szükséges egy példány ebből a viewcontrollerből
Dim _RegistryHeaderCollection As New ArrayList
Dim _InvoiceHeaderCollection As New ArrayList
Dim _InvoiceHeader As InvoiceHeader = Nothing
Dim _InvoiceRows As InvoiceRows = Nothing
Dim _GLAccountRowsforBookEntry As GLAccountRowsforBookEntry = Nothing
Dim _RegistryChoiceNextStep As RegistryChoiceNextStep = Nothing
Dim _InvoiceChoiceNextStep As InvoiceChoiceNextStep = Nothing
Dim _GLAccountRowsforBookEntry_First As GLAccountRowsforBookEntry = Nothing
Dim _InvoiceOrRegistry As Long = 0
_InvoiceHeaderCollection.Clear()
_RegistryHeaderCollection.Clear()
Dim i As Long = 0
For Each _GLAccountRowsforBookEntry In selection
If i = 0 Then
_GLAccountRowsforBookEntry_First = _GLAccountRowsforBookEntry
If _GLAccountRowsforBookEntry.RegistryHeader IsNot Nothing Then
_InvoiceOrRegistry = -1
_RegistryHeader = _uow.GetObjectByKey(Of RegistryHeader)(_GLAccountRowsforBookEntry.RegistryHeader.Oid)
_CurrentWorkflowSystemStepsFirstShortName = TryCast(_RegistryHeader.CurrentWorkflowSystemSteps, WorkflowSystemSteps).ShortName
Else
_InvoiceOrRegistry = 1
_InvoiceRows = _uow.GetObjectByKey(Of InvoiceRows)(_GLAccountRowsforBookEntry.Oid)
_CurrentWorkflowSystemStepsFirstShortName = TryCast(_InvoiceRows.WorkflowSystemSteps, WorkflowSystemSteps).ShortName
End If
i += 1
End If
If _GLAccountRowsforBookEntry.RegistryHeader IsNot Nothing And _InvoiceOrRegistry = 1 Then
Throw New Exception("*Van kijelölt szállítói sor is !")
Exit Sub
End If
If _GLAccountRowsforBookEntry.InvoiceHeader IsNot Nothing And _InvoiceOrRegistry = -1 Then
Throw New Exception("*Van kijelölt vevői számla sor is !")
Exit Sub
End If
If _GLAccountRowsforBookEntry.RegistryHeader IsNot Nothing Then
If _GLAccountRowsforBookEntry.RegistryHeader.CurrentWorkflowSystemSteps.ShortName <> _CurrentWorkflowSystemStepsFirstShortName Then
Throw New Exception("*Minden kijelölt sornak azonos lépésen kell állnia !")
Exit Sub
End If
_RegistryChoiceNextStep = TryCast(e.PopupWindow.View.SelectedObjects(0), RegistryChoiceNextStep)
If _RegistryHeaderCollection.Contains(_uow.GetObjectByKey(Of RegistryHeader)(_GLAccountRowsforBookEntry.RegistryHeader.Oid)) = False Then
_RegistryHeaderCollection.Add(_uow.GetObjectByKey(Of RegistryHeader)(_GLAccountRowsforBookEntry.RegistryHeader.Oid))
End If
End If
If _GLAccountRowsforBookEntry.InvoiceHeader IsNot Nothing Then
For Each _InvoiceRows In _GLAccountRowsforBookEntry.InvoiceHeader.InvoiceRows
If _InvoiceRows.WorkflowSystemSteps.ShortName <> _CurrentWorkflowSystemStepsFirstShortName Then
Throw New Exception("*Minden kijelölt sornak azonos lépésen kell állnia !")
Exit Sub
End If
Next
_InvoiceChoiceNextStep = TryCast(e.PopupWindow.View.SelectedObjects(0), InvoiceChoiceNextStep)
If _InvoiceHeaderCollection.Contains(_uow.GetObjectByKey(Of InvoiceHeader)(_GLAccountRowsforBookEntry.InvoiceHeader.Oid)) = False Then
_InvoiceHeaderCollection.Add(_uow.GetObjectByKey(Of InvoiceHeader)(_GLAccountRowsforBookEntry.InvoiceHeader.Oid))
End If
End If
Next
If _RegistryChoiceNextStep IsNot Nothing Then
If _RegistryHeaderCollection.Count > 0 Then
RaiseEvent InitWork(1, 1, _RegistryHeaderCollection.Count)
For Each _RegistryHeader In _RegistryHeaderCollection
RaiseEvent DoWork()
If CheckNextStep(_uow, _RegistryHeader, _RegistryChoiceNextStep.WorkflowSystemSteps) Then
_OK_NewRegistryTask = True
Else
_OK_NewRegistryTask = False
End If
_RegistryHeader.CurrentWorkflowSystemSteps = _uow.GetObjectByKey(Of WorkflowSystemSteps)(_RegistryChoiceNextStep.WorkflowSystemSteps.Oid)
If _RegistryHeader.CurrentWorkflowSystemSteps.StepIndex = 1 Then
_RegistryHeader.IsEditable = True
End If
_RegistryTask = _uow.FindObject(Of RegistryTasks)(CriteriaOperator.Parse("RegistryHeader.Oid=? AND Status=?", _RegistryHeader.Oid, 0))
If _RegistryTask IsNot Nothing Then
_RegistryTask.Status = General.TaskStatus.Completed
End If
If _RegistryChoiceNextStep.WorkflowSystemSteps.IsLastStep = False Then
If _OK_NewRegistryTask = True Then
_RegistryTask_New = New RegistryTasks(_uow) '--- Egy új feladat példányosítása
_RegistryTask_New.RegistryHeader = _RegistryHeader '--- Az új feladatnak az iktatás fejlécét átadjuk
_RegistryTask_New.CurrentWorkflowSystemSteps = _uow.GetObjectByKey(Of WorkflowSystemSteps)(_RegistryHeader.CurrentWorkflowSystemSteps.Oid)
_RegistryTask_New.StartDate = GetSQLTime(_ocur.Session)
_RegistryTask_New.Status = General.TaskStatus.NotStarted
_RegistryTask_New.HRPerson = _uow.GetObjectByKey(Of HRPerson)(_RegistryChoiceNextStep.HRPerson.Oid)
_RegistryTask_New.Description = _RegistryChoiceNextStep.Description
_RegistryTask_New.Subject = _RegistryHeader.ShortName
_RegistryTask_New.DueDate = DateAdd(DateInterval.Day, _RegistryChoiceNextStep.WorkflowSystemSteps.ExpirationDayofFailure, Now)
End If
Else
For Each _RegistryRowsFinancialControlling In _RegistryHeader.RegistryRowsFinancialControlling
_RegistryRowsFinancialControlling.WorkflowMessage = _RegistryChoiceNextStep.Description
Next
End If
Next
RaiseEvent FinalWork
End If
End If
If _InvoiceChoiceNextStep IsNot Nothing Then
If _InvoiceHeaderCollection.Count > 0 Then
Frame.GetController(Of DevExpress.ExpressApp.Validation.PersistenceValidationController)()?.Active.SetItemValue("", False)
RaiseEvent InitWork(1, 1, _InvoiceHeaderCollection.Count)
For Each _InvoiceHeader In _InvoiceHeaderCollection
For Each _InvoiceRows In _InvoiceHeader.InvoiceRows
RaiseEvent DoWork()
_InvoiceRows.WorkflowSystemSteps = _uow.GetObjectByKey(Of WorkflowSystemSteps)(_InvoiceChoiceNextStep.WorkflowSystemSteps.Oid)
Next
Next
RaiseEvent FinalWork
Frame.GetController(Of DevExpress.ExpressApp.Validation.PersistenceValidationController)()?.Active.SetItemValue("", True)
End If
End If
_uow.CommitChanges()
noselect = False
If _Faild = True Then
'---- Teszt Miatt-------------------
e.PopupWindow.Close()
noselect = False
Throw New Exception("*A kijelölt elemek között volt nem megfelelő lépésen álló feladat, ami nem került léptetésre!")
_OK_NewRegistryTask = False
End If
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Private Sub aViewAttachments_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewAttachments.Execute
Dim _GLAccountRowsforBookEntry As GLAccountRowsforBookEntry = TryCast(View.SelectedObjects(0), GLAccountRowsforBookEntry)
If _GLAccountRowsforBookEntry.RegistryHeader IsNot Nothing Then
Dim _FilePath As String = Path.Combine(Path.GetTempPath(), _GLAccountRowsforBookEntry.RegistryHeader.DocumentFile.FileName)
Dim _Stream As Stream = New FileStream(_FilePath, FileMode.Create)
_GLAccountRowsforBookEntry.RegistryHeader.DocumentFile.SaveToStream(_Stream)
_Stream.Close()
Process.Start(_FilePath)
ElseIf _GLAccountRowsforBookEntry.InvoiceHeader IsNot Nothing Then
Dim _InvoiceHeader As InvoiceHeader = TryCast(View.SelectedObjects(0), GLAccountRowsforBookEntry).InvoiceHeader
If _InvoiceHeader IsNot Nothing Then
Dim _XAFPrintHelper As New XAFPrintHelper(Nothing, Frame, _InvoiceHeader.InvoiceType.ReportDataV2, CriteriaOperator.Parse("InvoiceHeader.Oid=?", _InvoiceHeader.Oid))
_XAFPrintHelper.ShowPreviewV2()
End If
End If
End Sub
Private Sub aViewAttachments_BEP_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewAttachments_BEP.Execute
Dim _RegistryHeader As RegistryHeader = TryCast(View.SelectedObjects(0), RegistryHeader)
Dim _CustomersFrom As CustomersFrom = _RegistryHeader.CustomersFrom
Dim _Customers As Customers = _RegistryHeader.Customers
Dim _DocumentNumber As String = _RegistryHeader.DocumentNumber
ViewAttachments.ViewAttachments(View.ObjectSpace, Frame, _CustomersFrom, _Customers, _DocumentNumber, "")
End Sub
Private Sub aViewRegistry_BEP_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewRegistry_BEP.Execute
Dim _RegistryHeader As RegistryHeader = TryCast(View.SelectedObjects(0), RegistryHeader)
Dim _CustomersFrom As CustomersFrom = _RegistryHeader.CustomersFrom
Dim _Customers As Customers = _RegistryHeader.Customers
Dim _DocumentNumber As String = _RegistryHeader.DocumentNumber
ViewRegistry.ViewRegistry(View.ObjectSpace, Application, e, _CustomersFrom, _Customers, _DocumentNumber)
End Sub
Public Function CheckNextStep(ByVal p_uow As UnitOfWork, ByVal p_RegistryHeader As RegistryHeader, ByVal p_StepToJump As WorkflowSystemSteps)
'Ha ezt módosítod akkor a bookentryVC-ben is módosíts!
Dim _WorkflowSystem As WorkflowSystem = p_uow.FindObject(Of WorkflowSystem)(PersistentCriteriaEvaluationBehavior.InTransaction, CriteriaOperator.Parse("ShortName=?", p_RegistryHeader.RegistryType.WorkflowSystem.ShortName))
Dim _CurrentStepIndex As Long = p_RegistryHeader.CurrentWorkflowSystemSteps.StepIndex - 1
Dim _StepToJumpIndex As Long = p_StepToJump.StepIndex - 2
Dim _sortCollection As SortingCollection = New SortingCollection()
_sortCollection.Add(New SortProperty("StepIndex", DB.SortingDirection.Ascending))
_WorkflowSystem.WorkflowSystemSteps.Sorting = _sortCollection
For i = _CurrentStepIndex To _StepToJumpIndex
If TryCast(_WorkflowSystem.WorkflowSystemSteps(i), WorkflowSystemSteps).StepFinancialType = eStepFinancialType.eCheckVAT Then
If p_RegistryHeader.BruttoAmountRemaining <> 0 Then
'---- TESZT MIATT-----------------------------
Throw New Exception("*Nincs Áfára teljesen lebontva, nem lehet tovább léptetni")
End If
End If
If TryCast(_WorkflowSystem.WorkflowSystemSteps(i), WorkflowSystemSteps).StepFinancialType = eStepFinancialType.eCheckControlling Then
Dim _ParentControllings As String = "" 'Azon kontrollszámok nevét tartalmazó string amelyek focsoportok
If p_RegistryHeader.NettoAmountRemaining <> 0 Then
'--- TESZT MIATT---------------------
Throw New Exception("*Nincs a számla teljesen leigazolva, nem lehet tovább léptetni")
End If
If p_RegistryHeader.BruttoAmountRemainingBank <> 0 Then
Throw New Exception("*Nincs a teljes összeg lebontva a banki csomagokra")
End If
'Az iktatás összes számlaigazolási sorának vizsgálata, hogy van e bennük hivatkozás focsoport cm-re
For Each _RegistryRowsFinancialControlling As RegistryRowsFinancialControlling In p_RegistryHeader.RegistryRowsFinancialControlling
If _RegistryRowsFinancialControlling.Controlling.IsParent = True Then
_ParentControllings += _RegistryRowsFinancialControlling.Controlling.Name & ", "
End If
Next
If Not _ParentControllings = "" Then
Throw New Exception("*Figyelem a felhasznált CM számok focsoportok: " & _ParentControllings & "! Kérem válasszon egy nem főcsoport CM számot")
End If
End If
If TryCast(_WorkflowSystem.WorkflowSystemSteps(i), WorkflowSystemSteps).StepFinancialType = eStepFinancialType.eCheckCOCScanned Then
'Aktulis iktatshoz rendelt teljestsre bonts sorokat ellenoriz. A teljes leigazoland nett sszegre vonatkozan a CM szmoknak belltott hatrrtket vizsgl
'miszerint kteles visszacsatolt alrt telestsi igazols nyomtatvnyt visszacsatolni
'sszegyujti az iktatshoz tartoz teljestsre bonts sorokat
Dim _RegistryRowsFinancialControllingCollection As XPCollection(Of RegistryRowsFinancialControlling) = New XPCollection(Of RegistryRowsFinancialControlling)(PersistentCriteriaEvaluationBehavior.InTransaction, p_uow, CriteriaOperator.Parse("RegistryHeader=?", p_RegistryHeader))
Dim sortCollection As SortingCollection = New SortingCollection()
Dim j As Long = 0
Dim _WhileNextStep As Boolean = True
Dim _AmountonCM As Double
'Sorba rendezi a kollekcit cm szm alapjn
sortCollection.Add(New SortProperty("Controlling.Name", DB.SortingDirection.Ascending))
_RegistryRowsFinancialControllingCollection.Sorting = sortCollection
Do While _WhileNextStep
' Az aktulis CM szm egyenlege nullrl indul
_AmountonCM = 0
Do
'A CM egyenlegt nveljk addig amg az aktulis soron r hivatkoznak
_AmountonCM += _RegistryRowsFinancialControllingCollection(j).Amount
'Ha a CM -nek be van lltva, hogy ktelesek vagyunk elvgezni a vizsglatot
's a CM aktulis egyenlege meghaladja a megengedett sszeget s nincs fjl visszacsatolva
'akkor nem lehet tovbbengedni a folyamatot.
If _RegistryRowsFinancialControllingCollection(j).Controlling.IsCOCRequired And _
_AmountonCM > _RegistryRowsFinancialControllingCollection(j).Controlling.COCAboveAmount And _
_RegistryRowsFinancialControllingCollection(j).File Is Nothing Then
'--- TESZT MIATT---------------------
Throw New Exception("*Nincs feltöltve a beszkennelt aláírt teljesítési igazolás!")
End If
If j = _RegistryRowsFinancialControllingCollection.Count - 1 Then
_WhileNextStep = False
Exit Do
End If
j += 1
'Ez a kitétel azért kell, hogy addig gyujtse egy adott CM egyenlegt amg az aktulis s a kvetkezo sor ugyanarra a CM-re hivatkozik
Loop While _RegistryRowsFinancialControllingCollection(j - 1).Controlling.Name = _RegistryRowsFinancialControllingCollection(j).Controlling.Name
Loop
End If
Next
Return True
End Function
Private Sub aViewRegistry_BEC_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewRegistry_BEC.Execute
Dim _GLAccountRowsforBookEntry As GLAccountRowsforBookEntry = TryCast(View.SelectedObjects(0), GLAccountRowsforBookEntry)
Dim _RegistryHeader As RegistryHeader = TryCast(View.SelectedObjects(0), RegistryHeader)
If _GLAccountRowsforBookEntry IsNot Nothing Then
If _GLAccountRowsforBookEntry.RegistryHeader IsNot Nothing Then
Dim _CustomersFrom As CustomersFrom = _GLAccountRowsforBookEntry.RegistryHeader.CustomersFrom
Dim _Customers As Customers = _GLAccountRowsforBookEntry.RegistryHeader.Customers
Dim _DocumentNumber As String = _GLAccountRowsforBookEntry.RegistryHeader.DocumentNumber
ViewRegistry.ViewRegistry(View.ObjectSpace, Application, e, _CustomersFrom, _Customers, _DocumentNumber)
End If
End If
End Sub
Public Sub GenerateInvoiceWorkflowStep(ByVal _uow As UnitOfWork)
Dim _InvoiceType_Collection As New XPCollection(Of InvoiceType)(_uow, CriteriaOperator.Parse("isnull(WorkflowSystem)=False"))
Dim _InvoiceType As InvoiceType
Dim _InvoiceRows_Collection As XPCollection(Of InvoiceRows)
Dim _InvoiceRows As InvoiceRows
Dim _InvoiceVATRows As InvoiceVATRows
Dim _InvoiceVATRows_Collection As XPCollection(Of InvoiceVATRows)
Dim _WorkflowSystemSteps As WorkflowSystemSteps
Dim _IsCheckManager As Boolean
For Each _InvoiceType In _InvoiceType_Collection
_IsCheckManager = False
For Each _WorkflowSystemSteps In _InvoiceType.WorkflowSystem.WorkflowSystemSteps
If _WorkflowSystemSteps.StepFinancialType = eStepFinancialType.eCheckManager Then
_IsCheckManager = True
_InvoiceRows_Collection = New XPCollection(Of InvoiceRows)(_uow, CriteriaOperator.Parse("InvoiceHeader.InvoiceType.Oid=? and isnull(WorkflowSystemSteps)=True", _InvoiceType.Oid))
For Each _InvoiceRows In _InvoiceRows_Collection
_InvoiceRows.WorkflowSystemSteps = _WorkflowSystemSteps
Next
End If
If _IsCheckManager = False And _WorkflowSystemSteps.IsLastStep = True Then
_InvoiceRows_Collection = New XPCollection(Of InvoiceRows)(_uow, CriteriaOperator.Parse("InvoiceHeader.InvoiceType.Oid=? and isnull(WorkflowSystemSteps)=True", _InvoiceType.Oid))
For Each _InvoiceRows In _InvoiceRows_Collection
_InvoiceRows.WorkflowSystemSteps = _WorkflowSystemSteps
Next
End If
Next
Next
_InvoiceVATRows_Collection = New XPCollection(Of InvoiceVATRows)(_uow, CriteriaOperator.Parse("ReadyforBookEntryRows=False"))
For Each _InvoiceVATRows In _InvoiceVATRows_Collection
_InvoiceVATRows.ReadyforBookEntryRows = True
Next
_uow.CommitChanges()
End Sub
Private Sub aVATDivide_Cancel(ByVal sender As Object, ByVal e As System.EventArgs) Handles aVATDivide.Cancel
End Sub
Private Sub aVATDivide_CustomizePopupWindowParams(ByVal sender As Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aVATDivide.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLAccountRowsforBookEntry = TryCast(View.SelectedObjects(0), GLAccountRowsforBookEntry)
Dim _DivideVAT As DivideVAT
Dim _RegistryRowsFinancial As RegistryRowsFinancial
_RegistryRowsFinancial = _ocur.GetObjectByKey(Of RegistryRowsFinancial)(_GLAccountRowsforBookEntry.Oid)
If _RegistryRowsFinancial IsNot Nothing Then
_DivideVAT = _onew.CreateObject(Of DivideVAT)()
_DivideVAT.RegistryRowsFinancial = _onew.GetObjectByKey(Of RegistryRowsFinancial)(_RegistryRowsFinancial.Oid)
_DivideVAT.DateVAT = _RegistryRowsFinancial.DateVAT
_DivideVAT.VAT = _onew.GetObjectByKey(Of VAT)(_RegistryRowsFinancial.VAT.Oid)
e.View = Application.CreateDetailView(_onew, "DivideVAT_DetailView", True, _DivideVAT)
End If
End Sub
Private Sub aVATDivide_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aVATDivide.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _DivideVAT = TryCast(e.PopupWindow.View.SelectedObjects(0), DivideVAT)
Dim _RegistryRowsFinancial As RegistryRowsFinancial = _ocur.GetObjectByKey(Of RegistryRowsFinancial)(_DivideVAT.RegistryRowsFinancial.Oid)
Try
If _DivideVAT.BruttoAmount = 0 Then
_RegistryRowsFinancial.DateVAT = _DivideVAT.DateVAT
If _RegistryRowsFinancial.VAT.Oid <> _DivideVAT.VAT.Oid Then
_RegistryRowsFinancial.VAT = _ocur.GetObjectByKey(Of VAT)(_DivideVAT.VAT.Oid)
End If
_ocur.CommitChanges()
_RegistryRowsFinancial.RegistryHeader.RecalculateVAT(_ocur, _RegistryRowsFinancial.RegistryHeader)
_ocur.CommitChanges()
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
Else
Dim _RegistryRowsFinancial_NEW As RegistryRowsFinancial = _ocur.CreateObject(Of RegistryRowsFinancial)()
_RegistryRowsFinancial_NEW.BruttoAmount = _RegistryRowsFinancial.BruttoAmount - _DivideVAT.BruttoAmount
_RegistryRowsFinancial_NEW.DateVAT = _DivideVAT.DateVAT
_RegistryRowsFinancial_NEW.Note = _DivideVAT.Note
_RegistryRowsFinancial_NEW.RegistryHeader = _ocur.GetObjectByKey(Of RegistryHeader)(_RegistryRowsFinancial.RegistryHeader.Oid)
_RegistryRowsFinancial_NEW.VAT = _ocur.GetObjectByKey(Of VAT)(_DivideVAT.VAT.Oid)
_RegistryRowsFinancial.BruttoAmount -= _RegistryRowsFinancial_NEW.BruttoAmount
_RegistryRowsFinancial.DateVAT = _DivideVAT.DateVAT
_RegistryRowsFinancial.Note = _DivideVAT.Note
_RegistryRowsFinancial.VAT = _ocur.GetObjectByKey(Of VAT)(_DivideVAT.VAT.Oid)
_ocur.CommitChanges()
_RegistryRowsFinancial.RegistryHeader.RecalculateVAT(_ocur, _RegistryRowsFinancial.RegistryHeader)
_ocur.CommitChanges()
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End If
Catch
_ocur.Rollback()
'------------------------------------TESZT MIATT ----------------------------------------->>
Throw New Exception("*Hiba történt az ÁFA bontás során, a művelet nem hajtódott végre. A kellemetlenségért elnézést kérünk!")
'------------------------------------TESZT MIATT -----------------------------------------<<
End Try
End Sub
Private Sub aGLAccountsReadyforBookEntry_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGLAccountsReadyforBookEntry.Execute
Dim _GLAccountRowsforBookEntry As GLAccountRowsforBookEntry
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _InvoiceRows As InvoiceRows
Dim _InvoiceVATRows As InvoiceVATRows
Dim _RegistryRowsFinancial As RegistryRowsFinancial
Dim _RegistryRowsFinancialControlling As RegistryRowsFinancialControlling
Dim i As Long = 0
RaiseEvent InitWork(1, 1, e.SelectedObjects.Count)
For Each _GLAccountRowsforBookEntry In e.SelectedObjects
RaiseEvent DoWork()
_InvoiceRows = _uow.GetObjectByKey(Of InvoiceRows)(_GLAccountRowsforBookEntry.Oid)
If _InvoiceRows IsNot Nothing Then
_InvoiceRows.ReadyforBookEntryRows = True
_InvoiceRows.InvoiceHeader.ReadyforBookEntry = True
End If
_InvoiceVATRows = _uow.GetObjectByKey(Of InvoiceVATRows)(_GLAccountRowsforBookEntry.Oid)
If _InvoiceVATRows IsNot Nothing Then
_InvoiceVATRows.ReadyforBookEntryRows = True
_InvoiceVATRows.InvoiceHeader.ReadyforBookEntry = True
End If
_RegistryRowsFinancial = _uow.GetObjectByKey(Of RegistryRowsFinancial)(_GLAccountRowsforBookEntry.Oid)
If _RegistryRowsFinancial IsNot Nothing Then
_RegistryRowsFinancial.F_ReadyforBookEntryRows = True
_RegistryRowsFinancial.RegistryHeader.F_ReadyforBookEntry = True
End If
_RegistryRowsFinancialControlling = _uow.GetObjectByKey(Of RegistryRowsFinancialControlling)(_GLAccountRowsforBookEntry.Oid)
If _RegistryRowsFinancialControlling IsNot Nothing Then
_RegistryRowsFinancialControlling.F_ReadyforBookEntryRows = True
_RegistryRowsFinancialControlling.RegistryHeader.F_ReadyforBookEntry = True
End If
If i Mod 100 = 0 Then _uow.CommitChanges()
Next
_uow.CommitChanges()
RaiseEvent FinalWork
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Private Sub aVATMerge_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aVATMerge.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _GLAccountRowsforBookEntry As GLAccountRowsforBookEntry
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _RegistryRowsFinancial As RegistryRowsFinancial = Nothing
Dim _RegistryRowsFinancial_Base As RegistryRowsFinancial = Nothing
Dim i As Long = 0
Dim _RegistryRowsFinancial_Collection As New ArrayList
For Each _GLAccountRowsforBookEntry In View.SelectedObjects
_RegistryRowsFinancial = _uow.GetObjectByKey(Of RegistryRowsFinancial)(_GLAccountRowsforBookEntry.Oid)
If _RegistryRowsFinancial IsNot Nothing Then
If i = 0 Then
_RegistryRowsFinancial_Base = _RegistryRowsFinancial
i += 1
Else
If _RegistryRowsFinancial.RegistryHeader.Oid = _RegistryRowsFinancial_Base.RegistryHeader.Oid And _
_RegistryRowsFinancial.VAT.Oid = _RegistryRowsFinancial_Base.VAT.Oid Then
_RegistryRowsFinancial_Collection.Add(_RegistryRowsFinancial)
End If
End If
End If
Next
For Each _RegistryRowsFinancial In _RegistryRowsFinancial_Collection
_RegistryRowsFinancial_Base.BruttoAmount += _RegistryRowsFinancial.BruttoAmount
Next
For Each _RegistryRowsFinancial In _RegistryRowsFinancial_Collection
_uow.Delete(_RegistryRowsFinancial)
Next
_uow.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End Sub
End Class