First create solution
This commit is contained in:
+810
@@ -0,0 +1,810 @@
|
||||
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
|
||||
Imports DevExpress.ExpressApp.ConditionalAppearance
|
||||
Imports DevExpress.Xpo.DB
|
||||
|
||||
'<EditorStateRuleAttribute("Hide DEV properties when HUF is selected in GeneralLedger", "CurrencyRate; row_AmountDEV", EditorState.Hidden, "CurrencyName.ShortName = 'HUF' and GLDocumentType in (0,1,3,4,5)", ViewType.DetailView)> _
|
||||
'<EditorStateRule("Hide CustomersFrom", "CustomersFrom", EditorState.Disabled, "(IsNull(CustomersFrom))=False", ViewType.DetailView)> _
|
||||
|
||||
<DefaultClassOptions()>
|
||||
<NavigationItem(False), CreatableItem(False)>
|
||||
<Appearance("Hide DEV properties when HUF is selected in GeneralLedger",
|
||||
TargetItems:="CurrencyRate; row_AmountDEV",
|
||||
Criteria:="CurrencyName.ShortName = 'HUF' and GLDocumentType in (0,1,3,4,5)",
|
||||
Visibility:=Editors.ViewItemVisibility.Hide,
|
||||
Context:="DetailView")>
|
||||
<Appearance("Hide CustomersFrom",
|
||||
TargetItems:="CustomersFrom",
|
||||
Criteria:="(IsNull(CustomersFrom))=False",
|
||||
Enabled:=False,
|
||||
Context:="DetailView")>
|
||||
<Appearance("Hide row_ info when IsEditable=False",
|
||||
AppearanceItemType:="ViewItem",
|
||||
Criteria:="IsEditable=False",
|
||||
TargetItems:="row_GLHeader; row_DebitChartOfAccounts; row_CreditChartOfAccounts; row_AmountHUF; row_AmountDEV; row_LiquidAssets;" +
|
||||
" row_Customer; row_DateVAT; row_VAT; row_NoteRows; row_UniqueObjects; row_Controlling; row_JobNumberObjects; " +
|
||||
" row_CostPlace; row_CostHolder; row_ConnectInfo;",
|
||||
Visibility:=Editors.ViewItemVisibility.Hide)>
|
||||
<RuleCriteria("RuleCriteria GLHeader-row_VAT-GLCassa", "aToTable_GLCassa_Contexts", "row_VAT.InversState=False", "Fordított ÁFA nem választható ki !")>
|
||||
<RuleCriteria("RuleCriteria GLHeader-row_Controlling", "aToTable_GLAccounts_Contexts",
|
||||
"(row_Controlling.IsParent=False) or (Rule5DMatrix.RequireControlling=False and isnull(row_Controlling)=True)",
|
||||
"Gyüjtő kontrollszám nem választható ki!", SkipNullOrEmptyValues:=False)>
|
||||
<RuleCriteria("RuleCriteria GLHeader-row_DebitChartOfAccounts", "aToTable_GLMixed_Contexts", "row_DebitChartOfAccounts.Children.Count=0", "Csak gyermek objektum választható ki!", SkipNullOrEmptyValues:=False)>
|
||||
<RuleCriteria("RuleCriteria GLHeader-row_CreditChartOfAccounts", "aToTable_GLMixed_Contexts", "row_CreditChartOfAccounts.Children.Count=0", "Csak gyermek objektum választható ki!", SkipNullOrEmptyValues:=False)>
|
||||
<RuleCriteria("RuleCriteria GLHeader-ChartOfAccountsYearState-Save", "*",
|
||||
"ChartOfAccountsYearState=False",
|
||||
"Zárolt főkönyvi év, nem lehet bizonylatot rögzíteni, módosítani! ", SkipNullOrEmptyValues:=True)>
|
||||
<DefaultProperty("DocumentNumber")>
|
||||
Public Class GLHeader
|
||||
Inherits BaseObject
|
||||
Private _GLDocumentType As eGLDocumentType 'Bizonylat tipusa
|
||||
Private _CustomersFrom As CustomersFrom 'Saját c g
|
||||
Private _CurrencyName As CurrencyName ' devizanem
|
||||
Private _CurrencyRate As Double = 1 'Deviza árfolyam
|
||||
Private _DocumentNumber As String 'Bizonylatszám, számlaszám
|
||||
Private _RegistryNumber As String 'Iktatószám
|
||||
Private _DateCreated As Date 'Kiállítás dátuma
|
||||
Private _DateExecution As Date 'Teljesítés dátuma
|
||||
Private _DatePayment As Date 'Fizetési határidő
|
||||
Private _NoteHeader As String 'Fejléc megjegyzés
|
||||
Private _IsEditable As Boolean = True 'Szerkeszthető
|
||||
Private _IsStorno As Boolean = False 'Stornó bizonylat
|
||||
Private _ImportedInvoice As InvoiceHeader 'melyik vevõi számlából készült
|
||||
Private _ImportedRegistryHeader As RegistryHeader 'Melyik szállítói iktatásból jött
|
||||
Private _ImportedOther As Guid 'Egyéb importált azonosító
|
||||
Private _HUNumberToText As String ' Azaz string !!!
|
||||
Private _CashHandler As String ' Pénztárnál befizető vagy átvevő
|
||||
|
||||
Private _GLOpenCloseHeader As GLOpenCloseHeader 'Melyik év végi záráshoz tartozik !
|
||||
|
||||
' Beviteli mezők
|
||||
|
||||
Private _row_GLHeader As GLHeader
|
||||
Private _row_DebitChartOfAccounts As ChartOfAccounts 'Tartozik számlaszám
|
||||
Private _row_CreditChartOfAccounts As ChartOfAccounts ' Követel számlaszám
|
||||
Private _row_AmountHUF As Double ' összeg forintban
|
||||
Private _row_AmountDEV As Double ' összeg devizában
|
||||
Private _row_LiquidAssets As LiquidAssets ' pénzeszköz
|
||||
Private _row_Customer As Customers ' partner
|
||||
Private _row_DateVAT As Date 'sor dátum
|
||||
Private _row_VAT As VAT
|
||||
Private _row_NoteRows As String
|
||||
|
||||
Private _row_UniqueObjects As UniqueObjects 'Egyedi azonosító
|
||||
Private _row_Controlling As Controlling 'Kontrolling szám
|
||||
Private _row_JobNumberObjects As JobNumberObjects 'Munkaszám
|
||||
Private _row_CostPlace As CostPlace 'Költséghely
|
||||
Private _row_CostHolder As CostHolder 'Költségviselõ
|
||||
Private _row_ConnectInfo As String 'Folyószámla analitika kötési szám
|
||||
|
||||
Private _IsRegistryGLAccounts As Boolean 'Rögzítés után van automatikus iktatás
|
||||
Public Sub New(ByVal session As Session)
|
||||
MyBase.New(session)
|
||||
End Sub
|
||||
Public Overrides Sub AfterConstruction()
|
||||
MyBase.AfterConstruction()
|
||||
CurrencyName = Session.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName=?", "HUF"))
|
||||
If Session.IsNewObject(Me) Then
|
||||
Me.GLDocumentType = eGLDocumentType.eGLMixed
|
||||
IsEditable = True
|
||||
IsStorno = False
|
||||
End If
|
||||
|
||||
End Sub
|
||||
Protected Overrides Sub OnSaving()
|
||||
MyBase.OnSaving()
|
||||
|
||||
If Session.IsObjectToDelete(Me) = False Then
|
||||
If Me.GLRows.Count > 0 Then
|
||||
ReorderRows()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
Private Sub ReorderRows()
|
||||
Dim _GLRows As GLRows
|
||||
Dim _GLRows_New As GLRows = Nothing
|
||||
Dim _RowIndex As Long = 0
|
||||
Dim _GLRows_Array As New ArrayList
|
||||
'//------------------------------------------------------------------------------------------
|
||||
Me.GLRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
|
||||
For Each _GLRows In Me.GLRows
|
||||
If Session.IsNewObject(_GLRows) Then
|
||||
_GLRows_New = _GLRows
|
||||
Else
|
||||
_GLRows_Array.Add(_GLRows)
|
||||
End If
|
||||
Next
|
||||
|
||||
If _GLRows_New IsNot Nothing Then
|
||||
_GLRows_Array.Add(_GLRows_New)
|
||||
End If
|
||||
|
||||
For Each _GLRows In _GLRows_Array
|
||||
If _GLRows.RowIndex <> _RowIndex Then
|
||||
_GLRows.RowIndex = _RowIndex
|
||||
_GLRows.Save()
|
||||
End If
|
||||
_RowIndex += 1
|
||||
Next
|
||||
End Sub
|
||||
Private Sub RecalculateAmountHUF()
|
||||
If Me.row_AmountDEV <> 0 Then
|
||||
If GLDocumentType = 0 Or GLDocumentType = 1 Or GLDocumentType = 3 Or GLDocumentType = 4 Or GLDocumentType = 5 Then
|
||||
Me.row_AmountHUF = Math.Round(Me.row_AmountDEV * CurrencyRate, 2, MidpointRounding.AwayFromZero)
|
||||
End If
|
||||
Else
|
||||
Me.row_AmountHUF = 0
|
||||
End If
|
||||
End Sub
|
||||
<VisibleInListView(False)>
|
||||
<Association("GLHeader-GLFileData", GetType(GLFileData)), Aggregated(), ExpandObjectMembers(ExpandObjectMembers.Never)>
|
||||
ReadOnly Property GLFileData As XPCollection(Of GLFileData)
|
||||
Get
|
||||
Return GetCollection(Of GLFileData)("GLFileData")
|
||||
End Get
|
||||
End Property
|
||||
'<RuleValueComparison("", DefaultContexts.Save, ValueComparisonType.GreaterThan, "0")> _
|
||||
ReadOnly Property GLRowsCount() As Long
|
||||
Get
|
||||
Return GLRows.Count
|
||||
End Get
|
||||
End Property
|
||||
Property GLDocumentType() As eGLDocumentType
|
||||
Get
|
||||
Return _GLDocumentType
|
||||
End Get
|
||||
Set(ByVal value As eGLDocumentType)
|
||||
SetPropertyValue("GLDocumentType", _GLDocumentType, value)
|
||||
End Set
|
||||
End Property
|
||||
<RuleRequiredField("GLAccounts-CustomersFrom", "aFinal_GLAccount_Context")>
|
||||
<RuleRequiredField("GLCassa-CustomersFrom", "aFinal_GLCassa_Context")>
|
||||
<RuleRequiredField("GLCassa-CustomersFrom1", "aFinalAndNew_GLCassa_Context")>
|
||||
<RuleRequiredField("GLMixed-CustomersFrom", "aFinal_GLMixed_Context")>
|
||||
<ImmediatePostData()>
|
||||
Property CustomersFrom() As CustomersFrom
|
||||
Get
|
||||
Return _CustomersFrom
|
||||
End Get
|
||||
Set(ByVal value As CustomersFrom)
|
||||
SetPropertyValue("CustomersFrom", _CustomersFrom, value)
|
||||
End Set
|
||||
End Property
|
||||
<RuleRequiredField("GLHeader.DocumentNumber.GLAccounts", "aFinal_GLAccount_Context")>
|
||||
<RuleRequiredField("GLHeader.DocumentNumber.GLBank.Final", "aFinal_GLBank_Context")>
|
||||
<RuleRequiredField("GLHeader.DocumentNumber.GLBank.FinalAndNew", "aFinalAndNew_GLBank_Context")>
|
||||
<ImmediatePostData(True)>
|
||||
<NonCloneable()>
|
||||
Overridable Property DocumentNumber() As String
|
||||
Get
|
||||
Return _DocumentNumber
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
SetPropertyValue("DocumentNumber", _DocumentNumber, value)
|
||||
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
|
||||
If Me.GLDocumentType = eGLDocumentType.eGLAccount Then
|
||||
row_ConnectInfo = DocumentNumber
|
||||
End If
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
<NonCloneable()>
|
||||
Property RegistryNumber() As String
|
||||
Get
|
||||
Return _RegistryNumber
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
SetPropertyValue("RegistryNumber", _RegistryNumber, value)
|
||||
End Set
|
||||
End Property
|
||||
<RuleRequiredField("GLHeader.DateCreated", "aFinal_GLAccount_Context")>
|
||||
Property DateCreated() As Date
|
||||
Get
|
||||
Return _DateCreated
|
||||
End Get
|
||||
Set(ByVal value As Date)
|
||||
SetPropertyValue("DateCreated", _DateCreated, value)
|
||||
End Set
|
||||
End Property
|
||||
<RuleRequiredField("GLHeader.DateExecution", "aFinal_GLAccount_Context")>
|
||||
<RuleRequiredField("GLBank.DateExecution.Final", "aFinalAndNew_GLBank_Context")>
|
||||
<RuleRequiredField("GLBank.DateExecution.FinalAndNew", "aFinal_GLBank_Context")>
|
||||
<RuleRequiredField("GLMixed-DateExecution", "aFinal_GLMixed_Context")>
|
||||
<RuleRequiredField("GLHeader.DateExecution.Defaultcontexts.Save", DefaultContexts.Save)>
|
||||
Property DateExecution() As Date
|
||||
Get
|
||||
Return _DateExecution
|
||||
End Get
|
||||
Set(ByVal value As Date)
|
||||
SetPropertyValue("DateExecution", _DateExecution, value)
|
||||
If row_DateVAT = Nothing Then
|
||||
row_DateVAT = value
|
||||
End If
|
||||
If TryCast(Me, GLBank) IsNot Nothing Then
|
||||
If Me.row_LiquidAssets IsNot Nothing Then
|
||||
TryCast(Me, GLBank).BallanceHUF = TryCast(Me, GLBank).GetBallanceHUF(Me.row_LiquidAssets, value)
|
||||
TryCast(Me, GLBank).BallanceDEV = TryCast(Me, GLBank).GetBallanceDEV(Me.row_LiquidAssets, value)
|
||||
End If
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
ReadOnly Property DateExecutionYear As String
|
||||
Get
|
||||
Return DateExecution.Date.Year.ToString
|
||||
End Get
|
||||
End Property
|
||||
ReadOnly Property DateExecutionQuarter As String
|
||||
Get
|
||||
Return AlignStr(DatePart(DateInterval.Quarter, DateExecution).ToString, eDirection.Left, " ", 2) & ". NÉ."
|
||||
End Get
|
||||
End Property
|
||||
ReadOnly Property DateExecutionMonth As String
|
||||
Get
|
||||
Return String.Format("{0}. {1}", AlignStr(DateExecution.Date.Month.ToString, eDirection.Left, " ", 2), Format(DateExecution, "MMMM"))
|
||||
End Get
|
||||
End Property
|
||||
ReadOnly Property DateExecutionWeekOfYear As String
|
||||
Get
|
||||
Return AlignStr(DatePart(DateInterval.WeekOfYear, DateExecution), eDirection.Left, " ", 2) & ". hét"
|
||||
End Get
|
||||
End Property
|
||||
ReadOnly Property DateExecutionString As Date
|
||||
Get
|
||||
Return DateExecution.Date.ToString("d")
|
||||
End Get
|
||||
End Property
|
||||
<RuleRequiredField("GLHeader.DatePayment", "aFinal_GLAccount_Context")>
|
||||
Property DatePayment() As Date
|
||||
Get
|
||||
Return _DatePayment
|
||||
End Get
|
||||
Set(ByVal value As Date)
|
||||
SetPropertyValue("DatePayment", _DatePayment, value)
|
||||
End Set
|
||||
End Property
|
||||
<Size(-1)>
|
||||
Property NoteHeader() As String
|
||||
Get
|
||||
Return _NoteHeader
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
SetPropertyValue("NoteHeader", _NoteHeader, value)
|
||||
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
|
||||
If String.IsNullOrEmpty(value) And String.IsNullOrEmpty(row_NoteRows) = True Then
|
||||
row_NoteRows = value
|
||||
End If
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
<RuleRequiredField("GLHeader.CurrencyName", "aFinal_GLAccount_Context")>
|
||||
Property CurrencyName() As CurrencyName
|
||||
Get
|
||||
Return _CurrencyName
|
||||
End Get
|
||||
Set(ByVal value As CurrencyName)
|
||||
SetPropertyValue("CurrencyName", _CurrencyName, value)
|
||||
End Set
|
||||
End Property
|
||||
<RuleRange("GLHeader.CurrencyName.ToTable", "aToTable_GLAccounts_Contexts", 2, 999999999999999999, TargetCriteria:="CurrencyName.ShortName != 'HUF'")>
|
||||
<ImmediatePostData(True)>
|
||||
Property CurrencyRate() As Double
|
||||
Get
|
||||
'If CurrencyName.ShortName = "HUF" Then
|
||||
'Return 1
|
||||
'Else
|
||||
Return _CurrencyRate
|
||||
'End If
|
||||
End Get
|
||||
Set(ByVal value As Double)
|
||||
SetPropertyValue("CurrencyRate", _CurrencyRate, value)
|
||||
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
|
||||
Me.RecalculateAmountHUF()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
<NonCloneable()>
|
||||
<ImmediatePostData()>
|
||||
Property IsEditable() As Boolean
|
||||
Get
|
||||
Return _IsEditable
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
SetPropertyValue("IsEditable", _IsEditable, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonCloneable()>
|
||||
Property IsStorno() As Boolean
|
||||
Get
|
||||
Return _IsStorno
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
SetPropertyValue("IsStorno", _IsStorno, value)
|
||||
End Set
|
||||
End Property
|
||||
Property HUNumberToText As String
|
||||
Get
|
||||
Return _HUNumberToText
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
SetPropertyValue("HUNumberToText", _HUNumberToText, value)
|
||||
End Set
|
||||
End Property
|
||||
<Size(-1)>
|
||||
<RuleRequiredField("CashType-GLHeader", "aFinal_GLCassa_Context", TargetCriteria:="GLDocumentType=3")>
|
||||
<RuleRequiredField("CashType-GLHeader-FN", "aFinalAndNew_GLCassa_Context", TargetCriteria:="GLDocumentType=3")>
|
||||
Property CashHandler As String
|
||||
Get
|
||||
Return _CashHandler
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
SetPropertyValue("CashHandler", _CashHandler, value)
|
||||
End Set
|
||||
End Property
|
||||
Property ImportedInvoice As InvoiceHeader
|
||||
Get
|
||||
Return _ImportedInvoice
|
||||
End Get
|
||||
Set(ByVal value As InvoiceHeader)
|
||||
SetPropertyValue("ImportedInvoice", _ImportedInvoice, value)
|
||||
End Set
|
||||
End Property
|
||||
Property ImportedRegistryHeader As RegistryHeader
|
||||
Get
|
||||
Return _ImportedRegistryHeader
|
||||
End Get
|
||||
Set(ByVal value As RegistryHeader)
|
||||
SetPropertyValue("ImportedRegistryHeader", _ImportedRegistryHeader, value)
|
||||
End Set
|
||||
End Property
|
||||
<Browsable(False)>
|
||||
Property ImportedOther As Guid
|
||||
Get
|
||||
Return _ImportedOther
|
||||
End Get
|
||||
Set(ByVal value As Guid)
|
||||
SetPropertyValue("ImportedOther", _ImportedOther, value)
|
||||
End Set
|
||||
End Property
|
||||
<Browsable(False)>
|
||||
Property GLOpenCloseHeader As GLOpenCloseHeader
|
||||
Get
|
||||
Return _GLOpenCloseHeader
|
||||
End Get
|
||||
Set(value As GLOpenCloseHeader)
|
||||
SetPropertyValue("GLOpenCloseHeader", _GLOpenCloseHeader, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
'Nonpersistent tulajdonságok a sorok rögzítéséhez
|
||||
<NonPersistent()>
|
||||
<ImmediatePostData(True), DataSourceCriteria("AccountYear=GetYear('@This.DateExecution')")>
|
||||
<RuleRequiredField("GLMixed-row_DebitChartOfAccounts", "aToTable_GLMixed_Contexts")>
|
||||
<VisibleInListView(False)>
|
||||
Property row_DebitChartOfAccounts() As ChartOfAccounts
|
||||
Get
|
||||
Return _row_DebitChartOfAccounts
|
||||
End Get
|
||||
Set(ByVal value As ChartOfAccounts)
|
||||
SetPropertyValue("row_DebitChartOfAccounts", _row_DebitChartOfAccounts, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<ImmediatePostData(True), DataSourceCriteria("AccountYear=GetYear('@This.DateExecution')")>
|
||||
<RuleRequiredField("GLMixed-row_CreditChartOfAccounts", "aToTable_GLMixed_Contexts")>
|
||||
<VisibleInListView(False)>
|
||||
Property row_CreditChartOfAccounts() As ChartOfAccounts
|
||||
Get
|
||||
Return _row_CreditChartOfAccounts
|
||||
End Get
|
||||
Set(ByVal value As ChartOfAccounts)
|
||||
SetPropertyValue("row_CreditChartOfAccounts", _row_CreditChartOfAccounts, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<RuleValueComparison("GLMixed-row_AmountHUF", "aToTable_GLMixed_Contexts", ValueComparisonType.NotEquals, 0)>
|
||||
<RuleValueComparison("GLCassa-row_AmountHUF", "aToTable_GLCassa_Contexts", ValueComparisonType.GreaterThan, 0)>
|
||||
<RuleValueComparison("GLBank-row_AmountHUF", "aToTable_GLBank_Contexts", ValueComparisonType.GreaterThan, 0)>
|
||||
<RuleValueComparison("GLCompensation-row_AmountHUF", "aToTable_GLCompensation_Contexts", ValueComparisonType.GreaterThan, 0)>
|
||||
<ImmediatePostData(True)>
|
||||
<VisibleInListView(False)>
|
||||
Overridable Property row_AmountHUF() As Double
|
||||
Get
|
||||
Return _row_AmountHUF
|
||||
End Get
|
||||
Set(ByVal value As Double)
|
||||
SetPropertyValue("row_AmountHUF", _row_AmountHUF, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<RuleValueComparison("GLMixed-row_AmountDEV", "aToTable_GLMixed_Contexts", ValueComparisonType.NotEquals, 0, TargetCriteria:="CurrencyName.ShortName != 'HUF'")>
|
||||
<RuleValueComparison("GLCompensation-row_AmountDEV", "aToTable_GLCompensation_Contexts", ValueComparisonType.GreaterThan, 0, TargetCriteria:="CurrencyName.ShortName != 'HUF'")>
|
||||
<ImmediatePostData(True)>
|
||||
<VisibleInListView(False)>
|
||||
Overridable Property row_AmountDEV() As Double
|
||||
Get
|
||||
Return _row_AmountDEV
|
||||
End Get
|
||||
Set(ByVal value As Double)
|
||||
SetPropertyValue("row_AmountDEV", _row_AmountDEV, value)
|
||||
If Session.IsObjectsLoading = False And Session.IsObjectsSaving = False Then
|
||||
Me.RecalculateAmountHUF()
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
'<ImmediatePostData(True), DataSourceCriteria("Iif('@this.GLDocumentType' = 2, True, False) == (LiquidAssetsType = 1)")> _
|
||||
<NonPersistent()>
|
||||
<VisibleInListView(False)>
|
||||
Property row_LiquidAssets() As LiquidAssets
|
||||
Get
|
||||
Return _row_LiquidAssets
|
||||
End Get
|
||||
Set(ByVal value As LiquidAssets)
|
||||
SetPropertyValue("row_LiquidAssets", _row_LiquidAssets, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<ImmediatePostData(True)>
|
||||
<VisibleInListView(False)>
|
||||
Overridable Property row_Customer() As Customers
|
||||
Get
|
||||
Return _row_Customer
|
||||
End Get
|
||||
Set(ByVal value As Customers)
|
||||
SetPropertyValue("row_Customer", _row_Customer, value)
|
||||
If Session.IsObjectsSaving = False And Session.IsObjectsLoading = False Then
|
||||
If value IsNot Nothing Then
|
||||
If CashHandler = "" Then CashHandler = value.Name
|
||||
End If
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<RuleRequiredField("GLHeader.row_DateVAT", "aToTable_GLAccounts_Contexts")>
|
||||
<VisibleInListView(False)>
|
||||
Property row_DateVAT() As Date
|
||||
Get
|
||||
Return _row_DateVAT
|
||||
End Get
|
||||
Set(ByVal value As Date)
|
||||
SetPropertyValue("row_DateVAT", _row_DateVAT, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<VisibleInListView(False)>
|
||||
<RuleRequiredField("GLHeader.row_VAT.ToTable", "aToTable_GLAccounts_Contexts")>
|
||||
Property row_VAT() As VAT
|
||||
Get
|
||||
Return _row_VAT
|
||||
End Get
|
||||
Set(ByVal value As VAT)
|
||||
SetPropertyValue("row_VAT", _row_VAT, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<Size(-1)>
|
||||
<VisibleInListView(False)>
|
||||
Property row_NoteRows() As String
|
||||
Get
|
||||
Return _row_NoteRows
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
SetPropertyValue("row_NoteRows", _row_NoteRows, value)
|
||||
End Set
|
||||
End Property
|
||||
'Rule5DMatrix ...
|
||||
<NonPersistent()>
|
||||
<VisibleInListView(False)>
|
||||
<RuleRequiredField("GLHeader-row_Controlling-aToTable_GLAccounts_Contexts", "aToTable_GLAccounts_Contexts", TargetCriteria:="Rule5DMatrix.RequireControlling=True")>
|
||||
Overridable Property row_Controlling() As Controlling
|
||||
Get
|
||||
Return _row_Controlling
|
||||
End Get
|
||||
Set(ByVal value As Controlling)
|
||||
SetPropertyValue("row_Controlling", _row_Controlling, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<VisibleInListView(False)>
|
||||
<RuleRequiredField("GLHeader-row_CostPlace-aToTable_GLAccounts_Contexts", "aToTable_GLAccounts_Contexts", TargetCriteria:="Rule5DMatrix.RequireCostPlace=True")>
|
||||
Property row_CostPlace() As CostPlace
|
||||
Get
|
||||
Return _row_CostPlace
|
||||
End Get
|
||||
Set(ByVal value As CostPlace)
|
||||
SetPropertyValue("row_CostPlace", _row_CostPlace, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<VisibleInListView(False)>
|
||||
<RuleRequiredField("GLHeader-row_CostHolder-aToTable_GLAccounts_Contexts", "aToTable_GLAccounts_Contexts", TargetCriteria:="Rule5DMatrix.RequireCostHolder=True")>
|
||||
Property row_CostHolder() As CostHolder
|
||||
Get
|
||||
Return _row_CostHolder
|
||||
End Get
|
||||
Set(ByVal value As CostHolder)
|
||||
SetPropertyValue("_row_CostHolder", _row_CostHolder, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<VisibleInListView(False)>
|
||||
<RuleRequiredField("GLHeader-row_UniqueObjects-aToTable_GLAccounts_Contexts", "aToTable_GLAccounts_Contexts", TargetCriteria:="Rule5DMatrix.RequireUniqueObjects=True")>
|
||||
Property row_UniqueObjects() As UniqueObjects
|
||||
Get
|
||||
Return _row_UniqueObjects
|
||||
End Get
|
||||
Set(ByVal value As UniqueObjects)
|
||||
SetPropertyValue("row_UniqueObjects", _row_UniqueObjects, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<VisibleInListView(False)>
|
||||
<RuleRequiredField("GLHeader-row_JobNumberObjects-aToTable_GLAccounts_Contexts", "aToTable_GLAccounts_Contexts", TargetCriteria:="Rule5DMatrix.RequireJobNumberObjects=True")>
|
||||
Property row_JobNumberObjects() As JobNumberObjects
|
||||
Get
|
||||
Return _row_JobNumberObjects
|
||||
End Get
|
||||
Set(ByVal value As JobNumberObjects)
|
||||
SetPropertyValue("row_JobNumberObjects", _row_JobNumberObjects, value)
|
||||
End Set
|
||||
End Property
|
||||
<Browsable(False)>
|
||||
ReadOnly Property Rule5DMatrix As Rule5DMatrix
|
||||
Get
|
||||
Dim _Rule5DforGL As Rule5DforGL = Session.FindObject(Of Rule5DforGL)(CriteriaOperator.Parse("GLDocumentType=?", GLDocumentType))
|
||||
If _Rule5DforGL IsNot Nothing Then
|
||||
Return _Rule5DforGL.Rule5DMatrix
|
||||
Else
|
||||
Return Nothing
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
|
||||
<Browsable(False)>
|
||||
Property IsRegistryGLAccounts As Boolean
|
||||
Get
|
||||
Return _IsRegistryGLAccounts
|
||||
End Get
|
||||
Set(ByVal value As Boolean)
|
||||
SetPropertyValue("IsRegistryGLAccounts", _IsRegistryGLAccounts, value)
|
||||
End Set
|
||||
End Property
|
||||
<NonPersistent()>
|
||||
<RuleRequiredField("GLHeader.row_ConnectInfo", "aFinal_GLAccount_Context")>
|
||||
<RuleRequiredField("GLHeader.row_ConnectInfo.GLCassa", "aToTable_GLCassa_Contexts", TargetCriteria:="row_PartnerType<>-1")>
|
||||
<ImmediatePostData(True)>
|
||||
<VisibleInListView(False)>
|
||||
Overridable Property row_ConnectInfo() As String
|
||||
Get
|
||||
Return _row_ConnectInfo
|
||||
End Get
|
||||
Set(ByVal value As String)
|
||||
SetPropertyValue("row_ConnectInfo", _row_ConnectInfo, value)
|
||||
End Set
|
||||
End Property
|
||||
|
||||
<VisibleInListView(False)> _
|
||||
<Association("GLHeader", GetType(GLRows))> _
|
||||
Public ReadOnly Property GLRows() As XPCollection(Of GLRows)
|
||||
Get
|
||||
Return GetCollection(Of GLRows)("GLRows")
|
||||
End Get
|
||||
End Property
|
||||
|
||||
|
||||
Sub Reconfigure_GLDetail()
|
||||
'-- Az eljárás újragenerálja a GLDetail sorokat a késõbbi DTR elemzéshez
|
||||
|
||||
End Sub
|
||||
|
||||
<Browsable(False)> _
|
||||
ReadOnly Property ChartOfAccountsYearState As Boolean
|
||||
Get
|
||||
Dim _ChartOfAccountsYear As ChartOfAccountsYear = Session.FindObject(Of ChartOfAccountsYear)(CriteriaOperator.Parse("AccountYear=?", Me.DateExecution.Year))
|
||||
If _ChartOfAccountsYear Is Nothing Then
|
||||
Return False
|
||||
Else
|
||||
Return _ChartOfAccountsYear.IsClosed
|
||||
End If
|
||||
End Get
|
||||
End Property
|
||||
'-- Árfolyam veszteség, nyereség elszámolása
|
||||
Sub Reconfigure_RateDiff(ByVal _p_ocur As Xpo.XPObjectSpace, ByVal _p_GLHeader As GLHeader)
|
||||
Dim _GLHeader_Ratediff As GLMixed = Nothing
|
||||
Dim _GLCassa As GLCassa
|
||||
Dim _GLBank As GLBank
|
||||
Dim _GLCompensation As GLCompensation
|
||||
Dim _GLRows As GLRows
|
||||
Dim _GLRows_RateDiff As GLRows
|
||||
Dim _PCIDetail As PCIDetail
|
||||
Dim _CurrencyRate_Account As Double
|
||||
Dim _AmountHUF_RatedIff As Double
|
||||
Dim _DebitChartOfAccounts As ChartOfAccounts
|
||||
Dim _CreditChartOfAccounts As ChartOfAccounts
|
||||
Dim _Controlling As Controlling
|
||||
Dim _GLMixedNG As GLMixedNG
|
||||
Dim _GLHeader_RateDiffParameter = _p_ocur.FindObject(Of GLHeader_RateDiffParameter)(CriteriaOperator.Parse("1=1"))
|
||||
|
||||
If _GLHeader_RateDiffParameter Is Nothing Then Exit Sub
|
||||
|
||||
|
||||
Dim _ChartOfAccounts_RateDiff_Win As ChartOfAccounts = _GLHeader_RateDiffParameter.GetChartOfAccounts(_p_GLHeader.DateExecution.Year, eWinLoss.eRateDiffWin)
|
||||
Dim _ChartOfAccounts_RateDiff_Loss As ChartOfAccounts = _GLHeader_RateDiffParameter.GetChartOfAccounts(_p_GLHeader.DateExecution.Year, eWinLoss.eRateDiffLoss)
|
||||
Dim _Controlling_RateDiff_Win As Controlling = _GLHeader_RateDiffParameter.Controlling_RateDiff_Win
|
||||
Dim _Controlling_RateDiff_Loss As Controlling = _GLHeader_RateDiffParameter.Controlling_RateDiff_Loss
|
||||
|
||||
Dim _InAmountHUF As Double = 0
|
||||
Dim _OutAmountHUF As Double = 0
|
||||
Select Case _p_GLHeader.GLDocumentType
|
||||
Case eGLDocumentType.eGLBank
|
||||
_GLHeader_Ratediff = TryCast(_p_GLHeader, GLBank).GLHeader_RateDiff
|
||||
TryCast(_p_GLHeader, GLBank).GLHeader_RateDiff = Nothing
|
||||
TryCast(_p_GLHeader, GLBank).Save()
|
||||
Case eGLDocumentType.eGLCassa
|
||||
_GLHeader_Ratediff = TryCast(_p_GLHeader, GLCassa).GLHeader_RateDiff
|
||||
TryCast(_p_GLHeader, GLCassa).GLHeader_RateDiff = Nothing
|
||||
TryCast(_p_GLHeader, GLCassa).Save()
|
||||
Case eGLDocumentType.eGLCompensation
|
||||
_GLHeader_Ratediff = TryCast(_p_GLHeader, GLCompensation).GLHeader_RateDiff
|
||||
TryCast(_p_GLHeader, GLCompensation).GLHeader_RateDiff = Nothing
|
||||
TryCast(_p_GLHeader, GLCompensation).Save()
|
||||
End Select
|
||||
|
||||
If _GLHeader_Ratediff IsNot Nothing Then
|
||||
_p_ocur.Delete(_GLHeader_Ratediff.GLRows)
|
||||
_p_ocur.Delete(_GLHeader_Ratediff)
|
||||
End If
|
||||
|
||||
|
||||
For Each _GLRows In _p_GLHeader.GLRows
|
||||
If _GLRows.CashType = eCashType.ePartner And _GLRows.Customer IsNot Nothing Then
|
||||
_PCIDetail = _p_ocur.FindObject(Of PCIDetail) _
|
||||
(CriteriaOperator.Parse("CustomersFrom=? and Customers=? and PartnerType=? and ConnectInfo=? and MainType='01-Account' and CurrencyName.ShortName<>'HUF'", _
|
||||
_p_GLHeader.CustomersFrom, _GLRows.Customer, _GLRows.PartnerType, _GLRows.ConnectInfo), True)
|
||||
If _PCIDetail IsNot Nothing Then
|
||||
If _PCIDetail.AmountDEV_Account <> 0 Then
|
||||
_CurrencyRate_Account = Math.Round(_PCIDetail.AmountHUF_Account / _PCIDetail.AmountDEV_Account, 4, MidpointRounding.AwayFromZero)
|
||||
If _GLRows.AmountDEV <> 0 Then
|
||||
_AmountHUF_RatedIff = 0
|
||||
_AmountHUF_RatedIff = (_GLRows.AmountDEV * _CurrencyRate_Account) - _GLRows.AmountHUF
|
||||
Select Case _GLRows.PartnerType
|
||||
Case ePartnerType.ePayabels
|
||||
If _GLRows.OutAmountDEV > 0 Then 'Terhelés
|
||||
If _AmountHUF_RatedIff < 0 Then 'Veszteség szállítóval szemben
|
||||
_DebitChartOfAccounts = _ChartOfAccounts_RateDiff_Loss
|
||||
_CreditChartOfAccounts = _GLRows.DebitChartOfAccounts
|
||||
_InAmountHUF = Math.Abs(_AmountHUF_RatedIff)
|
||||
_OutAmountHUF = 0
|
||||
Else 'Nyereség szállítóval szemben
|
||||
_DebitChartOfAccounts = _GLRows.DebitChartOfAccounts
|
||||
_CreditChartOfAccounts = _ChartOfAccounts_RateDiff_Win
|
||||
_InAmountHUF = 0
|
||||
_OutAmountHUF = Math.Abs(_AmountHUF_RatedIff)
|
||||
End If
|
||||
|
||||
ElseIf _GLRows.InAmountDEV > 0 Then 'Jóváírás
|
||||
If _AmountHUF_RatedIff < 0 Then 'Veszteség szállítóval szemben
|
||||
_DebitChartOfAccounts = _ChartOfAccounts_RateDiff_Loss
|
||||
_CreditChartOfAccounts = _GLRows.CreditChartOfAccounts
|
||||
_InAmountHUF = Math.Abs(_AmountHUF_RatedIff)
|
||||
_OutAmountHUF = 0
|
||||
Else 'Nyereség szállítóval szemben
|
||||
_DebitChartOfAccounts = _GLRows.CreditChartOfAccounts
|
||||
_CreditChartOfAccounts = _ChartOfAccounts_RateDiff_Win
|
||||
_InAmountHUF = 0
|
||||
_OutAmountHUF = Math.Abs(_AmountHUF_RatedIff)
|
||||
End If
|
||||
End If
|
||||
Case ePartnerType.eReceivables
|
||||
If _GLRows.OutAmountDEV > 0 Then 'Terhelés
|
||||
If _AmountHUF_RatedIff > 0 Then 'Veszteség vevővel szemben
|
||||
_DebitChartOfAccounts = _ChartOfAccounts_RateDiff_Loss
|
||||
_CreditChartOfAccounts = _GLRows.DebitChartOfAccounts
|
||||
_InAmountHUF = Math.Abs(_AmountHUF_RatedIff)
|
||||
_OutAmountHUF = 0
|
||||
Else 'Nyereség vevővel szemben
|
||||
_DebitChartOfAccounts = _GLRows.DebitChartOfAccounts
|
||||
_CreditChartOfAccounts = _ChartOfAccounts_RateDiff_Win
|
||||
_InAmountHUF = 0
|
||||
_OutAmountHUF = Math.Abs(_AmountHUF_RatedIff)
|
||||
End If
|
||||
|
||||
ElseIf _GLRows.InAmountDEV > 0 Then 'Jóváírás
|
||||
If _AmountHUF_RatedIff > 0 Then 'Veszteség vevővel szemben
|
||||
_DebitChartOfAccounts = _ChartOfAccounts_RateDiff_Loss
|
||||
_CreditChartOfAccounts = _GLRows.CreditChartOfAccounts
|
||||
_InAmountHUF = Math.Abs(_AmountHUF_RatedIff)
|
||||
_OutAmountHUF = 0
|
||||
Else 'Nyereség vevő szemben
|
||||
_DebitChartOfAccounts = _GLRows.CreditChartOfAccounts
|
||||
_CreditChartOfAccounts = _ChartOfAccounts_RateDiff_Win
|
||||
_InAmountHUF = 0
|
||||
_OutAmountHUF = Math.Abs(_AmountHUF_RatedIff)
|
||||
End If
|
||||
End If
|
||||
End Select
|
||||
|
||||
If _AmountHUF_RatedIff <> 0 Then
|
||||
|
||||
If _GLHeader_Ratediff Is Nothing Then
|
||||
_GLHeader_Ratediff = _p_ocur.CreateObject(Of GLMixed)()
|
||||
End If
|
||||
_GLHeader_Ratediff.CustomersFrom = _p_GLHeader.CustomersFrom
|
||||
_GLMixedNG = _p_ocur.FindObject(Of GLMixedNG)(CriteriaOperator.Parse("CustomersFrom=?", _GLHeader_Ratediff.CustomersFrom), True)
|
||||
If _GLMixedNG IsNot Nothing Then
|
||||
If _GLHeader_Ratediff.DocumentNumber = "" Then
|
||||
_GLHeader_Ratediff.DocumentNumber = _GLMixedNG.NumberGenerator.GetNewNumber(_GLMixedNG.NumberGenerator)
|
||||
End If
|
||||
End If
|
||||
_GLHeader_Ratediff.DateExecution = _p_GLHeader.DateExecution
|
||||
_GLHeader_Ratediff.DateCreated = _p_GLHeader.DateCreated
|
||||
_GLHeader_Ratediff.CurrencyRate = 1
|
||||
|
||||
_GLHeader_Ratediff.GLDocumentType = eGLDocumentType.eGLRateDiff
|
||||
_GLHeader_Ratediff.IsEditable = False
|
||||
_GLHeader_Ratediff.IsStorno = False
|
||||
_GLHeader_Ratediff.CurrencyName = _p_ocur.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName='HUF'"))
|
||||
_GLHeader_Ratediff.Save()
|
||||
|
||||
_GLRows_RateDiff = _p_ocur.CreateObject(Of GLRows)()
|
||||
_GLRows_RateDiff.InAmountHUF = _InAmountHUF
|
||||
_GLRows_RateDiff.OutAmountHUF = _OutAmountHUF
|
||||
_GLRows_RateDiff.GLHeader = _GLHeader_Ratediff
|
||||
_GLRows_RateDiff.AddGLRows(_GLHeader_Ratediff, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, Math.Abs(_AmountHUF_RatedIff), Nothing, _
|
||||
_GLRows.Customer, Nothing, Nothing, "", Nothing, _Controlling, Nothing, Nothing, Nothing, _GLRows.ConnectInfo, _
|
||||
eGLRowsTypeVAT.eNettoRow, Guid.NewGuid, _GLRows.TransactionType, eCashType.ePartner, _GLRows.PartnerType)
|
||||
_GLRows_RateDiff.Save()
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
If _GLHeader_Ratediff IsNot Nothing Then
|
||||
Select Case _p_GLHeader.GLDocumentType
|
||||
Case eGLDocumentType.eGLBank
|
||||
_GLBank = TryCast(_p_GLHeader, GLBank)
|
||||
_GLBank.GLHeader_RateDiff = _GLHeader_Ratediff
|
||||
_GLBank.Save()
|
||||
Case eGLDocumentType.eGLCassa
|
||||
_GLCassa = TryCast(_p_GLHeader, GLCassa)
|
||||
_GLCassa.GLHeader_RateDiff = _GLHeader_Ratediff
|
||||
_GLCassa.Save()
|
||||
Case eGLDocumentType.eGLCompensation
|
||||
_GLCompensation = TryCast(_p_GLHeader, GLCompensation)
|
||||
_GLCompensation.GLHeader_RateDiff = _GLHeader_Ratediff
|
||||
_GLCompensation.Save()
|
||||
End Select
|
||||
Else
|
||||
Select Case _p_GLHeader.GLDocumentType
|
||||
Case eGLDocumentType.eGLBank
|
||||
_GLBank = TryCast(_p_GLHeader, GLBank)
|
||||
_GLBank.GLHeader_RateDiff = Nothing
|
||||
_GLBank.Save()
|
||||
Case eGLDocumentType.eGLCassa
|
||||
_GLCassa = TryCast(_p_GLHeader, GLCassa)
|
||||
_GLCassa.GLHeader_RateDiff = Nothing
|
||||
_GLCassa.Save()
|
||||
Case eGLDocumentType.eGLCompensation
|
||||
_GLCompensation = TryCast(_p_GLHeader, GLCompensation)
|
||||
_GLCompensation.GLHeader_RateDiff = Nothing
|
||||
_GLCompensation.Save()
|
||||
End Select
|
||||
End If
|
||||
_p_ocur.CommitChanges()
|
||||
End Sub
|
||||
|
||||
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user