Files
Nuvolar/Nuvolar.Module/BusinessObjects/Financial/FinancialObjects/FinancialTransactions/Base/GLRows.vb
T
ivanszabo dd449f32d7 Jelölő adatok IsActive
Mezőgazdaság termeltetés IsActive
Számviteli készletnél szállítólevél DateExecution
2018-03-12 10:53:58 +01:00

721 lines
29 KiB
VB.net

Imports System
Imports System.ComponentModel
Imports DevExpress.Xpo
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp
Imports DevExpress.Persistent.Base
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Persistent.Validation
Imports DevExpress.Persistent.Base.General
Imports System.Data.SqlClient
Imports System.Configuration
Imports System.Linq
Imports System.Linq.Expressions
<DefaultClassOptions()> _
<NavigationItem("FinancialTransactions")> _
<CreatableItem(False)> _
Public Class GLRows
Inherits BaseObject
Private _GLHeader As GLHeader
Private _GLAccounts As GLAccounts
Private _DebitChartOfAccounts As ChartOfAccounts 'Tartozik számlaszám
Private _CreditChartOfAccounts As ChartOfAccounts ' Követel számlaszám
Private _AmountHUF As Double ' könyvelt összeg forintban
Private _AmountDEV As Double ' könyvelt összeg devizában
Private _AmountDEVFIFO As Double = 0 'FIFO értékeléshez felhasznált deviza összege
Private _LiquidAssets As LiquidAssets ' pénzeszköz
Private _Customer As Customers ' partner
Private _DateVAT As Date 'ÁFA idõszak
Private _DateExecution As Date 'Teljesítési idõszak
Private _VAT As VAT 'ÁFA kód
Private _NoteRows As String 'Sor megjegyzés
Private _Controlling As Controlling 'Kontrolling szám
Private _CostPlace As CostPlace 'Költséghely
Private _CostHolder As CostHolder 'Költségviselõ
Private _JobNumberObjects As JobNumberObjects 'Munkaszám
Private _UniqueObjects As UniqueObjects 'Egyedi azonosító
Private _ConnectInfo As String = "" 'Analitikus kötési szám folyószámlához
Private _ConnectInfoAdvanced As String = "" 'Analitikus kötési szám az előlegek pontozásához
Private _PartnerType As ePartnerType
Private _DebitAmountHUF As Double = 0
Private _CreditAmountHUF As Double = 0
Private _DebitAmountDEV As Double = 0
Private _CreditAmountDEV As Double = 0
Private _GLRowsGUID As Guid
Private _GLRowsTypeVAT As eGLRowsTypeVAT
Private _InAmountHUF As Double = 0 'Pénztár miatt befizetés
Private _OutAmountHUF As Double = 0 'Pénztár miatt kifizetés
Private _InAmountDEV As Double = 0 'Pénztár miatt befizetés
Private _OutAmountDEV As Double = 0 'Pénztár miatt kifizetés
Private _ImportID As String = "" 'Külsõ rendszerbõl importált sor
Private _CashType As eCashType
Private _TransactionType As eTransactionType
Private _CurrencyRate2 As Double = 1
Private _InAmountDEV2 As Double = 0 'Másodlagos deviza !
Private _OutAmountDEV2 As Double = 0 'Másodlagos deviza
Private _CurrencyName2 As CurrencyName 'Másodlagos devizanem
Private _BankImportHeaderSumDetail As BankImportHeaderSumDetail
Private _GLRowsRateDiff As GLRows
Private _InvoiceRows As InvoiceRows
Private _RegistryRowsFinancialControlling As RegistryRowsFinancialControlling
Private _GLRowsType As eGLRowsType '0 normál 1 Nyitó, 2 Záró
Private _RowIndex As Long 'Sorrend
Public Sub New(ByVal session As Session)
MyBase.New(session)
End Sub
Public Overrides Sub AfterConstruction()
MyBase.AfterConstruction()
If Me.GLHeader IsNot Nothing Then
If Me.GLHeader.DateExecution = Nothing Then
Else
Me.DateExecution = Me.GLHeader.DateExecution
End If
End If
End Sub
Protected Overrides Sub OnSaving()
MyBase.OnSaving()
If Me.ConnectInfo Is Nothing Then
Me.ConnectInfo = ""
End If
Dim _GLDetail_Collection As New XPCollection(Of GLDetails)(Session, CriteriaOperator.Parse("GLRows.Oid=?", Me.Oid))
Session.Delete(_GLDetail_Collection)
Dim _GLDetail As GLDetails
If Session.IsObjectToDelete(Me) = False Then
_GLDetail = New GLDetails(Session)
_GLDetail.GLRows = Me
_GLDetail.AmountDEV = Me.AmountDEV
_GLDetail.AmountHUF = Me.AmountHUF
_GLDetail.Side = "T"
_GLDetail.ChartOfAccounts = Me.DebitChartOfAccounts
_GLDetail = New GLDetails(Session)
_GLDetail.GLRows = Me
_GLDetail.AmountDEV = Me.AmountDEV
_GLDetail.AmountHUF = Me.AmountHUF
_GLDetail.Side = "K"
_GLDetail.ChartOfAccounts = Me.CreditChartOfAccounts
GLRowsType = eGLRowsType.eNormal
If CreditChartOfAccounts IsNot Nothing AndAlso DebitChartOfAccounts IsNot Nothing Then
If CreditChartOfAccounts.AccountNumber Like "491*" Or DebitChartOfAccounts.AccountNumber Like "491*" Then
GLRowsType = eGLRowsType.eOpen
End If
If CreditChartOfAccounts.AccountNumber Like "492*" Or DebitChartOfAccounts.AccountNumber Like "492*" Then
GLRowsType = eGLRowsType.eClose
End If
End If
If Me.DateExecution = Nothing Then
If Me.GLHeader IsNot Nothing Then
Me.DateExecution = Me.GLHeader.DateExecution
End If
End If
' '// Sorrend beállítása
' If Session.IsNewObject(Me) Then
' Me.RowIndex = Me.GLHeader.GLRows.Count
' End If
End If
End Sub
Protected Overrides Sub OnDeleting()
MyBase.OnDeleting()
Dim _GLDetail_Collection As New XPCollection(Of GLDetails)(Session, CriteriaOperator.Parse("GLRows.Oid=?", Me.Oid))
Session.Delete(_GLDetail_Collection)
Dim _GLDetail As GLDetails
Dim _GLRowsRateDiff_Collection As New XPCollection(Of GLRows)(Session, CriteriaOperator.Parse("GLRowsRateDiff=?", Me))
For Each _GLRows As GLRows In _GLRowsRateDiff_Collection
_GLRows.GLRowsRateDiff = Nothing
_GLRows.Save()
Next
End Sub
Protected Overrides Sub OnDeleted()
MyBase.OnDeleted()
'// PARASZTLENGŐS ÚJRAPONTOZÁS TÖRLÉS ESETÉN !!!!
On Error Resume Next
If Me.PartnerType <> ePartnerType.eNotSet Then
'Dim _uow As New UnitOfWork(Session.DataLayer)
'Dim _CustomersFrom_Collection As New XPCollection(Of CustomersFrom)(_uow)
'For Each _CustomersFrom As CustomersFrom In _CustomersFrom_Collection
' GLFunctions.ReconfigurePCI(_uow, _CustomersFrom, Me.Customer, Me.PartnerType, Me.ConnectInfo)
' _uow.CommitChanges()
'Next
End If
'// Sorrend újraépítése !!!
End Sub
<Association("GLHeader", GetType(GLHeader))> _
Property GLHeader() As GLHeader
Get
Return _GLHeader
End Get
Set(ByVal value As GLHeader)
SetPropertyValue("GLHeader", _GLHeader, value)
End Set
End Property
<RuleRequiredField("", DefaultContexts.Save)>
<ImmediatePostData(True), DataSourceCriteria("isnull(Children)=True")>
Property DebitChartOfAccounts() As ChartOfAccounts
Get
Return _DebitChartOfAccounts
End Get
Set(ByVal value As ChartOfAccounts)
SetPropertyValue("DebitChartOfAccounts", _DebitChartOfAccounts, value)
End Set
End Property
<RuleRequiredField("", DefaultContexts.Save)>
Property CreditChartOfAccounts() As ChartOfAccounts
Get
Return _CreditChartOfAccounts
End Get
Set(ByVal value As ChartOfAccounts)
SetPropertyValue("CreditChartOfAccounts", _CreditChartOfAccounts, value)
End Set
End Property
<RuleRequiredField("", DefaultContexts.Save)>
Property AmountHUF() As Double
Get
Return Math.Round(_AmountHUF, 4, MidpointRounding.AwayFromZero)
End Get
Set(ByVal value As Double)
SetPropertyValue("AmountHUF", _AmountHUF, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property AmountDEV() As Double
Get
Return Math.Round(_AmountDEV, 4, MidpointRounding.AwayFromZero)
End Get
Set(ByVal value As Double)
SetPropertyValue("AmountDEV", _AmountDEV, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
<VisibleInDetailView(False)>
Property AmountDEVFIFO As Double
Get
Return Math.Round(_AmountDEVFIFO, 4, MidpointRounding.AwayFromZero)
End Get
Set(value As Double)
SetPropertyValue("AmountDEVFIFO", _AmountDEVFIFO, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property LiquidAssets() As LiquidAssets
Get
Return _LiquidAssets
End Get
Set(ByVal value As LiquidAssets)
SetPropertyValue("LiquidAssets", _LiquidAssets, value)
End Set
End Property
Property Customer() As Customers
Get
Return _Customer
End Get
Set(ByVal value As Customers)
SetPropertyValue("Customer", _Customer, value)
End Set
End Property
Property DateVAT() As Date
Get
Return _DateVAT
End Get
Set(ByVal value As Date)
SetPropertyValue("DateCreated", _DateVAT, value)
End Set
End Property
Property DateExecution As Date
Get
Return _DateExecution
End Get
Set(value As Date)
SetPropertyValue("DateExecution", _DateExecution, value)
End Set
End Property
Property VAT() As VAT
Get
Return _VAT
End Get
Set(ByVal value As VAT)
SetPropertyValue("VAT", _VAT, value)
End Set
End Property
<Size(-1)>
Property NoteRows() As String
Get
Return _NoteRows
End Get
Set(ByVal value As String)
SetPropertyValue("NoteRows", _NoteRows, value)
End Set
End Property
Property RowIndex As Long
Get
Return _RowIndex
End Get
Set(value As Long)
SetPropertyValue("RowIndex", _RowIndex, value)
End Set
End Property
'Rule5DMatrix ...
<ImmediatePostData(True), DataSourceCriteria("IsParent=False")>
<RuleRequiredField("GLRows-Controlling", DefaultContexts.Save, TargetCriteria:="Rule5DMatrix.RequireControlling=True and Require5DValidation=True")> _
Property Controlling() As Controlling
Get
Return _Controlling
End Get
Set(ByVal value As Controlling)
SetPropertyValue("Controlling", _Controlling, value)
If Session.IsObjectsSaving = False And Session.IsObjectsLoading = False Then
End If
End Set
End Property
<RuleRequiredField("GLRows-JobNumberObjects", DefaultContexts.Save, TargetCriteria:="Rule5DMatrix.RequireJobNumberObjects=True and Require5DValidation=True")>
<DataSourceCriteria("IsActive != False")>
Property JobNumberObjects() As JobNumberObjects
Get
Return _JobNumberObjects
End Get
Set(ByVal value As JobNumberObjects)
SetPropertyValue("JobNumberObjects", _JobNumberObjects, value)
End Set
End Property
<RuleRequiredField("GLRows-UniqueObjects", DefaultContexts.Save, TargetCriteria:="Rule5DMatrix.RequireUniqueObjects=True and Require5DValidation=True")>
<DataSourceCriteria("IsActive != False")>
Property UniqueObjects() As UniqueObjects
Get
Return _UniqueObjects
End Get
Set(ByVal value As UniqueObjects)
SetPropertyValue("UniqueObjects", _UniqueObjects, value)
End Set
End Property
<RuleRequiredField("GLRows-CostPlace", DefaultContexts.Save, TargetCriteria:="Rule5DMatrix.RequireCostPlace=True and Require5DValidation=True")>
<DataSourceCriteria("IsActive != False")>
Property CostPlace As CostPlace
Get
Return _CostPlace
End Get
Set(ByVal value As CostPlace)
SetPropertyValue("CostPlace", _CostPlace, value)
End Set
End Property
<RuleRequiredField("GLRows-CostHolder", DefaultContexts.Save, TargetCriteria:="Rule5DMatrix.RequireCostHolder=True and Require5DValidation=True")>
<DataSourceCriteria("IsActive != False")>
Property CostHolder() As CostHolder
Get
Return _CostHolder
End Get
Set(ByVal value As CostHolder)
SetPropertyValue("CostHolder", _CostHolder, value)
End Set
End Property
<Browsable(False)> _
ReadOnly Property Rule5DMatrix As Rule5DMatrix
Get
If GLHeader Is Nothing Then
Return Nothing
Else
Dim _Rule5DforGL As Rule5DforGL = Session.FindObject(Of Rule5DforGL)(CriteriaOperator.Parse("GLDocumentType=?", GLHeader.GLDocumentType))
If _Rule5DforGL IsNot Nothing Then
Return _Rule5DforGL.Rule5DMatrix
Else
Return Nothing
End If
End If
End Get
End Property
<Browsable(False)> _
ReadOnly Property Require5DValidation As Boolean
Get
Dim _Require5DValidation As Boolean = True
If _Require5DValidation Then
Select Case Me.CreditChartOfAccounts.AccountNumber
Case "599", "491", "492", "493"
_Require5DValidation = False
Case Else
_Require5DValidation = True
End Select
End If
If _Require5DValidation Then
Select Case Me.DebitChartOfAccounts.AccountNumber
Case "599", "491", "492", "493"
_Require5DValidation = False
Case Else
_Require5DValidation = True
End Select
End If
Return _Require5DValidation
End Get
End Property
Property ConnectInfo() As String
Get
Return _ConnectInfo
End Get
Set(ByVal value As String)
SetPropertyValue("ConnectInfo", _ConnectInfo, LTrim(RTrim(value)))
End Set
End Property
Property ConnectInfoAdvanced As String
Get
Return _ConnectInfoAdvanced
End Get
Set(value As String)
SetPropertyValue("ConnectInfoAdvanced", _ConnectInfoAdvanced, value)
End Set
End Property
Property PartnerType() As ePartnerType
Get
Return _PartnerType
End Get
Set(ByVal value As ePartnerType)
SetPropertyValue("PartnerType", _PartnerType, value)
End Set
End Property
Property DebitAmountHUF() As Double
Get
Return Math.Round(_DebitAmountHUF, 4, MidpointRounding.AwayFromZero)
End Get
Set(ByVal value As Double)
SetPropertyValue("DebitAmountHUF", _DebitAmountHUF, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property CreditAmountHUF() As Double
Get
Return Math.Round(_CreditAmountHUF, 4, MidpointRounding.AwayFromZero)
End Get
Set(ByVal value As Double)
SetPropertyValue("CreditAmountHUF", _CreditAmountHUF, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property DebitAmountDEV() As Double
Get
Return _DebitAmountDEV
End Get
Set(ByVal value As Double)
SetPropertyValue("DebitAmountDEV", _DebitAmountDEV, value)
End Set
End Property
Property CreditAmountDEV() As Double
Get
Return _CreditAmountDEV
End Get
Set(ByVal value As Double)
SetPropertyValue("CreditAmountDEV", _CreditAmountDEV, value)
End Set
End Property
Property GLRowsTypeVAT As eGLRowsTypeVAT
Get
Return _GLRowsTypeVAT
End Get
Set(ByVal value As eGLRowsTypeVAT)
SetPropertyValue("GLRowsTypeVAT", _GLRowsTypeVAT, value)
End Set
End Property
Property GLRowsGUID As Guid
Get
Return _GLRowsGUID
End Get
Set(ByVal value As Guid)
SetPropertyValue("GLRowsGUID", _GLRowsGUID, value)
End Set
End Property
'-- Összegek !!!
Property InAmountHUF As Double
Get
Return Math.Round(_InAmountHUF, 4, MidpointRounding.AwayFromZero)
End Get
Set(ByVal value As Double)
SetPropertyValue("InAmountHUF", _InAmountHUF, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property OutAmountHUF As Double
Get
Return Math.Round(_OutAmountHUF, 4, MidpointRounding.AwayFromZero)
End Get
Set(ByVal value As Double)
SetPropertyValue("OutAmountHUF", _OutAmountHUF, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property InAmountDEV As Double
Get
Return Math.Round(_InAmountDEV, 4, MidpointRounding.AwayFromZero)
End Get
Set(ByVal value As Double)
SetPropertyValue("InAmountDEV", _InAmountDEV, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property OutAmountDEV As Double
Get
Return Math.Round(_OutAmountDEV, 4, MidpointRounding.AwayFromZero)
End Get
Set(ByVal value As Double)
SetPropertyValue("OutAmountDEV", _OutAmountDEV, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property ImportID As String
Get
Return _ImportID
End Get
Set(ByVal value As String)
SetPropertyValue("ImportID", _ImportID, value)
End Set
End Property
Property CashType As eCashType
Get
Return _CashType
End Get
Set(ByVal value As eCashType)
SetPropertyValue("CashType", _CashType, value)
End Set
End Property
Property TransactionType As eTransactionType
Get
Return _TransactionType
End Get
Set(ByVal value As eTransactionType)
SetPropertyValue("TransactionType", _TransactionType, value)
End Set
End Property
Property CurrencyRate2 As Double
Get
Return _CurrencyRate2
End Get
Set(value As Double)
SetPropertyValue("CurrencyRate2", _CurrencyRate2, value)
End Set
End Property
Property InAmountDEV2 As Double
Get
Return Math.Round(_InAmountDEV2, 4, MidpointRounding.AwayFromZero)
End Get
Set(value As Double)
SetPropertyValue("InAmountDEV2", _InAmountDEV2, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property OutAmountDEV2 As Double
Get
Return Math.Round(_OutAmountDEV2, 4, MidpointRounding.AwayFromZero)
End Get
Set(value As Double)
SetPropertyValue("OutAmountDEV2", _OutAmountDEV2, Math.Round(value, 4, MidpointRounding.AwayFromZero))
End Set
End Property
Property GLRowsType As eGLRowsType
Get
Return _GLRowsType
End Get
Set(value As eGLRowsType)
SetPropertyValue("GLRowsType", _GLRowsType, value)
End Set
End Property
<VisibleInDetailView(False)> _
<VisibleInListView(False)> _
<VisibleInLookupListView(False)> _
Property GLRowsRateDiff As GLRows
Get
Return _GLRowsRateDiff
End Get
Set(value As GLRows)
SetPropertyValue("GLRowsRateDiff", _GLRowsRateDiff, value)
End Set
End Property
<VisibleInDetailView(False)> _
<VisibleInListView(False)> _
<VisibleInLookupListView(False)> _
Property InvoiceRows As InvoiceRows
Get
Return _InvoiceRows
End Get
Set(value As InvoiceRows)
SetPropertyValue("InvoiceRows", _InvoiceRows, value)
End Set
End Property
<VisibleInDetailView(False)> _
<VisibleInListView(False)> _
<VisibleInLookupListView(False)> _
Property RegistryRowsFinancialControlling As RegistryRowsFinancialControlling
Get
Return _RegistryRowsFinancialControlling
End Get
Set(value As RegistryRowsFinancialControlling)
SetPropertyValue("RegistryRowsFinancialControlling", _RegistryRowsFinancialControlling, value)
End Set
End Property
Property BankImportHeaderSumDetail As BankImportHeaderSumDetail
Get
Return _BankImportHeaderSumDetail
End Get
Set(value As BankImportHeaderSumDetail)
SetPropertyValue("BankImportHeaderSumDetail", _BankImportHeaderSumDetail, value)
End Set
End Property
ReadOnly Property CurrencyRate As Double
Get
If AmountDEV <> 0 Then
Return AmountHUF / AmountDEV
Else
Return 1
End If
End Get
End Property
Public Sub AddGLRows(ByVal p_GLHeader As GLHeader, ByVal p_DebitChartOfAccounts As ChartOfAccounts, ByVal p_CreditChartOfAccounts As ChartOfAccounts, _
ByVal p_AmountDEV As Double, ByVal p_AmountHUF As Double, ByVal p_LiquidAssets As LiquidAssets, _
ByVal p_Customer As Customers, ByVal p_DateVAT As Date, _
ByVal p_VAT As VAT, ByVal p_NoteRows As String, ByVal p_UniqueObjects As UniqueObjects, _
ByVal p_Controlling As Controlling, ByVal p_JobNumberOBjects As JobNumberObjects, _
ByVal p_CostPlace As CostPlace, ByVal p_CostHolder As CostHolder, ByVal p_ConnectInfo As String, _
ByVal p_GLRowsTypeVAT As eGLRowsTypeVAT, ByVal p_GLRowsGUID As Guid, Optional ByVal p_TransactionType As eTransactionType = eTransactionType.eNotSet, _
Optional ByVal p_CashType As eCashType = eCashType.eNormal, Optional ByVal p_PartnerType As ePartnerType = ePartnerType.eNotSet)
TransactionType = p_TransactionType
GLHeader = p_GLHeader
DebitChartOfAccounts = p_DebitChartOfAccounts
CreditChartOfAccounts = p_CreditChartOfAccounts
AmountDEV = p_AmountDEV
AmountHUF = p_AmountHUF
LiquidAssets = p_LiquidAssets
Customer = p_Customer
DateVAT = p_DateVAT
VAT = p_VAT
NoteRows = p_NoteRows
UniqueObjects = p_UniqueObjects
Controlling = p_Controlling
JobNumberObjects = p_JobNumberOBjects
CostPlace = p_CostPlace
CostHolder = p_CostHolder
ConnectInfo = p_ConnectInfo
GLRowsTypeVAT = p_GLRowsTypeVAT
GLRowsGUID = p_GLRowsGUID
CashType = p_CashType
PartnerType = p_PartnerType
End Sub
Public Sub DivideRows(_ocur As Xpo.XPObjectSpace, p_GLRowsBase As GLRows, p_GLRowsDivideH As GLRowsDivideH, Optional p_WithCommit As Boolean = False)
'-- Az eljárás megcsinálja a megfelelõ fõkönyvi sor sorbontását
Dim _GLRowsDivideR As GLRowsDivideR
Dim _GLHeader As GLHeader
Dim _GLBank As GLBank
Dim _GLCassa As GLCassa
Dim _GLCompensation As GLCompensation
Dim _GLRows As GLRows
Dim _DebitChartOfAccounts As ChartOfAccounts = Nothing
Dim _CreditChartOfAccounts As ChartOfAccounts = Nothing
Dim _LiquidAssets As LiquidAssets = Nothing
Dim _CustomersFrom_Base As CustomersFrom = Nothing
Dim _Customers_Base As Customers = Nothing
Dim _ConnectInfo_Base As String = ""
Dim _PartnerType_Base As ePartnerType = ePartnerType.eNotSet
If p_GLRowsBase IsNot Nothing Then
_GLHeader = p_GLRowsBase.GLHeader
If p_GLRowsBase.PartnerType = ePartnerType.ePayabels Or p_GLRowsBase.PartnerType = ePartnerType.eReceivables Then
_CustomersFrom_Base = p_GLRowsBase.GLHeader.CustomersFrom
_Customers_Base = p_GLRowsBase.Customer
_PartnerType_Base = p_GLRowsBase.PartnerType
_ConnectInfo_Base = p_GLRowsBase.ConnectInfo
End If
If p_GLRowsBase.GLHeader.GLDocumentType = eGLDocumentType.eGLBank Or _
p_GLRowsBase.GLHeader.GLDocumentType = eGLDocumentType.eGLCassa Or _
p_GLRowsBase.GLHeader.GLDocumentType = eGLDocumentType.eGLCompensation Or _
p_GLRowsBase.GLHeader.GLDocumentType = eGLDocumentType.eGLMixed Then ' Bank esetén mi a helyzet !
Select Case p_GLRowsBase.GLHeader.GLDocumentType
Case eGLDocumentType.eGLBank
_GLBank = _ocur.FindObject(Of GLBank)(CriteriaOperator.Parse("Oid=?", p_GLRowsBase.GLHeader.Oid), True)
_LiquidAssets = _GLBank.LiquidAssets_Main
Case eGLDocumentType.eGLCassa
_GLCassa = _ocur.FindObject(Of GLCassa)(CriteriaOperator.Parse("Oid=?", p_GLRowsBase.GLHeader.Oid), True)
_LiquidAssets = _GLCassa.LiquidAssets_Cassa
Case eGLDocumentType.eGLCompensation
_GLCompensation = _ocur.FindObject(Of GLCompensation)(CriteriaOperator.Parse("Oid=?", p_GLRowsBase.GLHeader.Oid), True)
_LiquidAssets = _GLCompensation.LiquidAssets_Main
End Select
For Each _GLRowsDivideR In p_GLRowsDivideH.GLRowsDivideR
_GLRows = _ocur.CreateObject(Of GLRows)()
_GLRows.GLHeader = _GLHeader
If p_GLRowsBase.GLHeader.GLDocumentType <> eGLDocumentType.eGLMixed Then
If _LiquidAssets.GetChartOfAccounts(_GLRows.GLHeader.DateExecution.Year, 0).AccountNumber = p_GLRowsBase.DebitChartOfAccounts.AccountNumber Then
'-- Bankba jóváírás érkezett
_DebitChartOfAccounts = _LiquidAssets.GetChartOfAccounts(_GLRows.GLHeader.DateExecution.Year, 0)
If _GLRowsDivideR.ChartOfAccounts IsNot Nothing Then
_CreditChartOfAccounts = _GLRowsDivideR.ChartOfAccounts
Else
_CreditChartOfAccounts = p_GLRowsDivideH.GLRowsBase.CreditChartOfAccounts
End If
_GLRows.InAmountDEV = _GLRowsDivideR.AmountDEV
_GLRows.InAmountHUF = _GLRowsDivideR.AmountHUF
ElseIf _LiquidAssets.GetChartOfAccounts(_GLRows.GLHeader.DateExecution.Year, 0).AccountNumber = p_GLRowsBase.CreditChartOfAccounts.AccountNumber Then
'-- Banki terhelés
_CreditChartOfAccounts = _LiquidAssets.GetChartOfAccounts(_GLRows.GLHeader.DateExecution.Year, 0)
If _GLRowsDivideR.ChartOfAccounts IsNot Nothing Then
_DebitChartOfAccounts = _GLRowsDivideR.ChartOfAccounts
Else
_DebitChartOfAccounts = p_GLRowsDivideH.GLRowsBase.DebitChartOfAccounts
End If
_GLRows.OutAmountDEV = _GLRowsDivideR.AmountDEV
_GLRows.OutAmountHUF = _GLRowsDivideR.AmountHUF
End If
End If
If p_GLRowsBase.GLHeader.GLDocumentType = eGLDocumentType.eGLMixed Then
_DebitChartOfAccounts = _GLRowsDivideR.DebitChartOfAccounts
_CreditChartOfAccounts = _GLRowsDivideR.CreditChartOfAccounts
_GLRows.OutAmountDEV = _GLRowsDivideR.AmountDEV
_GLRows.OutAmountHUF = _GLRowsDivideR.AmountHUF
_LiquidAssets = Nothing
End If
_GLRows.AddGLRows(_GLHeader, _ocur.GetObject(_DebitChartOfAccounts), _ocur.GetObject(CreditChartOfAccounts), _GLRowsDivideR.AmountDEV, _GLRowsDivideR.AmountHUF, _
_LiquidAssets, _ocur.GetObject(_GLRowsDivideR.Customers), _GLHeader.DateExecution, Nothing, _ocur.GetObject(_GLRowsDivideR.NoteRows), _
_ocur.GetObject(_GLRowsDivideR.UniqueObjects), _ocur.GetObject(_GLRowsDivideR.Controlling), _ocur.GetObject(_GLRowsDivideR.JobNumberObjects), _ocur.GetObject(_GLRowsDivideR.CostPlace), _
_ocur.GetObject(_GLRowsDivideR.CostHolder), _GLRowsDivideR.ConnectInfo, eGLRowsTypeVAT.eNettoRow, p_GLRowsBase.GLRowsGUID, _
p_GLRowsBase.TransactionType, p_GLRowsBase.CashType, p_GLRowsBase.PartnerType)
If p_WithCommit Then
_ocur.CommitChanges()
If _GLRows.PartnerType = ePartnerType.ePayabels Or _GLRows.PartnerType = ePartnerType.eReceivables Then
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow, _GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo)
End If
End If
Next
_ocur.Delete(p_GLRowsBase)
End If
If p_WithCommit Then
_ocur.CommitChanges()
If _PartnerType_Base = ePartnerType.ePayabels Or _PartnerType_Base = ePartnerType.eReceivables Then
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow, _CustomersFrom_Base, _Customers_Base, _PartnerType_Base, _ConnectInfo_Base)
End If
End If
End If
End Sub
End Class