800 lines
50 KiB
VB.net
800 lines
50 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.Xpo
|
|
Imports DevExpress.Data.Filtering
|
|
Imports System.Linq
|
|
Imports System.Linq.Expressions
|
|
Imports DevExpress.ExpressApp.Editors
|
|
Imports DevExpress.ExpressApp.SystemModule
|
|
Imports DevExpress.Persistent.BaseImpl
|
|
Imports DevExpress.ExpressApp.CloneObject
|
|
|
|
Public Class TrialBalanceVC
|
|
Inherits DevExpress.ExpressApp.ViewController
|
|
Public Structure sReq
|
|
Dim AccountNumber As String
|
|
Dim ParentAccountNumber As String
|
|
Dim DebitAmountHUF As Double
|
|
Dim CreditAmountHUF As Double
|
|
Dim DebitAmountDEV As Double
|
|
Dim CreditAmountDEV As Double
|
|
Dim IsLastLevel As Boolean
|
|
End Structure
|
|
Dim elem As sReq
|
|
Dim sArray(0 To 10000) As sReq
|
|
Dim Index As Integer
|
|
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()
|
|
|
|
'This call is required by the Component Designer.
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
|
|
End Sub
|
|
Protected Overrides Sub OnActivated()
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _User As User = _ocur.GetObjectByKey(Of User)(_ocur.GetKeyValue(SecuritySystem.CurrentUser))
|
|
|
|
MyBase.OnActivated()
|
|
Frame.GetController(Of TrialBalanceVC).aTrialBalanceViewCard.Active.SetItemValue("", False)
|
|
|
|
If View.Id = "TrialBalanceHeader_TrialBalanceOpenClose_ListView" Or _
|
|
View.Id = "TrialBalanceHeader_TrialBalance_ListView" Then
|
|
Frame.GetController(Of TrialBalanceVC).aTrialBalanceViewCard.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", False)
|
|
End If
|
|
|
|
If View.Id = "TrialBalanceHeader_DetailView" Then
|
|
Dim _TrialBalanceHeader As TrialBalanceHeader = TryCast(View.SelectedObjects(0), TrialBalanceHeader)
|
|
|
|
If _TrialBalanceHeader.UserCreated IsNot Nothing Then
|
|
If Not _TrialBalanceHeader.UserCreated.Equals(_User) Then
|
|
Frame.GetController(Of ModificationsController).SaveAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ModificationsController).SaveAndCloseAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ModificationsController).SaveAndNewAction.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of TrialBalanceVC).aTrialBalanceQuery.Active.SetItemValue("", False)
|
|
Frame.GetController(Of TrialBalanceVC).aTrialBalanceOpenCloseQuery.Active.SetItemValue("", False)
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
If View.Id = "TrialBalanceHeader_ListView" Then
|
|
Frame.GetController(Of DeleteObjectsViewController).DeleteAction.TargetObjectsCriteria = "UserCreated.Oid='" & _User.Oid.ToString & "' or 'SysAdmin'='" & SecuritySystem.CurrentUserName & "'"
|
|
Frame.GetController(Of DeleteObjectsViewController).DeleteAction.TargetObjectsCriteriaMode = TargetObjectsCriteriaMode.TrueForAll
|
|
End If
|
|
If View.Id = "TrialBalanceHeader_DetailView_BeforeClose" Then
|
|
Frame.GetController(Of ModificationsController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
|
|
|
|
Dim _GLOpenCloseHeader = TryCast(TryCast(Frame, NestedFrame).ViewItem.View.SelectedObjects(0), GLOpenCloseHeader)
|
|
If _GLOpenCloseHeader IsNot Nothing Then
|
|
View.CurrentObject = _ocur.GetObject(_GLOpenCloseHeader.TrialBalanceHeaderBeforeClose)
|
|
End If
|
|
End If
|
|
If View.Id = "TrialBalanceHeader_DetailView_AfterClose_SheetProfit" Then
|
|
Frame.GetController(Of ModificationsController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
|
|
|
|
Dim _GLOpenCloseHeader = TryCast(TryCast(Frame, NestedFrame).ViewItem.View.SelectedObjects(0), GLOpenCloseHeader)
|
|
View.CurrentObject = _ocur.GetObject(_GLOpenCloseHeader.TrialBalanceHeaderAfterClose_SheetProfit)
|
|
End If
|
|
If View.Id = "TrialBalanceHeader_DetailView_AfterClose_Ballance" Then
|
|
Frame.GetController(Of ModificationsController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
|
|
|
|
Dim _GLOpenCloseHeader = TryCast(TryCast(Frame, NestedFrame).ViewItem.View.SelectedObjects(0), GLOpenCloseHeader)
|
|
View.CurrentObject = _ocur.GetObject(_GLOpenCloseHeader.TrialBalanceHeaderAfterClose_Ballance)
|
|
End If
|
|
If View.Id = "TrialBalanceHeader_DetailView_AfterOpen" Then
|
|
Frame.GetController(Of ModificationsController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
|
|
|
|
Dim _GLOpenCloseHeader = TryCast(TryCast(Frame, NestedFrame).ViewItem.View.SelectedObjects(0), GLOpenCloseHeader)
|
|
View.CurrentObject = _ocur.GetObject(_GLOpenCloseHeader.TrialBalanceHeaderAfterOpen)
|
|
End If
|
|
If View.Id = "TrialBalanceHeader_DetailView_AfterDividend" Then
|
|
Frame.GetController(Of ModificationsController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
|
|
|
|
Dim _GLOpenCloseHeader = TryCast(TryCast(Frame, NestedFrame).ViewItem.View.SelectedObjects(0), GLOpenCloseHeader)
|
|
View.CurrentObject = _ocur.GetObject(_GLOpenCloseHeader.TrialBalanceHeaderAfterDividend)
|
|
End If
|
|
End Sub
|
|
Protected Overrides Sub OnDeactivated()
|
|
MyBase.OnDeactivated()
|
|
Frame.GetController(Of TrialBalanceVC).aTrialBalanceViewCard.Active.SetItemValue("", False)
|
|
|
|
If View.Id = "TrialBalanceHeader_DetailView" Then
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _TrialBalanceHeader As TrialBalanceHeader = TryCast(View.SelectedObjects(0), TrialBalanceHeader)
|
|
Dim _User As User = _ocur.GetObjectByKey(Of User)(_ocur.GetKeyValue(SecuritySystem.CurrentUser))
|
|
|
|
If _TrialBalanceHeader.UserCreated IsNot Nothing Then
|
|
If Not _TrialBalanceHeader.UserCreated.Equals(_User) Then
|
|
Frame.GetController(Of ModificationsController).SaveAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ModificationsController).SaveAndCloseAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ModificationsController).SaveAndNewAction.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of TrialBalanceVC).aTrialBalanceQuery.Active.SetItemValue("", True)
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub aTrialBalanceQuery_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aTrialBalanceQuery.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _TrialBalanceHeader As TrialBalanceHeader = TryCast(View.SelectedObjects(0), TrialBalanceHeader)
|
|
LoadTrialBalanceNew(_ocur, _TrialBalanceHeader)
|
|
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
|
|
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
|
|
End If
|
|
End Sub
|
|
Private Sub aTrialBalanceOpenCloseQuery_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aTrialBalanceOpenCloseQuery.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _TrialBalanceHeader As TrialBalanceHeader = TryCast(View.SelectedObjects(0), TrialBalanceHeader)
|
|
LoadTrialBalanceOpenClose(_ocur, _TrialBalanceHeader)
|
|
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
|
|
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Private Sub aTrialBalancePrint_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aTrialBalancePrint.Execute
|
|
'-- Ez egy beégetés !!
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _ReportData As ReportData
|
|
Dim _TrialBalanceHeader As TrialBalanceHeader = TryCast(View.SelectedObjects(0), TrialBalanceHeader)
|
|
|
|
If _TrialBalanceHeader IsNot Nothing Then
|
|
_ReportData = _ocur.FindObject(Of ReportData)(CriteriaOperator.Parse("Name=?", "Főkönyvi kivonat"))
|
|
|
|
If _ReportData IsNot Nothing Then
|
|
Frame.GetController(Of Reports.ReportServiceController).ShowPreview(_ReportData, CriteriaOperator.Parse("TrialBalanceHeader=?", _TrialBalanceHeader), True)
|
|
Else
|
|
Throw New UserFriendlyException("Nincs beállítva a <Főkönyvi kivonat> nyomtatvány !")
|
|
End If
|
|
End If
|
|
End Sub
|
|
Private Sub aViewTrialBalanceDetail_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewTrialBalanceDetail.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace()
|
|
Dim _ListView As ListPropertyEditor = TryCast(View, DetailView).FindItem("TrialBalanceOpenClose")
|
|
Dim _TrialBalanceHeader As TrialBalanceHeader = TryCast(View.SelectedObjects(0), TrialBalanceHeader)
|
|
Dim _TrialBalanceOpenClose As TrialBalanceOpenClose = Nothing
|
|
If _ListView.ListView.SelectedObjects.Count > 0 Then _TrialBalanceOpenClose = _ListView.ListView.SelectedObjects(0)
|
|
|
|
If _TrialBalanceOpenClose IsNot Nothing Then
|
|
Dim _CS As New CollectionSource(_onew, GetType(GLRows))
|
|
_CS.BeginUpdateCriteria()
|
|
_CS.Criteria.Clear()
|
|
_CS.Criteria("First") = CriteriaOperator.Parse("GLHeader.DateExecution>=? and GetDate(GLHeader.DateExecution) <=? and GLHeader.CustomersFrom.Oid=? and GLHeader.IsEditable=False", _
|
|
_TrialBalanceHeader.DateFrom.Date, _TrialBalanceHeader.DateTo, _TrialBalanceHeader.CustomersFrom.Oid)
|
|
_CS.Criteria("Second") = CriteriaOperator.Parse("DebitChartOfAccounts.AccountNumber like '" & _TrialBalanceOpenClose.AccountNumber & _
|
|
"%' or CreditChartOfAccounts.AccountNumber like '" & _TrialBalanceOpenClose.AccountNumber & "%'")
|
|
_CS.EndUpdateCriteria()
|
|
e.ShowViewParameters.CreatedView = Application.CreateListView("GLRows_ListView_TrialBalance", _CS, False)
|
|
End If
|
|
End Sub
|
|
Private Sub aTrialBalanceViewCard_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aTrialBalanceViewCard.Execute
|
|
|
|
End Sub
|
|
Private Sub aTrialBalancePrint1_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aTrialBalancePrint1.Execute
|
|
'-- Ez egy beégetés !!
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _ReportData As ReportData
|
|
Dim _TrialBalanceHeader As TrialBalanceHeader = TryCast(View.SelectedObjects(0), TrialBalanceHeader)
|
|
|
|
If _TrialBalanceHeader IsNot Nothing Then
|
|
_ReportData = _ocur.FindObject(Of ReportData)(CriteriaOperator.Parse("Name=?", "Főkönyvi kivonat 1"))
|
|
|
|
If _ReportData IsNot Nothing Then
|
|
Frame.GetController(Of Reports.ReportServiceController).ShowPreview(_ReportData, CriteriaOperator.Parse("TrialBalanceHeader=?", _TrialBalanceHeader), True)
|
|
Else
|
|
Throw New UserFriendlyException("Nincs beállítva a <Főkönyvi kivonat 1> nyomtatvány !")
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
|
|
'// Subs
|
|
Public Sub LoadTrialBalanceNew(_ocur As Xpo.XPObjectSpace, _TrialBallanceHeader As TrialBalanceHeader)
|
|
Dim _uow As UnitOfWork = New UnitOfWork(_ocur.Session.DataLayer)
|
|
Dim _ChartOfAccounts As ChartOfAccounts
|
|
Dim _TrialBalanceHeader As TrialBalanceHeader = _uow.GetObjectByKey(Of TrialBalanceHeader)(_TrialBallanceHeader.Oid)
|
|
Dim _AmountHUF As Double = 0
|
|
|
|
Dim _GLRows_Collection = Nothing
|
|
Dim _GLRow As GLRows = Nothing
|
|
|
|
Dim _TrialBalanceSum As TrialBalanceSum
|
|
Dim _CP As String = ""
|
|
Dim _RowIndex As Long = 0
|
|
Dim _RowIndex_Sum As Long = 0
|
|
|
|
If _TrialBalanceHeader Is Nothing Then Exit Sub
|
|
Dim _TrialBallance_Collection As New XPCollection(_uow, GetType(TrialBalance), _
|
|
CriteriaOperator.Parse("TrialBalanceHeader.Oid=?", _TrialBalanceHeader.Oid))
|
|
_uow.Delete(_TrialBallance_Collection)
|
|
|
|
Dim _TrialBalanceSum_Collection As New XPCollection(_uow, GetType(TrialBalanceSum), _
|
|
CriteriaOperator.Parse("TrialBalanceHeader.Oid=?", _TrialBalanceHeader.Oid))
|
|
_uow.Delete(_TrialBalanceSum_Collection)
|
|
|
|
Dim _TrialBalance As TrialBalance
|
|
|
|
'-- Először feltöltjük a főkönyvi számlatükröt -------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
Dim _ChartOfAccounts_Collection As New XPCollection(_uow, GetType(ChartOfAccounts), CriteriaOperator.Parse("AccountYear=?", _TrialBalanceHeader.DateFrom.Year))
|
|
_ChartOfAccounts_Collection.Sorting.Add(New SortProperty("AccountNumber", DB.SortingDirection.Ascending))
|
|
RaiseEvent InitWork(1, 1, _ChartOfAccounts_Collection.Count)
|
|
For Each _ChartOfAccounts In _ChartOfAccounts_Collection
|
|
_RowIndex += 1
|
|
RaiseEvent DoWork()
|
|
_TrialBalance = New TrialBalance(_uow)
|
|
_TrialBalance.RowIndex = _RowIndex
|
|
_TrialBalance.TrialBalanceHeader = _TrialBalanceHeader
|
|
_TrialBalance.CustomersForm = _TrialBalanceHeader.CustomersFrom
|
|
_TrialBalance.AccountNumber = _ChartOfAccounts.AccountNumber
|
|
_TrialBalance.ChartOfAccounts = _ChartOfAccounts
|
|
_TrialBalance.CreditAmountHUF = 0
|
|
_TrialBalance.CreditRAmountHUF = 0
|
|
_TrialBalance.DebitAmountHUF = 0
|
|
_TrialBalance.DebitRAmountHUF = 0
|
|
_TrialBalance.ShortName = _ChartOfAccounts.Name
|
|
Next
|
|
_uow.CommitChanges()
|
|
RaiseEvent FinalWork
|
|
'-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
Dim DebitQuery As System.Linq.IQueryable(Of Object)
|
|
Dim _GLRows_XPQuery As New XPQuery(Of GLRows)(_uow)
|
|
|
|
Dim _TrialBalanceJobNumberObjects_XPQuery As New XPQuery(Of TrialBalanceJobNumberObjects)(_uow)
|
|
Dim cquery = From _TrialBalanceJobNumberObjects In _TrialBalanceJobNumberObjects_XPQuery
|
|
Where _TrialBalanceJobNumberObjects.TrialBalanceHeader.Oid = _TrialBalanceHeader.Oid
|
|
Select _TrialBalanceJobNumberObjects.JobNumberObjects.Oid
|
|
|
|
If _TrialBalanceHeader.GLReportDateExecutionMode = eDateExecutionMode.eHeader Then
|
|
|
|
If _TrialBalanceHeader.TrialBalanceJobNumberObjects.Count > 0 Then
|
|
DebitQuery = From _DebitQuery In _GLRows_XPQuery
|
|
Where _DebitQuery.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid And _
|
|
_DebitQuery.GLHeader.DateExecution.Date >= _TrialBalanceHeader.DateFrom.Date And _
|
|
_DebitQuery.GLHeader.DateExecution.Date <= _TrialBalanceHeader.DateTo.Date And _
|
|
cquery.Contains(_DebitQuery.JobNumberObjects.Oid) And
|
|
_DebitQuery.GLHeader.IsEditable = False
|
|
Group _DebitQuery By _DebitQuery.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber,
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF)),
|
|
Key .AmountDEV = g.Sum(Function(inv) (inv.AmountDEV))}
|
|
Else
|
|
DebitQuery = From _DebitQuery In _GLRows_XPQuery
|
|
Where _DebitQuery.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid And _
|
|
_DebitQuery.GLHeader.DateExecution.Date >= _TrialBalanceHeader.DateFrom.Date And _
|
|
_DebitQuery.GLHeader.DateExecution.Date <= _TrialBalanceHeader.DateTo.Date And _
|
|
_DebitQuery.GLHeader.IsEditable = False
|
|
Group _DebitQuery By _DebitQuery.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber,
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF)),
|
|
Key .AmountDEV = g.Sum(Function(inv) (inv.AmountDEV))}
|
|
End If
|
|
Else
|
|
If _TrialBalanceHeader.TrialBalanceJobNumberObjects.Count > 0 Then
|
|
DebitQuery = From _DebitQuery In _GLRows_XPQuery
|
|
Where _DebitQuery.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid And _
|
|
_DebitQuery.DateExecution.Date >= _TrialBalanceHeader.DateFrom.Date And _
|
|
_DebitQuery.DateExecution.Date <= _TrialBalanceHeader.DateTo.Date And _
|
|
cquery.Contains(_DebitQuery.JobNumberObjects.Oid) And
|
|
_DebitQuery.GLHeader.IsEditable = False
|
|
Group _DebitQuery By _DebitQuery.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber,
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF)),
|
|
Key .AmountDEV = g.Sum(Function(inv) (inv.AmountDEV))}
|
|
Else
|
|
DebitQuery = From _DebitQuery In _GLRows_XPQuery
|
|
Where _DebitQuery.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid And _
|
|
_DebitQuery.DateExecution.Date >= _TrialBalanceHeader.DateFrom.Date And _
|
|
_DebitQuery.DateExecution.Date <= _TrialBalanceHeader.DateTo.Date And _
|
|
_DebitQuery.GLHeader.IsEditable = False
|
|
Group _DebitQuery By _DebitQuery.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber,
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF)),
|
|
Key .AmountDEV = g.Sum(Function(inv) (inv.AmountDEV))}
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
RaiseEvent InitWork(1, 1, DebitQuery.Count)
|
|
For Each item In DebitQuery
|
|
RaiseEvent DoWork()
|
|
For Each _TrialBalance In _TrialBalanceHeader.TrialBalance
|
|
If item.AccountNumber IsNot Nothing Then
|
|
If _TrialBalance.AccountNumber = Mid(item.AccountNumber, 1, Len(_TrialBalance.AccountNumber)) Then
|
|
_TrialBalance.DebitAmountHUF += Math.Round(item.AmountHUF, 2, MidpointRounding.AwayFromZero)
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
Dim CreditQuery As System.Linq.IQueryable(Of Object)
|
|
|
|
If _TrialBalanceHeader.GLReportDateExecutionMode = eDateExecutionMode.eHeader Then
|
|
If _TrialBalanceHeader.TrialBalanceJobNumberObjects.Count > 0 Then
|
|
CreditQuery = From _CreditQuery In _GLRows_XPQuery
|
|
Where _CreditQuery.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid And _
|
|
_CreditQuery.GLHeader.DateExecution.Date >= _TrialBalanceHeader.DateFrom.Date And _
|
|
_CreditQuery.GLHeader.DateExecution.Date <= _TrialBalanceHeader.DateTo.Date And _
|
|
cquery.Contains(_CreditQuery.JobNumberObjects.Oid) And
|
|
_CreditQuery.GLHeader.IsEditable = False
|
|
Group _CreditQuery By _CreditQuery.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber,
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF)),
|
|
Key .AmountDEV = g.Sum(Function(inv) (inv.AmountDEV))}
|
|
Else
|
|
CreditQuery = From _CreditQuery In _GLRows_XPQuery
|
|
Where _CreditQuery.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid And _
|
|
_CreditQuery.GLHeader.DateExecution.Date >= _TrialBalanceHeader.DateFrom.Date And _
|
|
_CreditQuery.GLHeader.DateExecution.Date <= _TrialBalanceHeader.DateTo.Date And _
|
|
_CreditQuery.GLHeader.IsEditable = False
|
|
Group _CreditQuery By _CreditQuery.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber,
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF)),
|
|
Key .AmountDEV = g.Sum(Function(inv) (inv.AmountDEV))}
|
|
End If
|
|
|
|
Else
|
|
If _TrialBalanceHeader.TrialBalanceJobNumberObjects.Count > 0 Then
|
|
CreditQuery = From _CreditQuery In _GLRows_XPQuery
|
|
Where _CreditQuery.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid And _
|
|
_CreditQuery.DateExecution.Date >= _TrialBalanceHeader.DateFrom.Date And _
|
|
_CreditQuery.DateExecution.Date <= _TrialBalanceHeader.DateTo.Date And _
|
|
cquery.Contains(_CreditQuery.JobNumberObjects.Oid) And
|
|
_CreditQuery.GLHeader.IsEditable = False
|
|
Group _CreditQuery By _CreditQuery.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber,
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF)),
|
|
Key .AmountDEV = g.Sum(Function(inv) (inv.AmountDEV))}
|
|
Else
|
|
CreditQuery = From _CreditQuery In _GLRows_XPQuery
|
|
Where _CreditQuery.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid And _
|
|
_CreditQuery.DateExecution.Date >= _TrialBalanceHeader.DateFrom.Date And _
|
|
_CreditQuery.DateExecution.Date <= _TrialBalanceHeader.DateTo.Date And _
|
|
_CreditQuery.GLHeader.IsEditable = False
|
|
Group _CreditQuery By _CreditQuery.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber,
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF)),
|
|
Key .AmountDEV = g.Sum(Function(inv) (inv.AmountDEV))}
|
|
End If
|
|
|
|
|
|
End If
|
|
|
|
RaiseEvent InitWork(1, 1, CreditQuery.Count)
|
|
For Each item In CreditQuery
|
|
RaiseEvent DoWork()
|
|
For Each _TrialBalance In _TrialBalanceHeader.TrialBalance
|
|
If item.AccountNumber IsNot Nothing Then
|
|
If _TrialBalance.AccountNumber = Mid(item.AccountNumber, 1, Len(_TrialBalance.AccountNumber)) Then
|
|
_TrialBalance.CreditAmountHUF += Math.Round(item.AmountHUF, 2, MidpointRounding.AwayFromZero)
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
|
|
'-- Összesítés -----------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
RaiseEvent InitWork(1, 1, _TrialBalanceHeader.TrialBalance.Count)
|
|
For Each _TrialBalance In _TrialBalanceHeader.TrialBalance
|
|
RaiseEvent DoWork()
|
|
If _TrialBalance.DebitAmountHUF > _TrialBalance.CreditAmountHUF Then
|
|
_TrialBalance.DebitRAmountHUF = _TrialBalance.DebitAmountHUF - _TrialBalance.CreditAmountHUF
|
|
ElseIf _TrialBalance.DebitAmountHUF < _TrialBalance.CreditAmountHUF Then
|
|
_TrialBalance.CreditRAmountHUF = _TrialBalance.CreditAmountHUF - _TrialBalance.DebitAmountHUF
|
|
End If
|
|
|
|
Select Case _TrialBalance.AccountNumber
|
|
Case "0", "1", "2", "3", "4", "5", "8", "9"
|
|
_RowIndex_Sum += 1
|
|
_TrialBalanceSum = New TrialBalanceSum(_uow)
|
|
_TrialBalanceSum.RowIndex = _RowIndex_Sum
|
|
Select Case _TrialBalance.AccountNumber
|
|
Case "0", "1", "2", "3", "4"
|
|
_TrialBalanceSum.AccountSum = eAccountSum.e1_4
|
|
Case "5", "8", "9"
|
|
_TrialBalanceSum.AccountSum = eAccountSum.e5_9
|
|
End Select
|
|
_TrialBalanceSum.AccountNumber = _TrialBalance.AccountNumber
|
|
_TrialBalanceSum.CreditAmountHUF = _TrialBalance.CreditAmountHUF
|
|
_TrialBalanceSum.CustomersForm = _TrialBalance.CustomersForm
|
|
_TrialBalanceSum.DebitAmountHUF = _TrialBalance.DebitAmountHUF
|
|
_TrialBalanceSum.ShortName = _TrialBalance.ShortName
|
|
_TrialBalanceSum.TrialBalanceHeader = _TrialBalanceHeader
|
|
_TrialBalanceSum.BallanceHUFClose = _TrialBalanceSum.DebitAmountHUF - _TrialBalanceSum.CreditAmountHUF
|
|
End Select
|
|
Next
|
|
_uow.CommitChanges()
|
|
RaiseEvent FinalWork
|
|
'-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
|
Dim _TRB_C As New XPCollection(Of TrialBalance)(_uow, CriteriaOperator.Parse("CreditAmountHUF = 0 And DebitAmountHUF = 0 And CreditRAmountHUF = 0 And CreditRAmountHUF = 0"))
|
|
_uow.Delete(_TRB_C)
|
|
_uow.CommitChanges()
|
|
|
|
_TrialBalanceHeader.CreateGLRowsStatictics(_uow, _TrialBalanceHeader.DateFrom, _TrialBalanceHeader.DateTo, _TrialBalanceHeader.CustomersFrom, _TrialBalanceHeader.Oid)
|
|
|
|
End Sub
|
|
Public Sub LoadTrialBalanceOpenClose(_ocur As Xpo.XPObjectSpace, _TrialBallanceHeader As TrialBalanceHeader)
|
|
|
|
Dim _uow As UnitOfWork = New UnitOfWork(_ocur.Session.DataLayer)
|
|
Dim _DebitAmountHUF As Double = 0
|
|
Dim _CreditAmountHUF As Double = 0
|
|
Dim _DebitAmountHUF491 As Double = 0
|
|
Dim _CreditAmountHUF491 As Double = 0
|
|
Dim _DateFromCurrentYear As Date
|
|
|
|
Dim _DateFrom As Date
|
|
|
|
|
|
Dim _ChartOfAccounts As ChartOfAccounts
|
|
Dim _TrialBalanceHeader As TrialBalanceHeader = _uow.GetObjectByKey(Of TrialBalanceHeader)(_TrialBallanceHeader.Oid)
|
|
|
|
Dim _TrialBalanceOpenClose_Collection As New XPCollection(_uow, GetType(TrialBalanceOpenClose), _
|
|
CriteriaOperator.Parse("TrialBalanceHeader.Oid=?", _TrialBalanceHeader.Oid))
|
|
_uow.Delete(_TrialBalanceOpenClose_Collection)
|
|
|
|
Dim _TrialBalanceSum_Collection As New XPCollection(_uow, GetType(TrialBalanceSum), _
|
|
CriteriaOperator.Parse("TrialBalanceHeader.Oid=?", _TrialBalanceHeader.Oid))
|
|
_uow.Delete(_TrialBalanceSum_Collection)
|
|
|
|
Dim _TrialBalanceOpenClose As TrialBalanceOpenClose
|
|
Dim _TrialBalanceSum As TrialBalanceSum
|
|
|
|
Dim _RowIndex As Long = 0
|
|
Dim _RowIndex_Sum As Long = 0
|
|
|
|
_DateFromCurrentYear = CDate(Year(_TrialBalanceHeader.DateFrom) & "/01/01")
|
|
_DateFrom = _TrialBalanceHeader.DateFrom
|
|
|
|
'-- Először feltöltjük a főkönyvi számlatükröt -------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
Dim _ChartOfAccounts_Collection As New XPCollection(_uow, GetType(ChartOfAccounts), CriteriaOperator.Parse("AccountYear=?", _TrialBalanceHeader.DateFrom.Year))
|
|
_ChartOfAccounts_Collection.Sorting.Add(New SortProperty("AccountNumber", DB.SortingDirection.Ascending))
|
|
RaiseEvent InitWork(1, 1, _ChartOfAccounts_Collection.Count)
|
|
For Each _ChartOfAccounts In _ChartOfAccounts_Collection
|
|
_RowIndex += 1
|
|
RaiseEvent DoWork()
|
|
_TrialBalanceOpenClose = New TrialBalanceOpenClose(_uow)
|
|
_TrialBalanceOpenClose.RowIndex = _RowIndex
|
|
_TrialBalanceOpenClose.TrialBalanceHeader = _TrialBalanceHeader
|
|
_TrialBalanceOpenClose.CustomersForm = _TrialBalanceHeader.CustomersFrom
|
|
_TrialBalanceOpenClose.AccountNumber = _ChartOfAccounts.AccountNumber
|
|
_TrialBalanceOpenClose.CreditAmountHUF = 0
|
|
_TrialBalanceOpenClose.DebitAmountHUF = 0
|
|
_TrialBalanceOpenClose.ShortName = _ChartOfAccounts.Name
|
|
|
|
_TrialBalanceOpenClose.BallanceHUF = 0
|
|
_TrialBalanceOpenClose.BallanceHUF491 = 0
|
|
_TrialBalanceOpenClose.BallanceHUF491Open = 0
|
|
_TrialBalanceOpenClose.BallanceHUFClose = 0
|
|
_TrialBalanceOpenClose.BallanceHUFOpen = 0
|
|
|
|
|
|
Next
|
|
_uow.CommitChanges()
|
|
RaiseEvent FinalWork
|
|
'-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
|
Dim _GLRows_xpquery = New XPQuery(Of GLRows)(_uow)
|
|
Dim query As System.Linq.IQueryable(Of Object)
|
|
|
|
'I. ------------------------------------------------------------------------------------------------------------------------------------
|
|
If _TrialBalanceHeader.GLReportDateExecutionMode = eDateExecutionMode.eHeader Then
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.CreditChartOfAccounts.AccountNumber = "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.GLHeader.DateExecution.Year = _DateFromCurrentYear.Year And _
|
|
_glrows.GLHeader.DateExecution.Month = 1 And
|
|
_glrows.GLHeader.DateExecution.Day = 1 And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
Else
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.CreditChartOfAccounts.AccountNumber = "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.DateExecution.Year = _DateFromCurrentYear.Year And _
|
|
_glrows.GLHeader.DateExecution.Month = 1 And
|
|
_glrows.GLHeader.DateExecution.Day = 1 And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
|
|
End If
|
|
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
For Each _TrialBalanceOpenClose In _TrialBalanceHeader.TrialBalanceOpenClose
|
|
If item.AccountNumber IsNot Nothing Then
|
|
If _TrialBalanceOpenClose.AccountNumber = Mid(item.AccountNumber, 1, Len(_TrialBalanceOpenClose.AccountNumber)) Then
|
|
_TrialBalanceOpenClose.BallanceHUF491 += Math.Round(item.AmountHUF, 2, MidpointRounding.AwayFromZero)
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
If _TrialBalanceHeader.GLReportDateExecutionMode = eDateExecutionMode.eHeader Then
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber = "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.GLHeader.DateExecution.Year = _DateFromCurrentYear.Year And _
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
Else
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber = "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.DateExecution.Year = _DateFromCurrentYear.Year And _
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
|
|
End If
|
|
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
For Each _TrialBalanceOpenClose In _TrialBalanceHeader.TrialBalanceOpenClose
|
|
If item.AccountNumber IsNot Nothing Then
|
|
If _TrialBalanceOpenClose.AccountNumber = Mid(item.AccountNumber, 1, Len(_TrialBalanceOpenClose.AccountNumber)) Then
|
|
_TrialBalanceOpenClose.BallanceHUF491 -= Math.Round(item.AmountHUF, 2, MidpointRounding.AwayFromZero)
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
'II. ------------------------------------------------------------------------------------------------------------------------------------
|
|
If _TrialBalanceHeader.GLReportDateExecutionMode = eDateExecutionMode.eHeader Then
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.CreditChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.GLHeader.DateExecution.Date >= _DateFromCurrentYear.Date And
|
|
_glrows.GLHeader.DateExecution.Date < _TrialBalanceHeader.DateFrom.Date And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
Else
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.CreditChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.DateExecution.Date >= _DateFromCurrentYear.Date And
|
|
_glrows.DateExecution.Date < _TrialBalanceHeader.DateFrom.Date And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
|
|
End If
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
For Each _TrialBalanceOpenClose In _TrialBalanceHeader.TrialBalanceOpenClose
|
|
If item.AccountNumber IsNot Nothing Then
|
|
If _TrialBalanceOpenClose.AccountNumber = Mid(item.AccountNumber, 1, Len(_TrialBalanceOpenClose.AccountNumber)) Then
|
|
_TrialBalanceOpenClose.BallanceHUFOpen += Math.Round(item.AmountHUF, 2, MidpointRounding.AwayFromZero)
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
If _TrialBalanceHeader.GLReportDateExecutionMode = eDateExecutionMode.eHeader Then
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.CreditChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.GLHeader.DateExecution.Date >= _DateFromCurrentYear And
|
|
_glrows.GLHeader.DateExecution.Date < _TrialBalanceHeader.DateFrom.Date And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
Else
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.CreditChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.DateExecution.Date >= _DateFromCurrentYear And
|
|
_glrows.DateExecution.Date < _TrialBalanceHeader.DateFrom.Date And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
End If
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
For Each _TrialBalanceOpenClose In _TrialBalanceHeader.TrialBalanceOpenClose
|
|
If item.AccountNumber IsNot Nothing Then
|
|
If _TrialBalanceOpenClose.AccountNumber = Mid(item.AccountNumber, 1, Len(_TrialBalanceOpenClose.AccountNumber)) Then
|
|
_TrialBalanceOpenClose.BallanceHUFOpen -= Math.Round(item.AmountHUF, 2, MidpointRounding.AwayFromZero)
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
For Each _TrialBalanceOpenClose In _TrialBalanceHeader.TrialBalanceOpenClose
|
|
_TrialBalanceOpenClose.BallanceHUF491Open = _TrialBalanceOpenClose.BallanceHUF491 + _TrialBalanceOpenClose.BallanceHUFOpen
|
|
Next
|
|
|
|
'III. ------------------------------------------------------------------------------------------------------------------------------------
|
|
If _TrialBalanceHeader.GLReportDateExecutionMode = eDateExecutionMode.eHeader Then
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.CreditChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.GLHeader.DateExecution.Date >= _DateFrom.Date And
|
|
_glrows.GLHeader.DateExecution.Date <= DateAdd(DateInterval.Minute, 1439, _TrialBalanceHeader.DateTo.Date) And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
Else
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.CreditChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.DateExecution.Date >= _DateFrom.Date And
|
|
_glrows.DateExecution.Date <= DateAdd(DateInterval.Minute, 1439, _TrialBalanceHeader.DateTo.Date) And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.DebitChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
End If
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
For Each _TrialBalanceOpenClose In _TrialBalanceHeader.TrialBalanceOpenClose
|
|
If item.AccountNumber IsNot Nothing Then
|
|
If _TrialBalanceOpenClose.AccountNumber = Mid(item.AccountNumber, 1, Len(_TrialBalanceOpenClose.AccountNumber)) Then
|
|
_TrialBalanceOpenClose.DebitAmountHUF += Math.Round(item.AmountHUF, 2, MidpointRounding.AwayFromZero)
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
If _TrialBalanceHeader.GLReportDateExecutionMode = eDateExecutionMode.eHeader Then
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.CreditChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.GLHeader.DateExecution.Date >= _DateFrom.Date And
|
|
_glrows.GLHeader.DateExecution.Date <= DateAdd(DateInterval.Minute, 1439, _TrialBalanceHeader.DateTo.Date) And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
Else
|
|
query = From _glrows In _GLRows_xpquery
|
|
Where _glrows.DebitChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.CreditChartOfAccounts.AccountNumber <> "491" And _
|
|
_glrows.GLHeader.IsEditable = False And _
|
|
_glrows.DateExecution.Date >= _DateFrom.Date And
|
|
_glrows.DateExecution.Date <= DateAdd(DateInterval.Minute, 1439, _TrialBalanceHeader.DateTo.Date) And
|
|
_glrows.GLHeader IsNot Nothing And _
|
|
_glrows.GLHeader.CustomersFrom.Oid = _TrialBalanceHeader.CustomersFrom.Oid _
|
|
Group _glrows By _glrows.CreditChartOfAccounts.AccountNumber Into g = Group _
|
|
Select New With {Key .AccountNumber = AccountNumber, _
|
|
Key .AmountHUF = g.Sum(Function(inv) (inv.AmountHUF))}
|
|
End If
|
|
RaiseEvent InitWork(1, 1, query.Count)
|
|
For Each item In query
|
|
RaiseEvent DoWork()
|
|
For Each _TrialBalanceOpenClose In _TrialBalanceHeader.TrialBalanceOpenClose
|
|
If item.AccountNumber IsNot Nothing Then
|
|
If _TrialBalanceOpenClose.AccountNumber = Mid(item.AccountNumber, 1, Len(_TrialBalanceOpenClose.AccountNumber)) Then
|
|
_TrialBalanceOpenClose.CreditAmountHUF += Math.Round(item.AmountHUF, 2, MidpointRounding.AwayFromZero)
|
|
End If
|
|
End If
|
|
Next
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
For Each _TrialBalanceOpenClose In _TrialBalanceHeader.TrialBalanceOpenClose
|
|
_TrialBalanceOpenClose.BallanceHUF = _TrialBalanceOpenClose.DebitAmountHUF - _TrialBalanceOpenClose.CreditAmountHUF
|
|
_TrialBalanceOpenClose.BallanceHUFClose = _TrialBalanceOpenClose.BallanceHUF491Open + _TrialBalanceOpenClose.BallanceHUF
|
|
Next
|
|
|
|
|
|
'IV. ------------------------------------------------------------------------------------------------------------------------------------
|
|
RaiseEvent InitWork(1, 1, _TrialBalanceHeader.TrialBalanceOpenClose.Count)
|
|
For Each _TrialBalanceOpenClose In _TrialBalanceHeader.TrialBalanceOpenClose
|
|
RaiseEvent DoWork()
|
|
Select Case _TrialBalanceOpenClose.AccountNumber
|
|
Case "0", "1", "2", "3", "4", "5", "8", "9"
|
|
_RowIndex_Sum += 1
|
|
_TrialBalanceSum = New TrialBalanceSum(_uow)
|
|
_TrialBalanceSum.RowIndex = _RowIndex_Sum
|
|
Select Case _TrialBalanceOpenClose.AccountNumber
|
|
Case "0", "1", "2", "3", "4"
|
|
_TrialBalanceSum.AccountSum = eAccountSum.e1_4
|
|
Case "5", "8", "9"
|
|
_TrialBalanceSum.AccountSum = eAccountSum.e5_9
|
|
End Select
|
|
_TrialBalanceSum.AccountNumber = _TrialBalanceOpenClose.AccountNumber
|
|
_TrialBalanceSum.BallanceHUF = _TrialBalanceOpenClose.BallanceHUF
|
|
_TrialBalanceSum.BallanceHUFClose = _TrialBalanceOpenClose.BallanceHUFClose
|
|
_TrialBalanceSum.BallanceHUFOpen = _TrialBalanceOpenClose.BallanceHUF491Open
|
|
_TrialBalanceSum.CreditAmountHUF = _TrialBalanceOpenClose.CreditAmountHUF
|
|
_TrialBalanceSum.CustomersForm = _TrialBalanceOpenClose.CustomersForm
|
|
_TrialBalanceSum.DebitAmountHUF = _TrialBalanceOpenClose.DebitAmountHUF
|
|
_TrialBalanceSum.ShortName = _TrialBalanceOpenClose.ShortName
|
|
_TrialBalanceSum.TrialBalanceHeader = _TrialBalanceHeader
|
|
End Select
|
|
Next
|
|
_uow.CommitTransaction()
|
|
RaiseEvent FinalWork
|
|
|
|
|
|
Dim _TRBO As New XPCollection(Of TrialBalanceOpenClose)(_uow, CriteriaOperator.Parse("BallanceHUF = 0 And BallanceHUF491 = 0 And BallanceHUF491Open = 0 And BallanceHUFClose = 0 And BallanceHUFOpen = 0 And CreditAmountHUF = 0 And DebitAmountHUF=0"))
|
|
_uow.Delete(_TRBO)
|
|
_uow.CommitChanges()
|
|
|
|
_TrialBalanceHeader.CreateGLRowsStatictics(_uow, _TrialBalanceHeader.DateFrom, _TrialBalanceHeader.DateTo, _TrialBalanceHeader.CustomersFrom, _TrialBalanceHeader.Oid)
|
|
|
|
|
|
End Sub
|
|
|
|
End Class
|
|
|