First create solution

This commit is contained in:
2017-03-08 11:21:27 +01:00
commit a2fb86bacf
5508 changed files with 1082238 additions and 0 deletions
@@ -0,0 +1,678 @@
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 FarPoint.Win.Spread
Imports DevExpress.ExpressApp.SystemModule
Imports System.IO
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Data.Filtering
Imports DevExpress.ExpressApp.Win.Editors
Imports DevExpress.Xpo
Imports DevExpress.ExpressApp.Win.SystemModule
Imports DevExpress.ExpressApp.Editors
Public Class CornerVC
Inherits DevExpress.ExpressApp.ViewController
Dim _WaitFormClass As New WaitFormClass
Private _FpSpread As FpSpread
Private _GridListEditor As GridListEditor
Public Sub New()
MyBase.New()
InitializeComponent()
RegisterActions(components)
End Sub
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
If View.Id = "Corner_InvoiceNameParameters_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", False)
Frame.GetController(Of PrintingController)().Active.SetItemValue("", False)
End If
If View.Id = "Corner_CustomerNameParameters_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", False)
Frame.GetController(Of PrintingController)().Active.SetItemValue("", False)
End If
If View.Id = "Corner_GLAccounts_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", False)
Frame.GetController(Of PrintingController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)().Active.SetItemValue("", False)
End If
If View.Id = "GLHeader_GLRows_ListView_Accounts" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", False)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", False)
Frame.GetController(Of PrintingController)().Active.SetItemValue("", False)
End If
If View.Id = "Corner_DetailView" Then
AddHandler Frame.GetController(Of ModificationsController)().SaveAction.Executing, AddressOf SaveAction_Executing
AddHandler Frame.GetController(Of ModificationsController)().SaveAndCloseAction.Executing, AddressOf SaveAction_Executing
AddHandler Frame.GetController(Of ModificationsController)().SaveAndNewAction.Executing, AddressOf SaveAction_Executing
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "Corner_InvoiceNameParameters_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", True)
End If
If View.Id = "Corner_CustomerNameParameters_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", True)
End If
If View.Id = "Corner_GLAccounts_ListView" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", True)
Frame.GetController(Of PrintingController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DeleteObjectsViewController)().Active.SetItemValue("", True)
End If
If View.Id = "GLHeader_GLRows_ListView_Accounts" Then
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.LinkUnlinkController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.CloneObject.CloneObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.NewObjectViewController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ListViewProcessCurrentObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.Win.SystemModule.OpenObjectController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.ExportController)().Active.SetItemValue("", True)
Frame.GetController(Of DevExpress.ExpressApp.SystemModule.RecordsNavigationController)().Active.SetItemValue("", True)
Frame.GetController(Of PrintingController)().Active.SetItemValue("", True)
End If
If View.Id = "Corner_CustomerNameParameters_ListView" Then ' Az inline edit beállítása.
Dim _ListView As ListView = TryCast(View, ListView)
_GridListEditor = TryCast(_ListView.Editor, GridListEditor)
If _GridListEditor IsNot Nothing Then
Dim _Grid = _GridListEditor.GridView
RemoveHandler _Grid.ShownEditor, AddressOf GridView_ShownEditor
End If
End If
End Sub
Private Sub ExcelControlViewItem_ControlCreated(ByVal sender As Object, ByVal e As EventArgs)
Dim itemControl As Object = (CType(sender, ViewItem)).Control
_FpSpread = TryCast(itemControl, ExcelUserControl).FpSpreadControl
Dim _FileName As String = Path.GetTempPath & "Out.xls"
Dim _StreamFile As New FileStream(_FileName, FileMode.Create)
Dim _Corner As Corner = TryCast(View.SelectedObjects(0), Corner)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
If _Corner IsNot Nothing Then
If _ocur.Session.IsNewObject(_Corner) = False Then
_Corner.ExcelFile.SaveToStream(_StreamFile)
_StreamFile.Close()
_FpSpread.OpenExcel(_FileName)
End If
End If
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
If View.Id = "Corner_DetailView" Then
Dim _DetailView As DetailView = TryCast(View, DetailView)
Dim _ExcelControlViewItem As ViewItem
If _DetailView IsNot Nothing Then
_ExcelControlViewItem = _DetailView.GetItems(Of ExcelPropertyEditor)(0)
If _ExcelControlViewItem IsNot Nothing Then
AddHandler _ExcelControlViewItem.ControlCreated, AddressOf ExcelControlViewItem_ControlCreated
End If
End If
End If
'If View.Id = "Corner_InvoiceNameParameters_ListView" Then ' Az inline edit beállítása.
' Dim _ListView As ListView = TryCast(View, ListView)
' _GridListEditor = TryCast(_ListView.Editor, GridListEditor)
' If _GridListEditor IsNot Nothing Then
' _GridListEditor.AllowEdit = True
' For i As Integer = 0 To _GridListEditor.Columns.Count - 1
' If _GridListEditor.GridView.Columns(i).FieldName <> "Controlling!" Then
' _GridListEditor.GridView.Columns(i).OptionsColumn.ReadOnly = True
' _GridListEditor.GridView.Columns(i).OptionsColumn.AllowEdit = False
' _GridListEditor.GridView.Columns(i).OptionsColumn.TabStop = False
' End If
' Next i
' End If
'End If
If View.Id = "Corner_CustomerNameParameters_ListView" Then ' Az inline edit beállítása.
Dim _ListView As ListView = TryCast(View, ListView)
_GridListEditor = TryCast(_ListView.Editor, GridListEditor)
If _GridListEditor IsNot Nothing Then
Dim _Grid = _GridListEditor.GridView
AddHandler _Grid.ShownEditor, AddressOf GridView_ShownEditor
'_GridListEditor.AllowEdit = True
'For i As Integer = 0 To _GridListEditor.Columns.Count - 1
' If _GridListEditor.GridView.Columns(i).FieldName <> "Customers!" Then
' _GridListEditor.GridView.Columns(i).OptionsColumn.ReadOnly = True
' _GridListEditor.GridView.Columns(i).OptionsColumn.AllowEdit = False
' _GridListEditor.GridView.Columns(i).OptionsColumn.TabStop = False
' End If
'Next i
End If
End If
End Sub
Sub GridView_ShownEditor(ByVal sender As Object, ByVal e As System.EventArgs)
Dim _LookupEdit As LookupEdit = sender.ActiveEditor
If _LookupEdit.Frame IsNot Nothing Then
_LookupEdit.Frame.GetController(Of FilterController)().FullTextFilterAction.Value = _GridListEditor.GridView.GetRowCellValue(_GridListEditor.GridView.FocusedRowHandle, "CustomerText")
End If
End Sub
Sub SaveAction_Executing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
Dim _FileName As String = Path.GetTempPath & "In.xls"
Dim _StreamFile As New FileStream(_FileName, FileMode.Create)
Dim _Corner As Corner = TryCast(View.SelectedObjects(0), Corner)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
If _Corner IsNot Nothing Then
_FpSpread.SaveExcel(_StreamFile)
_StreamFile.Close()
Dim _StreamFile2 As New FileStream(_FileName, FileMode.Open)
_Corner.ExcelFile = New FileData(_ocur.Session)
_Corner.ExcelFile.LoadFromStream("Excel worksheet", _StreamFile2)
_Corner.Save()
_StreamFile2.Close()
End If
End Sub
Private Sub aCreateGLAccounts_Corner_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aCreateGLAccounts_Corner.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _Corner As Corner = _uow.GetObjectByKey(Of Corner)(TryCast(View.SelectedObjects(0), Corner).Oid)
Dim _GLAccounts As GLAccounts = Nothing
Dim _GLAccounts_check As GLAccounts
Dim _GLRows As GLRows
Dim _CustomersFrom As CustomersFrom = Nothing
Dim _InvoiceNameParameters As InvoiceNameParameters
Dim _CustomerNameParameters As CustomerNameParameters
Dim _column As Integer = 0
Dim _row As Integer = 0
Dim _firstHeaderSRow As Integer
Dim _FooterIndicator As Boolean = False
Dim _HeaderIndicator As String = "T."
Dim _GUID As Guid
Dim _RowIndex As Integer = 0
Dim _SysDate As DateTime
Dim _Rate As Double
Dim _VAT As VAT = Nothing
Dim _VATText As String = ""
Dim _CustomersText As String = ""
Dim _CustomersFromText As String = ""
Dim _iCustomer As Integer = 0
Dim _iPaymentOption As Integer = 0
Dim _iCurrencyName As Integer = 0
Dim _iCurrencySum As Integer = 0
Dim _iDateCreated As Integer = 0
Dim _iDateExecution As Integer = 0
Dim _iDatePayment As Integer = 0
Dim _iDocumentNumber As Integer = 0
Dim _iVATHeader As Integer = 0
Dim _iVATRow As Integer = 0
Dim _iNetHeader As Integer = 0
Dim _iNetRow As Integer = 0
Dim _iGrossHeader As Integer = 0
Dim _iGrossRow As Integer = 0
Dim _iCustomerNumber As Integer = 0
Dim _GLAccounts_List As New ArrayList
_GLAccounts_List.Clear()
'_uow.GetObjectByKey(Of InvoiceNameParameters)("PHImportType=0 And IsNull(Controlling)")
_InvoiceNameParameters = _uow.FindObject(Of InvoiceNameParameters)(CriteriaOperator.Parse("PHImportType=0 And IsNull(Controlling)"))
If _InvoiceNameParameters IsNot Nothing Then ' Megvizsgáljuk, hogy az összes tétel megnevezéséhez tartozik-e controlling adat.
Throw New UserFriendlyException("A művelet indítása előtt végezze el a Megnevezés paraméterek feldolgozását!")
End If
For _column = 0 To _FpSpread.ActiveSheet.GetLastNonEmptyColumn(NonEmptyItemFlag.Data) 'Saját cég nevének megeresése a táblázatban.
If _FpSpread.ActiveSheet.Cells(0, _column).Text <> "" Then
'_CustomersFromText = _FpSpread.ActiveSheet.Cells(0, _column).Text.Trim 'Ha itt kap értéket a változó, a blokkon kívül nem látható az értéke. (???)
Exit For
End If
Next
_CustomersFromText = _FpSpread.ActiveSheet.Cells(0, _column).Text.Trim
' Mégsem a táblázatból olvassuk ki a saját céget, hanem egy propertybe bekérjük.
'_CustomersFrom = _uow.FindObject(Of CustomersFrom)(CriteriaOperator.Parse("Name=?", _CustomersFromText))
'If _CustomersFrom Is Nothing Then ' Saját cég keresése.
' Throw New UserFriendlyException("A számlát kiállító saját cég nem azonosítható.")
'End If
For _row = 0 To _FpSpread.ActiveSheet.GetLastNonEmptyRow(NonEmptyItemFlag.Data) 'Fejléc keresése.
If _FpSpread.ActiveSheet.Cells(_row, 0).Text = _HeaderIndicator Then
_firstHeaderSRow = _row
Exit For
End If
Next
For _column = 0 To _FpSpread.ActiveSheet.GetLastNonEmptyColumn(NonEmptyItemFlag.Data) ' Fejléc feldolgozása.
Select Case _FpSpread.ActiveSheet.Cells(_firstHeaderSRow, _column).Text
Case "Számlaszám"
_iDocumentNumber = _column
Case "Megrendelő neve"
_iCustomer = _column
Case "R-Nr"
_iCustomerNumber = _column
Case "Kelte"
_iDateCreated = _column
Case "Teljesítés"
_iDateExecution = _column
Case "Esedékes"
_iDatePayment = _column
Case "Mennyiség"
_iCurrencySum = _column
Case "FM"
_iPaymentOption = _column
Case "Áfakulcs"
_iCurrencyName = _column
Case "ÁFA"
If _FpSpread.ActiveSheet.Cells(_firstHeaderSRow, _column).Font.Bold = True Then
_iVATHeader = _column
Else
_iVATRow = _column
End If
Case "Nettó"
If _FpSpread.ActiveSheet.Cells(_firstHeaderSRow, _column).Font.Bold = True Then
_iNetHeader = _column
Else
_iNetRow = _column
End If
Case "Bruttó"
If _FpSpread.ActiveSheet.Cells(_firstHeaderSRow, _column).Font.Bold = True Then
_iGrossHeader = _column
Else
_iGrossRow = _column
End If
End Select
Next
_SysDate = GetSQLTime(_uow)
_WaitFormClass.InitWork(1, 1, _FpSpread.ActiveSheet.GetLastNonEmptyRow(NonEmptyItemFlag.Data))
For _row = _firstHeaderSRow + 1 To _FpSpread.ActiveSheet.GetLastNonEmptyRow(NonEmptyItemFlag.Data) 'Számlák készítése indul.
_VAT = Nothing
If (_FpSpread.ActiveSheet.Cells(_row, _iDocumentNumber).Text = "SZÁMLÁK ÖSSZESÍTÉS FIZETÉSI MÓDONKÉNT") _
Or (_FpSpread.ActiveSheet.Cells(_row, _iCustomerNumber).Text = "SZÁMLÁK ÖSSZESÍTÉS FIZETÉSI MÓDONKÉNT") Then 'Innét tudjuk, hogy elfogytak a feldolgozandó sorok.
_FooterIndicator = True
End If
_WaitFormClass.DoWork()
If (_FpSpread.ActiveSheet.Cells(_row, 0).Text <> _HeaderIndicator) And (_FpSpread.ActiveSheet.Cells(_row, _iDocumentNumber).Text.Trim <> _CustomersFromText) _
And Not _FooterIndicator Then
If (_FpSpread.ActiveSheet.Cells(_row, _iDocumentNumber).Text <> "") Then
_GLAccounts_check = _uow.FindObject(Of GLAccounts)(CriteriaOperator.Parse("DocumentNumber=? And CustomersFrom=?", _FpSpread.ActiveSheet.Cells(_row, _iDocumentNumber).Text, _Corner.CustomersFrom))
If _GLAccounts_check IsNot Nothing Then ' A DocumentNumbernek egyedinek kell lennie.
_ocur.Rollback()
_WaitFormClass.Finalwork
Throw New UserFriendlyException("A művelet nem végezhető el, már létezik számla ezzel a számmal: " + _GLAccounts_check.DocumentNumber)
End If
'_GLAccounts = _ocur.CreateObjec(Of GLAccounts)()
'_GLAccounts = New GLAccounts(_ocur.Session)
_GLAccounts = New GLAccounts(_uow)
_RowIndex = _RowIndex + 1
_GLAccounts.HeaderInfo = Format(_SysDate.Date, "yyyy-MM-dd") + " " + Format(_RowIndex, "0000") + " " + _FpSpread.ActiveSheet.Cells(_row, _iDocumentNumber).Text
_GLAccounts.PartnerType = ePartnerType.eReceivables ' Partner típusa.
_GLAccounts.CustomersFrom = _Corner.CustomersFrom ' Saját cég.
_CustomersText = _FpSpread.ActiveSheet.Cells(_row, _iCustomer).Text ' Partner neve a táblázatban
_CustomerNameParameters = _uow.FindObject(Of CustomerNameParameters)(CriteriaOperator.Parse("CustomerNumber=? And PHImportType=0", _FpSpread.ActiveSheet.Cells(_row, _iCustomerNumber).Text))
If _FpSpread.ActiveSheet.Cells(_row, _iPaymentOption).Text = "KP" Then ' A fizetési módnak megfelelő ügyfél és fizetési mód kiválasztása.
_GLAccounts.Customers = _Corner.Customers_Cash ' Partner.
If _CustomerNameParameters IsNot Nothing Then
If _CustomerNameParameters.Customers IsNot Nothing Then
_GLAccounts.Customers = _CustomerNameParameters.Customers ' Ha találunk partnert a CustomerNameParameters táblában, akkor felülírjuk
End If
End If
_GLAccounts.PaymentOption = _uow.FindObject(Of PaymentOption)(CriteriaOperator.Parse("PayMode=?", ePayMode.InCash)) ' Fizetési mód.
Else 'ElseIf _FpSpread.ActiveSheet.Cells(_row, _iPaymentOption).Text = "HK" Then
_GLAccounts.Customers = _Corner.Customers_ATM ' Partner
If _CustomerNameParameters IsNot Nothing Then
If _CustomerNameParameters.Customers IsNot Nothing Then
_GLAccounts.Customers = _CustomerNameParameters.Customers ' Ha találunk partnert a CustomerNameParameters táblában, akkor felülírjuk
End If
End If
_GLAccounts.PaymentOption = _uow.FindObject(Of PaymentOption)(CriteriaOperator.Parse("PayMode=?", ePayMode.InTransfer))
End If
_GLAccounts.CurrencyName = _uow.FindObject(Of CurrencyName)(CriteriaOperator.Parse("ShortName=?", _FpSpread.ActiveSheet.Cells(_row, _iCurrencyName).Text()))
If _GLAccounts.CurrencyName Is Nothing Then
_ocur.Rollback()
_WaitFormClass.Finalwork
Throw New UserFriendlyException("Nem sikerült beazonosítani az alábbi devizanemet: " + _FpSpread.ActiveSheet.Cells(_row, _iCurrencyName).Text)
End If
If _GLAccounts.CurrencyName.ShortName = "HUF" Then ' Árfolyam kiszámolása.
_Rate = 1 ' A belső számolásokhoz
_GLAccounts.CurrencyRateVAT = 1
Else
_Rate = Convert.ToDouble(_FpSpread.ActiveSheet.Cells(_row, _iGrossHeader).Text) / Convert.ToDouble(_FpSpread.ActiveSheet.Cells(_row, _iCurrencySum).Text) ' A belső számolásokhoz
_GLAccounts.CurrencyRateVAT = Math.Round(_Rate, 4, MidpointRounding.AwayFromZero)
End If
_GLAccounts.CurrencyRate = _GLAccounts.CurrencyRateVAT ' A két árfolyam azonos.
_GLAccounts.DateCreated = Convert.ToDateTime(_FpSpread.ActiveSheet.Cells(_row, _iDateCreated).Text).Date
_GLAccounts.DateExecution = Convert.ToDateTime(_FpSpread.ActiveSheet.Cells(_row, _iDateExecution).Text).Date
_GLAccounts.DatePayment = Convert.ToDateTime(_FpSpread.ActiveSheet.Cells(_row, _iDatePayment).Text).Date
_GLAccounts.DocumentNumber = _FpSpread.ActiveSheet.Cells(_row, _iDocumentNumber).Text
_GLAccounts.ConnectInfo = _FpSpread.ActiveSheet.Cells(_row, _iDocumentNumber).Text
_GLAccounts.GLDocumentType = eGLDocumentType.eGLAccount ' Dokumentum típusa.
_GLAccounts.IsEditable = False ' Nem szerkeszthető.
_GLAccounts.IsStorno = False ' Nem sztornózott.
_GLAccounts.NoteHeader = "Corner"
_GLAccounts.ImportedOther = _Corner.Oid
_GLAccounts.Save()
_GLAccounts_List.Add(_GLAccounts)
End If
If _FpSpread.ActiveSheet.Cells(_row, _iGrossRow).Text <> "" Then ' Tétel sorok.
_GUID = Guid.NewGuid
_InvoiceNameParameters = _uow.FindObject(Of InvoiceNameParameters)(CriteriaOperator.Parse("PHImportType=0 And ShortName=?", _FpSpread.ActiveSheet.Cells(_row, _iPaymentOption).Text))
If _InvoiceNameParameters Is Nothing Then ' Megvizsgáljuk, hogy az adott tétel megtalálható-e.
_ocur.Rollback()
_WaitFormClass.Finalwork
Throw New UserFriendlyException("A művelet nem végezhető el, végre kell hajtani a Megnevezés paraméterek feldolgozását!")
End If
If _VAT Is Nothing Then
Select Case _FpSpread.ActiveSheet.Cells(_row, _iCurrencyName).Text ' Egyenlőre úgy tűnik, át kell konvertálni az ÁFA kódolkat, ez a PH-ra lett szabva.
Case "27"
_VATText = "27%"
Case "25"
_VATText = "25%"
Case "18"
_VATText = "18%"
Case "0"
_VATText = "ÁTHK"
Case Else
_VATText = ""
End Select
_VAT = _uow.FindObject(Of VAT)(CriteriaOperator.Parse("ShortName=?", _VATText))
End If
If _VAT Is Nothing Then
_VAT = _uow.FindObject(Of VAT)(CriteriaOperator.Parse("ShortName=?", LTrim(RTrim(_FpSpread.ActiveSheet.Cells(_row, _iCurrencyName).Text)) + "%"))
End If
If _VAT Is Nothing Then
_VAT = _uow.FindObject(Of VAT)(CriteriaOperator.Parse("ShortName=?", LTrim(RTrim(_FpSpread.ActiveSheet.Cells(_row, _iCurrencyName).Text)) + " %"))
End If 'Nem egységes az áfakulcs sor rögzítése, de megtesszük, amit lehet...
If _VAT Is Nothing Then ' Nem találtuk meg az ÁFA-kulcsot
_ocur.Rollback()
_WaitFormClass.Finalwork
Throw New UserFriendlyException("Nem sikerült megtalálni az Áfa-kulcs paramétert: " + _VATText)
End If
If Convert.ToDouble(_FpSpread.ActiveSheet.Cells(_row, _iNetRow).Text) <> 0 Then ' Nettó rész.
_GLRows = New GLRows(_uow)
If _GLAccounts.CurrencyName.ShortName = "HUF" Then
_GLRows.AmountHUF = Convert.ToDouble(_FpSpread.ActiveSheet.Cells(_row, _iNetRow).Text)
Else
_GLRows.AmountDEV = Math.Round(Convert.ToDouble(_FpSpread.ActiveSheet.Cells(_row, _iNetRow).Text) / _Rate, 4, MidpointRounding.AwayFromZero) ' Számolni kell.
_GLRows.AmountHUF = Convert.ToDouble(_FpSpread.ActiveSheet.Cells(_row, _iNetRow).Text)
End If
If _FpSpread.ActiveSheet.Cells(_row, _iPaymentOption).Text = "KP" Then ' Más a főkönyvi szlaszám kp., és más utalás esetén.
_GLRows.DebitChartOfAccounts = _Corner.Customers_Cash.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eOut)
Else
_GLRows.DebitChartOfAccounts = _Corner.Customers_ATM.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eOut)
End If
_GLRows.CreditChartOfAccounts = _InvoiceNameParameters.Controlling.ChartOfAccounts
_GLRows.GLRowsGUID = _GUID
_GLRows.ConnectInfo = _GLAccounts.DocumentNumber
_GLRows.GLHeader = TryCast(_GLAccounts, GLHeader)
_GLRows.Customer = _GLAccounts.Customers
_GLRows.PartnerType = ePartnerType.eReceivables
_GLRows.NoteRows = _CustomersText
_GLRows.GLHeader.NoteHeader = _CustomersText
_GLRows.DateVAT = _GLAccounts.DateExecution
_GLRows.VAT = _VAT
_GLRows.GLRowsTypeVAT = eGLRowsTypeVAT.eNettoRow
_GLRows.CostHolder = _Corner.CostHolder
_GLRows.Controlling = _InvoiceNameParameters.Controlling
_GLRows.CostPlace = Nothing
_GLRows.JobNumberObjects = Nothing
_GLRows.Save()
_GLAccounts.RecalculateTotal()
_GLRows = New GLRows(_uow) ' Áfa rész
If _GLAccounts.CurrencyName.ShortName = "HUF" Then
_GLRows.AmountHUF = Convert.ToDouble(_FpSpread.ActiveSheet.Cells(_row, _iVATRow).Text)
Else
_GLRows.AmountDEV = Math.Round(Convert.ToDouble(_FpSpread.ActiveSheet.Cells(_row, _iVATRow).Text) / _Rate, 4, MidpointRounding.AwayFromZero) ' Számolni kell.
_GLRows.AmountHUF = Convert.ToDouble(_FpSpread.ActiveSheet.Cells(_row, _iVATRow).Text)
End If
If _FpSpread.ActiveSheet.Cells(_row, _iPaymentOption).Text = "KP" Then ' Más a főkönyvi szlaszám kp., és más utalás esetén.
_GLRows.DebitChartOfAccounts = _Corner.Customers_Cash.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eOut)
Else
_GLRows.DebitChartOfAccounts = _Corner.Customers_ATM.CustomersGLParameters.GetChartOfAccounts(_GLAccounts.DateExecution.Year, eVATMode.eOut)
End If
_GLRows.CreditChartOfAccounts = _VAT.ChartOfAccountsOut
_GLRows.GLRowsGUID = _GUID
_GLRows.ConnectInfo = _GLAccounts.DocumentNumber
_GLRows.GLHeader = TryCast(_GLAccounts, GLHeader)
_GLRows.Customer = _GLAccounts.Customers
_GLRows.PartnerType = ePartnerType.eReceivables
_GLRows.NoteRows = _CustomersText
_GLRows.GLHeader.NoteHeader = _CustomersText
_GLRows.DateVAT = _GLAccounts.DateExecution
_GLRows.VAT = _VAT
_GLRows.GLRowsTypeVAT = eGLRowsTypeVAT.eVATRow
_GLRows.CostHolder = _Corner.CostHolder
_GLRows.Controlling = _InvoiceNameParameters.Controlling
_GLRows.CostPlace = Nothing
_GLRows.JobNumberObjects = Nothing
_GLRows.Save()
_GLAccounts.RecalculateTotal()
End If
End If
End If
Next
_uow.CommitChanges()
_WaitFormClass.Finalwork
'// Pontozás lefuttatása
_WaitFormClass.InitWork(1, 1, _GLAccounts_List.Count)
For Each _GLAccounts In _GLAccounts_List
_WaitFormClass.DoWork()
GLFunctions.ReconfigurePCI(_uow, _GLAccounts.CustomersFrom, _GLAccounts.Customers, ePartnerType.eReceivables, _GLAccounts.ConnectInfo)
Next
_WaitFormClass.Finalwork
View.Refresh()
End Sub
Private Sub aCheckName_Corner_Execute(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aCheckName_Corner.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _InvoiceNameParameters As InvoiceNameParameters
Dim _CustomerNameParameters As CustomerNameParameters
Dim _firstHeaderSRow As Integer
Dim _HeaderIndicator As String = "T."
Dim _ColumnName1 As String = "FM"
Dim _ColumnName2 As String = "Bruttó"
Dim _ColumnName3 As String = "Megrendelő neve"
Dim _ColumnName31 As String = "Útlevél"
Dim _ColumnName4 As String = "R-Nr"
Dim _ColumnName5 As String = "Mennyiség"
Dim _iCol1 As Integer
Dim _iCol2 As Integer
Dim _iCol3 As Integer
Dim _iCol4 As Integer
Dim _iCol5 As Integer
Dim _row As Integer
Dim _column As Integer
For _row = 0 To _FpSpread.ActiveSheet.GetLastNonEmptyRow(NonEmptyItemFlag.Data) 'Megkeressük az első oldal fejlécét.
If _FpSpread.ActiveSheet.Cells(_row, 0).Text = _HeaderIndicator Then
_firstHeaderSRow = _row
Exit For
End If
Next
For _column = 0 To _FpSpread.ActiveSheet.GetLastNonEmptyColumn(NonEmptyItemFlag.Data) 'Végigmegyünk az oszlopokon.
Select Case _FpSpread.ActiveSheet.Cells(_firstHeaderSRow, _column).Text ' Fejléc feldolgozása.
Case _ColumnName1
_iCol1 = _column ' Eltároljuk a "fizetési mód/megnevezés" oszlop sorszámát.
Case _ColumnName2
If _FpSpread.ActiveSheet.Cells(_firstHeaderSRow, _column).Font.Bold = False Then
_iCol2 = _column ' Eltároljuk a "tételsor bruttó értéke" oszlop sorszámát
End If
Case _ColumnName3 ' Eltároljuk a "Vendég neve/Útlevél" oszlop sorszámát
_iCol3 = _column
Case _ColumnName4 ' Eltároljuk az "R-Nr" oszlop sorszámát
_iCol4 = _column
Case _ColumnName5 ' Eltároljuk a "Mennyiség" oszlop sorszámát
_iCol5 = _column
End Select
Next
_WaitFormClass.InitWork(1, 1, _FpSpread.ActiveSheet.GetLastNonEmptyRow(NonEmptyItemFlag.Data))
For _row = _firstHeaderSRow To _FpSpread.ActiveSheet.GetLastNonEmptyRow(NonEmptyItemFlag.Data) ' Végigmegyünk az egész táblázaton.
_WaitFormClass.DoWork()
If _FpSpread.ActiveSheet.Cells(_row, _iCol2).Text <> _ColumnName2 And _FpSpread.ActiveSheet.Cells(_row, _iCol2).Text <> "" Then ' Ha a cella szövege nem üres, de nem is az oszlop fejlécének szövege, akkor találtunk tételsort.
_InvoiceNameParameters = _uow.FindObject(Of InvoiceNameParameters)(CriteriaOperator.Parse("ShortName=? And PHImportType=0", _FpSpread.ActiveSheet.Cells(_row, _iCol1).Text))
If _InvoiceNameParameters Is Nothing Then ' Amennyigen a megnevezés még nincs az InvoiceNameParameters táblában, beszúrjuk.
_InvoiceNameParameters = New InvoiceNameParameters(_uow)
_InvoiceNameParameters.PHImportType = ePHImportType.eCorner
_InvoiceNameParameters.ShortName = _FpSpread.ActiveSheet.Cells(_row, _iCol1).Text
Try
_InvoiceNameParameters.Save()
_uow.CommitChanges()
Catch
_WaitFormClass.Finalwork
End Try
End If
End If
If _FpSpread.ActiveSheet.Cells(_row, _iCol3).Text <> _ColumnName3 And _FpSpread.ActiveSheet.Cells(_row, _iCol3).Text <> _ColumnName31 _
And _FpSpread.ActiveSheet.Cells(_row, _iCol3).Text <> "" And _FpSpread.ActiveSheet.Cells(_row, _iCol5).Text <> "" Then ' Ha a cella szövege nem üres, de nem is az oszlop fejlécének szövege, akkor találtunk tételsort.
_CustomerNameParameters = _uow.FindObject(Of CustomerNameParameters)(CriteriaOperator.Parse("CustomerNumber=? And PHImportType=0", _FpSpread.ActiveSheet.Cells(_row, _iCol4).Text))
If _CustomerNameParameters Is Nothing Then ' Amennyigen az ügyfélszám még nincs az CustomerNameParameters táblában, beszúrjuk.
_CustomerNameParameters = New CustomerNameParameters(_uow)
_CustomerNameParameters.PHImportType = ePHImportType.eCorner
_CustomerNameParameters.CustomerText = _FpSpread.ActiveSheet.Cells(_row, _iCol3).Text
_CustomerNameParameters.CustomerNumber = _FpSpread.ActiveSheet.Cells(_row, _iCol4).Text
Try
_CustomerNameParameters.Save()
_uow.CommitChanges()
Catch
_WaitFormClass.Finalwork
End Try
End If
End If
Next
_WaitFormClass.Finalwork
View.Refresh()
End Sub
Private Sub aRemoveGLAccounts_Corner_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aRemoveGLAccounts_Corner.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _uow As New UnitOfWork(_ocur.Session.DataLayer)
Dim _Corner As Corner = TryCast(View.SelectedObjects(0), Corner)
Dim _GLAccounts_Collection As New XPCollection(Of GLAccounts)(_uow, CriteriaOperator.Parse("ImportedOther=?", _Corner.Oid))
_uow.Delete(_GLAccounts_Collection)
_uow.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End Sub
End Class