258 lines
14 KiB
VB.net
258 lines
14 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.ExpressApp.SystemModule
|
|
Imports DevExpress.ExpressApp.CloneObject
|
|
Imports DevExpress.Data.Filtering
|
|
|
|
Public Class RateDiffVC
|
|
Inherits DevExpress.ExpressApp.ViewController
|
|
Protected selection As ArrayList
|
|
Protected noselect As Boolean = False
|
|
Public Event InitWork(ByVal _Minimum As Long, ByVal _Step As Long, ByVal _Maximum As Long)
|
|
Public Event DoWork()
|
|
Public Event FinalWork
|
|
Public Sub New()
|
|
MyBase.New()
|
|
selection = New ArrayList()
|
|
'This call is required by the Component Designer.
|
|
InitializeComponent()
|
|
RegisterActions(components)
|
|
|
|
End Sub
|
|
Protected Overrides Sub OnActivated()
|
|
MyBase.OnActivated()
|
|
|
|
Frame.GetController(Of RateDiffVC).aCreateRateDiffView.Active.SetItemValue("", False)
|
|
Frame.GetController(Of RateDiffVC).aViewPDCI_RateDiff.Active.SetItemValue("", False)
|
|
Frame.GetController(Of RateDiffVC).aOpenObject_RateDiff.Active.SetItemValue("", False)
|
|
Frame.GetController(Of RateDiffVC).aViewAttachments_RateDiff.Active.SetItemValue("", False)
|
|
Frame.GetController(Of RateDiffVC).aViewRegistry_RateDiff.Active.SetItemValue("", False)
|
|
|
|
If View.Id = "RateDiffView_ListView" Then
|
|
AddHandler View.SelectionChanged, AddressOf view_SelectionChanged
|
|
Frame.GetController(Of RateDiffVC).aCreateRateDiffView.Active.SetItemValue("", True)
|
|
Frame.GetController(Of RateDiffVC).aViewPDCI_RateDiff.Active.SetItemValue("", True)
|
|
Frame.GetController(Of RateDiffVC).aOpenObject_RateDiff.Active.SetItemValue("", True)
|
|
Frame.GetController(Of RateDiffVC).aViewAttachments_RateDiff.Active.SetItemValue("", True)
|
|
Frame.GetController(Of RateDiffVC).aViewRegistry_RateDiff.Active.SetItemValue("", True)
|
|
|
|
|
|
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", False)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", False)
|
|
End If
|
|
|
|
|
|
End Sub
|
|
|
|
Protected Overrides Sub OnDeactivated()
|
|
MyBase.OnDeactivated()
|
|
|
|
If View.Id = "RateDiffView_ListView" Then
|
|
RemoveHandler View.SelectionChanged, AddressOf view_SelectionChanged
|
|
Frame.GetController(Of RateDiffVC).aCreateRateDiffView.Active.SetItemValue("", False)
|
|
Frame.GetController(Of NewObjectViewController)?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of DeleteObjectsViewController)?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of CloneObjectViewController)?.Active.SetItemValue("", True)
|
|
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", True)
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub view_SelectionChanged(ByVal sender As Object, ByVal e As System.EventArgs)
|
|
Dim _RateDiffView As RateDiffView
|
|
|
|
If View Is Nothing Then Exit Sub
|
|
|
|
If View.Id Like "RateDiffView_ListView*" And noselect = False Then
|
|
selection.Clear()
|
|
For Each _RateDiffView In View.SelectedObjects
|
|
selection.Add(_RateDiffView)
|
|
Next
|
|
End If
|
|
|
|
End Sub
|
|
Private Sub aCreateRateDiffView_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aCreateRateDiffView.CustomizePopupWindowParams
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _RateDiffPopUp As RateDiffPopUp = _onew.CreateObject(Of RateDiffPopUp)()
|
|
|
|
_RateDiffPopUp.DateExecution = Now
|
|
|
|
e.View = Application.CreateDetailView(_onew, "RateDiffPopUp_DetailView", False, _RateDiffPopUp)
|
|
End Sub
|
|
|
|
Private Sub aCreateRateDiffView_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aCreateRateDiffView.Execute
|
|
|
|
'// Megcsinálja az árfolyam elszámoló vegyes bizonylatot
|
|
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _RateDiffPopUp As RateDiffPopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), RateDiffPopUp)
|
|
Dim _RateDiffView As RateDiffView
|
|
Dim _GLHeader_Ratediff As GLMixed = Nothing
|
|
Dim _GLRows_RateDiff As GLRows
|
|
Dim _DebitChartOfAccounts As ChartOfAccounts = Nothing
|
|
Dim _CreditChartOfAccounts As ChartOfAccounts = Nothing
|
|
Dim _Controlling As Controlling = Nothing
|
|
Dim _GLMixedNG As GLMixedNG
|
|
Dim _GLRows As GLRows
|
|
|
|
Dim _GLHeader_RateDiffParameter = _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(_RateDiffPopUp.DateExecution.Year, eWinLoss.eRateDiffWin)
|
|
Dim _ChartOfAccounts_RateDiff_Loss As ChartOfAccounts = _GLHeader_RateDiffParameter.GetChartOfAccounts(_RateDiffPopUp.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 _CustomersFrom As CustomersFrom = Nothing
|
|
Dim i As Long = 0
|
|
Dim _InAmountHUF As Double = 0
|
|
Dim _OutAmountHUF As Double = 0
|
|
|
|
If selection.Count <= 0 Then Exit Sub
|
|
|
|
For Each _RateDiffView In selection
|
|
If i = 0 Then
|
|
_CustomersFrom = _RateDiffView.CustomersFrom
|
|
i = 1
|
|
End If
|
|
If _RateDiffView.CustomersFrom.Oid <> _CustomersFrom.Oid Then
|
|
Throw New Exception("*Csak azonos saját cégű sorok jelölhető ki egyszerre !")
|
|
Exit For
|
|
End If
|
|
Next
|
|
|
|
_GLHeader_Ratediff = _ocur.CreateObject(Of GLMixed)()
|
|
_GLHeader_Ratediff.CustomersFrom = _CustomersFrom
|
|
_GLMixedNG = _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_RateDiff)
|
|
End If
|
|
End If
|
|
_GLHeader_Ratediff.DateExecution = _RateDiffPopUp.DateExecution
|
|
_GLHeader_Ratediff.DateCreated = _RateDiffPopUp.DateExecution
|
|
_GLHeader_Ratediff.NoteHeader = _RateDiffPopUp.Description
|
|
_GLHeader_Ratediff.CurrencyRate = 1
|
|
|
|
_GLHeader_Ratediff.GLDocumentType = eGLDocumentType.eGLRateDiff
|
|
_GLHeader_Ratediff.IsEditable = False
|
|
_GLHeader_Ratediff.IsStorno = False
|
|
_GLHeader_Ratediff.CurrencyName = _ocur.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName='HUF'"))
|
|
|
|
For Each _RateDiffView In selection
|
|
Select Case _RateDiffView.PartnerType
|
|
Case ePartnerType.ePayabels
|
|
If _RateDiffView.RateDiffState = 1 Then
|
|
_DebitChartOfAccounts = _RateDiffView.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Ratediff.DateExecution.Year, eVATMode.eIn)
|
|
_CreditChartOfAccounts = _ChartOfAccounts_RateDiff_Win
|
|
_Controlling = _Controlling_RateDiff_Win
|
|
_InAmountHUF = Math.Abs(_RateDiffView.OutAmountHUF_Diff)
|
|
End If
|
|
If _RateDiffView.RateDiffState = -1 Then
|
|
_DebitChartOfAccounts = _ChartOfAccounts_RateDiff_Loss
|
|
_CreditChartOfAccounts = _RateDiffView.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Ratediff.DateExecution.Year, eVATMode.eIn)
|
|
_Controlling = _Controlling_RateDiff_Loss
|
|
_OutAmountHUF = Math.Abs(_RateDiffView.OutAmountHUF_Diff)
|
|
End If
|
|
|
|
Case ePartnerType.eReceivables
|
|
If _RateDiffView.RateDiffState = -1 Then
|
|
_DebitChartOfAccounts = _ChartOfAccounts_RateDiff_Loss
|
|
_CreditChartOfAccounts = _RateDiffView.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Ratediff.DateExecution.Year, eVATMode.eOut)
|
|
_Controlling = _Controlling_RateDiff_Loss
|
|
_OutAmountHUF = Math.Abs(_RateDiffView.InAmountHUF_Diff)
|
|
End If
|
|
If _RateDiffView.RateDiffState = 1 Then
|
|
_DebitChartOfAccounts = _RateDiffView.Customers.CustomersGLParameters.GetChartOfAccounts(_GLHeader_Ratediff.DateExecution.Year, eVATMode.eOut)
|
|
_CreditChartOfAccounts = _ChartOfAccounts_RateDiff_Win
|
|
_Controlling = _Controlling_RateDiff_Win
|
|
_InAmountHUF = Math.Abs(_RateDiffView.InAmountHUF_Diff)
|
|
End If
|
|
End Select
|
|
_GLRows = _ocur.FindObject(Of GLRows)(CriteriaOperator.Parse("Oid=?", _RateDiffView.Oid))
|
|
|
|
|
|
_GLRows_RateDiff = _ocur.CreateObject(Of GLRows)()
|
|
_GLRows.GLRowsRateDiff = _GLRows_RateDiff
|
|
_GLRows_RateDiff.GLRowsRateDiff = _GLRows
|
|
_GLRows_RateDiff.GLHeader = _GLHeader_Ratediff
|
|
_GLRows_RateDiff.InAmountHUF = _InAmountHUF
|
|
_GLRows_RateDiff.OutAmountHUF = _OutAmountHUF
|
|
_GLRows_RateDiff.AddGLRows(_GLHeader_Ratediff, _DebitChartOfAccounts, _CreditChartOfAccounts, 0, Math.Abs(_RateDiffView.InAmountHUF_Diff - _RateDiffView.OutAmountHUF_Diff), Nothing, _
|
|
_RateDiffView.Customers, Nothing, Nothing, "", Nothing, _Controlling, Nothing, Nothing, Nothing, _RateDiffView.ConnectInfo, _
|
|
eGLRowsTypeVAT.eNettoRow, Guid.NewGuid, eTransactionType.eNotSet, eCashType.ePartner, _RateDiffView.PartnerType)
|
|
Next
|
|
|
|
_ocur.CommitChanges()
|
|
|
|
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
|
|
End Sub
|
|
|
|
Private Sub SimpleAction1_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewPDCI_RateDiff.Execute
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _RateDiffView As RateDiffView = TryCast(View.SelectedObjects(0), RateDiffView)
|
|
|
|
ViewPDCI.ViewPDCIDetail(_onew, Application, e, _RateDiffView.CustomersFrom, _
|
|
_RateDiffView.Customers, _RateDiffView.PartnerType, _
|
|
_RateDiffView.ConnectInfo)
|
|
End Sub
|
|
|
|
Private Sub aOpenObject_RateDiff_Execute_1(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aOpenObject_RateDiff.Execute
|
|
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
|
|
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
|
|
Dim _RateDiffView As RateDiffView = TryCast(View.SelectedObjects(0), RateDiffView)
|
|
Dim _GLCassa As GLCassa
|
|
Dim _GLBank As GLBank
|
|
Dim _GLCompensation As GLCompensation
|
|
Dim _DetailView As DetailView
|
|
Dim _GLRows As GLRows
|
|
|
|
_GLRows = _ocur.FindObject(Of GLRows)(CriteriaOperator.Parse("Oid=?", _RateDiffView.Oid), True)
|
|
_GLCassa = _ocur.FindObject(Of GLCassa)(CriteriaOperator.Parse("Oid=?", _GLRows.GLHeader.Oid), True)
|
|
If _GLCassa IsNot Nothing Then
|
|
_DetailView = Application.CreateDetailView(_onew, _onew.GetObject(_GLCassa), True)
|
|
e.ShowViewParameters.CreatedView = _DetailView
|
|
Else
|
|
_GLBank = _ocur.FindObject(Of GLBank)(CriteriaOperator.Parse("Oid=?", _GLRows.GLHeader.Oid), True)
|
|
If _GLBank IsNot Nothing Then
|
|
_DetailView = Application.CreateDetailView(_onew, _onew.GetObject(_GLBank), True)
|
|
e.ShowViewParameters.CreatedView = _DetailView
|
|
Else
|
|
_GLCompensation = _ocur.FindObject(Of GLCompensation)(CriteriaOperator.Parse("Oid=?", _GLRows.GLHeader.Oid), True)
|
|
If _GLBank IsNot Nothing Then
|
|
_DetailView = Application.CreateDetailView(_onew, _onew.GetObject(_GLCompensation), True)
|
|
e.ShowViewParameters.CreatedView = _DetailView
|
|
End If
|
|
End If
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub aViewRegistry_RateDiff_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewRegistry_RateDiff.Execute
|
|
Dim _RateDiffView As RateDiffView = TryCast(View.SelectedObjects(0), RateDiffView)
|
|
Dim _CustomersFrom As CustomersFrom = _RateDiffView.CustomersFrom
|
|
Dim _Customers As Customers = _RateDiffView.Customers
|
|
Dim _DocumentNumber As String = _RateDiffView.ConnectInfo
|
|
|
|
ViewRegistry.ViewRegistry(View.ObjectSpace, Application, e, _CustomersFrom, _Customers, _DocumentNumber)
|
|
End Sub
|
|
|
|
Private Sub aViewAttachments_RateDiff_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aViewAttachments_RateDiff.Execute
|
|
'-- Karton sorához tartozó eredeti dokumentum megnyitása
|
|
Dim _RateDiffView As RateDiffView = TryCast(View.SelectedObjects(0), RateDiffView)
|
|
Dim _CustomersFrom As CustomersFrom = _RateDiffView.CustomersFrom
|
|
Dim _Customers As Customers = _RateDiffView.Customers
|
|
Dim _DocumentNumber As String = _RateDiffView.ConnectInfo
|
|
|
|
ViewAttachments.ViewAttachments(View.ObjectSpace, Frame, _CustomersFrom, _Customers, _DocumentNumber, "")
|
|
End Sub
|
|
End Class
|