Files
Nuvolar/Nuvolar.Module/BusinessObjects/Business/BusinessTransactions/Orders/OrdersIn/OrderInVC.vb
T

4706 lines
309 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.Editors
Imports DevExpress.Data.Filtering
Imports DevExpress.Xpo
Imports DevExpress.Persistent.Validation
Imports DevExpress.ExpressApp.SystemModule
Imports DevExpress.ExpressApp.CloneObject
Imports DevExpress.ExpressApp.Model
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.ExpressApp.Utils
Public Class OrderInVC
Inherits DevExpress.ExpressApp.ViewController
Protected _selection As New ArrayList
Protected _noselect As Boolean = False
Private _getAlertFromOrderIn As String
Public Sub New()
MyBase.New()
InitializeComponent()
RegisterActions(components)
End Sub
Private Enum eInvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows
eDeliveryNoteOutRows = 0
eOrderInRows = 1
End Enum
#Region "Overrides"
Protected Overrides Sub OnActivated()
MyBase.OnActivated()
' Frame.GetController(Of OrderInVC).aORI_RegenerateValues.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aFinalizeOrderIn.Active.SetItemValue("", False) ' -- Véglegesít egy bejövõ megrendelést
Frame.GetController(Of OrderInVC)().aStornoOrderIn.Active.SetItemValue("", False) ' -- Stornírozz egy bejövõ megrendelést
Frame.GetController(Of OrderInVC)().aUp_OrderIn.Active.SetItemValue("", False) ' -- Bejövõ megrendelés sorainak a row indexét csökkentjük
Frame.GetController(Of OrderInVC)().aDown_OrderIn.Active.SetItemValue("", False) ' -- Bejövõ megrendelés sorainak a row indexét növeljük
Frame.GetController(Of OrderInVC)().aGenerateStorageOutFromOrderIn.Active.SetItemValue("", False) ' -- Létrehoz egy kitárolást egy rendelésbõl betárolás soraiból
Frame.GetController(Of OrderInVC)().aToTable_OrderIn.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aToTableD_OrderIn.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aGenerateStorageOutFromOrderInFIFO.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aBackToEdit_OrderInHeader.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC).aORI_RegenerateValues.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC).aProductFinder.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC).aOrderIn_ChangeRows.Active.SetItemValue("", False)
'--------- LISTVIEWS -------------------------------------------------------------------------------------------------------------------------------
If View.Id = "OrderInHeader_OrderInRows_ListView" Then '--- Bejövõ megrendelések sorai
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of LinkUnlinkController)()?.Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aUp_OrderIn.Active.SetItemValue("", True)
Frame.GetController(Of OrderInVC)().aDown_OrderIn.Active.SetItemValue("", True)
Dim nv As ListView = CType(View, ListView)
Dim cs As PropertyCollectionSource = CType(nv.CollectionSource, PropertyCollectionSource)
AddHandler cs.MasterObjectChanged, AddressOf cs_MasterObjectChanged
'Dim _OrderInHeader As OrderInHeader = TryCast(cs.MasterObject, OrderInHeader)
'If _OrderInHeader IsNot Nothing Then
' If _OrderInHeader.OrderInParameters.CurrencyName.ShortName <> "HUF" Then
' Dim _ModelListView As IModelListView
' _ModelListView = TryCast(View.Model.Application.Views.Item(View.Id), IModelListView)
' _ModelListView.Columns.Item("ListPriceDEV").Index = -1
' _ModelListView.Columns.Item("DiscountPriceDEV").Index = -1
' _ModelListView.Columns.Item("FinalPriceDEV").Index = -1
' End If
'End If
End If
If View.Id = "OrderInHeader_ListView" Then
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aStornoOrderIn.Active.SetItemValue("", True)
Frame.GetController(Of OrderInVC)().aBackToEdit_OrderInHeader.Active.SetItemValue("", True)
End If
If View.Id = "OrderInHeader_ListView_Editable" Then
AddHandler Frame.GetController(Of DeleteObjectsViewController).DeleteAction.Executing, AddressOf OrderInHeader_ListView_Editable_DeleteAction_Executing
End If
If View.Id = "OrderInRows_StorageComputed_Collection_ListView" Then
Frame.GetController(Of ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", False)
End If
If View.Id = "OrderInHeader_OrderInHeaderVAT_ListView" Then
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of LinkUnlinkController)()?.Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of CloneObject.CloneObjectViewController)?.Active.SetItemValue("", False)
Frame.GetController(Of ListViewProcessCurrentObjectController)?.Active.SetItemValue("", False)
End If
If View.Id = "OrderInHeader_OrderInTo_ListView" Then
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of LinkUnlinkController)()?.Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", False)
End If
If View.Id = "OrderInHeader_OrderInRows_ListView" Then
Frame.GetController(Of OrderInVC).aOrderIn_ChangeRows.Active.SetItemValue("", True)
AddHandler View.SelectionChanged, AddressOf OrderInHeader_OrderInRows_ListView_SelectionChanged
'AddHandler Frame.GetController(Of DialogController)().PropertyChangedEventArgs, AddressOf OrderInHeader_OrderInRows_ListView_PropertyChangedEventArgs
End If
If View.Id = "OrderInHeader_OrderInRowsOther_ListView" Then
Frame.GetController(Of OrderInVC).aOrderInOther_ChangeRows.Active.SetItemValue("", True)
AddHandler View.SelectionChanged, AddressOf OrderInHeader_OrderInRowsOther_ListView_SelectionChanged
End If
If View.Id = "OrderInRowsOther_ListView" Then
AddHandler View.SelectionChanged, AddressOf OrderInHeader_OrderInRowsOther_ListView_SelectionChanged
End If
If View.Id = "OrderInRows_StorageOutRowsInRows_Collection_ListView" Then
'Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of LinkUnlinkController)()?.Active.SetItemValue("", False)
Frame.GetController(Of NewObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", False)
End If
'--------- DETAILVIEWS -------------------------------------------------------------------------------------------------------------------------------
If View.Id = "OrderInHeader_DetailView" Then '---Véglegesíteni és Sztornózni csak a megfelelõ elemeket lehessen
Frame.GetController(Of OrderInVC)().aRecalculateOrder.Active.SetItemValue("", True)
Frame.GetController(Of OrderInVC)().aToTable_OrderIn.Active.SetItemValue("", True)
Frame.GetController(Of OrderInVC)().aToTableD_OrderIn.Active.SetItemValue("", True)
Frame.GetController(Of OrderInVC)().aGenerateStorageOutFromOrderIn.Active.SetItemValue("", True)
Frame.GetController(Of OrderInVC).aGenerateStorageOutFromOrderInFIFO.Active.SetItemValue("", True)
Frame.GetController(Of OrderInVC)().aStornoOrderIn.Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC).aProductFinder.Active.SetItemValue("", True)
If View.SelectedObjects.Count <> 0 Then
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
If _OrderInHeader.IsEditable = True And _OrderInHeader.IsStorno = False Then
Frame.GetController(Of OrderInVC)().aFinalizeOrderIn.Active.SetItemValue("", True)
Frame.GetController(Of OrderInVC)().aStornoOrderIn.Active.SetItemValue("", False)
End If
If _OrderInHeader.IsEditable = False Then
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aFinalizeOrderIn.Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController)().SaveAction.Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController)().SaveAndCloseAction.Active.SetItemValue("", False)
Frame.GetController(Of ModificationsController)().SaveAndNewAction.Active.SetItemValue("", False)
End If
End If
End If
If View.Id = "ORI_Invoice_Popup_DetailView" Then
AddHandler Frame.GetController(Of DialogController)().AcceptAction.Executing, AddressOf AcceptAction_Executing
End If
If View.Id = "StorageOutFromOrderInFIFO_PopUp_DetailView" Then
AddHandler Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DialogController)().AcceptAction.Executing, AddressOf StorageOutFromOrderInFIFO_PopUp_DetailView_AcceptActionExecuting
End If
If View.Id = "ORI_Invoice_Popup_DetailView" Then
AddHandler Frame.GetController(Of DevExpress.ExpressApp.SystemModule.DialogController)().AcceptAction.Executing, AddressOf ORI_Invoice_Popup_DetailView_AcceptActionExecuting
End If
If View.Id = "OrderInHeader_ListView_Deleted" Then
If TryCast(View, ListView) IsNot Nothing Then
If TryCast(View, ListView).CollectionSource IsNot Nothing Then
If TryCast(View, ListView).CollectionSource.Collection IsNot Nothing Then
If TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection) IsNot Nothing Then
If TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection IsNot Nothing Then
If TryCast(TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection, XPCollection) IsNot Nothing Then
TryCast(TryCast(TryCast(View, ListView).CollectionSource.Collection, ProxyCollection).OriginalCollection, XPCollection).SelectDeleted = True
End If
End If
End If
End If
End If
End If
End If
End Sub
Protected Overrides Sub OnDeactivated()
MyBase.OnDeactivated()
If View.Id = "OrderInHeader_OrderInRows_ListView" Then '--- Bejövõ megrendelések sorai
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of LinkUnlinkController)()?.Active.SetItemValue("", True)
Frame.GetController(Of NewObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", True)
Dim nv As ListView = CType(View, ListView)
Dim cs As PropertyCollectionSource = CType(nv.CollectionSource, PropertyCollectionSource)
RemoveHandler cs.MasterObjectChanged, AddressOf cs_MasterObjectChanged
End If
If View.Id = "OrderInRows_StorageComputed_Collection_ListView" Then
Frame.GetController(Of ListViewProcessCurrentObjectController)()?.Active.SetItemValue("", True)
End If
If View.Id = "ORI_Invoice_Popup_DetailView" Then
RemoveHandler Frame.GetController(Of DialogController)().AcceptAction.Executing, AddressOf AcceptAction_Executing
End If
If View.Id = "OrderInHeader_OrderInHeaderVAT_ListView" Then
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of LinkUnlinkController)()?.Active.SetItemValue("", True)
Frame.GetController(Of NewObjectViewController)()?.Active.SetItemValue("", True)
End If
If View.Id = "OrderInHeader_OrderInTo_ListView" Then
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of LinkUnlinkController)()?.Active.SetItemValue("", True)
Frame.GetController(Of NewObjectViewController)()?.Active.SetItemValue("", True)
End If
If View.Id = "OrderInHeader_ListView" Then
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", True)
Frame.GetController(Of OrderInVC)().aStornoOrderIn.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aBackToEdit_OrderInHeader.Active.SetItemValue("", False)
End If
If View.Id = "OrderInHeader_ListView_Editable" Then
RemoveHandler Frame.GetController(Of DeleteObjectsViewController).DeleteAction.Executing, AddressOf OrderInHeader_ListView_Editable_DeleteAction_Executing
End If
'--------- DETAILVIEWS -------------------------------------------------------------------------------------------------------------------------------
If View.Id = "OrderInHeader_DetailView" Then '---Véglegesíteni és Sztornózni csak a megfelelõ elemeket lehessen
Frame.GetController(Of OrderInVC)().aRecalculateOrder.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aToTable_OrderIn.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aToTableD_OrderIn.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC).aGenerateStorageOutFromOrderInFIFO.Active.SetItemValue("", False)
Frame.GetController(Of CloneObjectViewController)()?.Active.SetItemValue("", True)
If View.SelectedObjects.Count <> 0 Then
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
If _OrderInHeader.IsEditable = True And _OrderInHeader.IsStorno = False Then
Frame.GetController(Of OrderInVC)().aFinalizeOrderIn.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aStornoOrderIn.Active.SetItemValue("", False)
End If
If _OrderInHeader.IsEditable = False Then
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", True)
If _OrderInHeader.IsEditable = False Then
Frame.GetController(Of DeleteObjectsViewController)()?.Active.SetItemValue("", False)
Frame.GetController(Of OrderInVC)().aFinalizeOrderIn.Active.SetItemValue("", True)
Frame.GetController(Of ModificationsController)().SaveAction.Active.SetItemValue("", True)
Frame.GetController(Of ModificationsController)().SaveAndCloseAction.Active.SetItemValue("", True)
Frame.GetController(Of ModificationsController)().SaveAndNewAction.Active.SetItemValue("", True)
End If
End If
If _OrderInHeader.IsStorno = False AndAlso _OrderInHeader.IsEditable = False Then
Frame.GetController(Of OrderInVC)().aStornoOrderIn.Active.SetItemValue("", True)
End If
If _OrderInHeader.DocumentNumber IsNot Nothing And _OrderInHeader.IsEditable = False Then
Frame.GetController(Of OrderInVC)().aGenerateStorageOutFromOrderIn.Active.SetItemValue("", False)
End If
End If
End If
End Sub
Protected Overrides Sub OnViewControlsCreated()
MyBase.OnViewControlsCreated()
End Sub
#End Region
Private Sub AcceptAction_Executing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
Validator.RuleSet.ValidateAll(View.ObjectSpace, View.SelectedObjects, DefaultContexts.Save)
End Sub
Private Sub cs_MasterObjectChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim _OrderInHeader As OrderInHeader = TryCast((CType(sender, PropertyCollectionSource)).MasterObject, OrderInHeader)
If _OrderInHeader Is Nothing Then Exit Sub
If _OrderInHeader.DocumentNumber IsNot Nothing And _OrderInHeader.IsEditable = False Then
Frame.GetController(Of OrderInVC)().aGenerateStorageOutFromOrderIn.Active.SetItemValue("", True)
End If
End Sub
Private Sub aFinalizeOrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aFinalizeOrderIn.Execute
'---Az akció véglegesít egy bejövő megrendelést------------------------------------------------
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
_OrderInHeader.IsEditable = False
_ocur.CommitChanges()
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Private Sub aStornoOrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aStornoOrderIn.Execute
'---Az akció sztornóz egy véglegesített bejövő megrendelést----------------------------------------
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _OrderInRows As OrderInRows
Dim _False As Boolean = False
'--Ellenőrzés, hogy létezik-e olyan véglegesített kitárolási sor amelynek rendelési sora ehhez a fejléchez tartozik
Dim _FinalizedStorageOutRowsFromOrder As StorageOutRows = TryCast(View.ObjectSpace, Xpo.XPObjectSpace).FindObject(Of StorageOutRows)(CriteriaOperator.Parse("OrderInRows.OrderInHeader=? And StorageOutHeader.IsEditable=?", _OrderInHeader, _False))
If _FinalizedStorageOutRowsFromOrder Is Nothing Then
For Each _OrderInRows In _OrderInHeader.OrderInRows
Dim _StorageOutRowsCollection As XPCollection = New XPCollection(_ocur.Session, GetType(StorageOutRows), CriteriaOperator.Parse("OrderInRows=?", _OrderInRows))
If _StorageOutRowsCollection.Count > 0 Then
'-- Nem véglegesístet kitárolási sorok elviekben töröltehõek
_ocur.Session.Delete(_StorageOutRowsCollection)
End If
Next
Else
'--Teszt Exception dobás ha létezik olyan sora a rendelésnek ami egy lezárt kitároslási sorhoz tartozik
Throw New Exception("*Nem stornózható! A rendeléshez már tartozik véglegesített kitárolás!")
End If
_OrderInHeader.IsStorno = True
_OrderInHeader.Save()
_ocur.CommitChanges()
End Sub
Private Sub aUp_OrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aUp_OrderIn.Execute
' A kiválaszott sort egy sorral feljebb helyezi
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader
Dim _OrderInRowsSelected As OrderInRows
Dim _OrderInRowsMinus As OrderInRows
Dim _OrderInrows As OrderInRows
Try
_OrderInRowsSelected = TryCast(View.SelectedObjects(0), OrderInRows) ' Kiveszi a kijelölt sorok közül az elsőt
_OrderInHeader = _OrderInRowsSelected.OrderInHeader
Catch
' TESZT MIATT!!!! ----------------------------------------------------------------
Throw New Exception("*Nincs sor kiválasztva, vagy nem a sor kijelölése az aktív!")
End Try
If _OrderInRowsSelected.RowIndex > 0 Then
For Each _OrderInrows In _OrderInHeader.OrderInRows
If _OrderInrows.RowIndex = _OrderInRowsSelected.RowIndex - 1 Then
_OrderInRowsMinus = _OrderInrows
Exit For
End If
Next
If _OrderInRowsMinus IsNot Nothing Then
_OrderInRowsSelected.RowIndex -= 1
_OrderInRowsMinus.RowIndex += 1
End If
_OrderInRowsMinus.Save()
_OrderInRowsSelected.Save()
_ocur.CommitChanges()
View.Refresh()
End If
End Sub
Private Sub aDown_OrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aDown_OrderIn.Execute
' A kiválaszott sort egy sorral lejebb helyezi
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader
Dim _OrderInRowsSelected As OrderInRows
Dim _OrderInRowsPlus As OrderInRows
Dim _OrderInrows As OrderInRows
Try
_OrderInRowsSelected = TryCast(View.SelectedObjects(0), OrderInRows) ' Kiveszi a kijelölt sorok közül az elsőt
_OrderInHeader = _OrderInRowsSelected.OrderInHeader
Catch
' TESZT MIATT!!!! ----------------------------------------------------------------
Throw New Exception("*Nincs sor kiválasztva, vagy nem a sor kijelölése az aktív!")
End Try
If _OrderInRowsSelected.RowIndex < _OrderInHeader.OrderInRows.Count - 1 Then
For Each _OrderInrows In _OrderInHeader.OrderInRows
If _OrderInrows.RowIndex = _OrderInRowsSelected.RowIndex + 1 Then
_OrderInRowsPlus = _OrderInrows
Exit For
End If
Next
If _OrderInRowsPlus IsNot Nothing Then
_OrderInRowsSelected.RowIndex += 1
_OrderInRowsPlus.RowIndex -= 1
End If
_OrderInRowsPlus.Save()
_OrderInRowsSelected.Save()
_ocur.CommitChanges()
View.Refresh()
End If
End Sub
Private Sub aGenerateStorageOutFromOrder_CustomizePopupWindowParams(ByVal sender As System.Object, ByVal e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aGenerateStorageOutFromOrderIn.CustomizePopupWindowParams
'---Létrehoz egy ListView-t ahol a raktárat kell kiválasztani a rendelésből kitárolási akcióhoz
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("OrderInRows")
Dim _OrderInRows As OrderInRows
Try
_OrderInRows = _OrderInRows_ListEditor.ListView.SelectedObjects(0)
Catch
' --------------- TESZT MIATT ------------------------
Throw New Exception("*Legalább egy sort ki kell választani!")
End Try
Dim Keys As New Collection
Dim _In_StorageComputed As New XPCollection(Of StorageComputed)(_onew.Session, CriteriaOperator.Parse("Products=? AND QTTFree>0 AND Storage.CustomersFrom.Oid=?", _onew.GetObject(_OrderInRows.Products), _OrderInRows.OrderInHeader.CustomersFrom.Oid))
Dim _StorageComputed As StorageComputed
Keys.Clear()
For Each _StorageComputed In _In_StorageComputed
Keys.Add(_StorageComputed.Storage.Oid)
Next
Dim _InOperator As InOperator = New InOperator("Oid", Keys)
Dim _CollectionSource As CollectionSource = New CollectionSource(_onew, GetType(Storage))
_CollectionSource.BeginUpdateCriteria()
_CollectionSource.Criteria("1") = _InOperator
_CollectionSource.EndUpdateCriteria()
e.View = Application.CreateListView("Storage_ListView_OrderIn", _CollectionSource, True)
End Sub
Private Sub aReCalculatePricing_OrderInRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aReCalculatePricing_OrderInRows.Execute
' Vizsgáljuk. hogy van e árkalkulációja az ügyfélnek, ha van kalkulálunk
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInRows).OrderInHeader
Dim _OrderInRows As OrderInRows
If _OrderInHeader.Customers.Pricing IsNot Nothing Then
For Each _OrderInRows In _OrderInHeader.OrderInRows
If _OrderInHeader.OrderInParameters.CurrencyName.ShortName = "HUF" Then ' Ha a Deviza HUF
_OrderInRows.ListPriceHUF = _OrderInHeader.Customers.Pricing.GetCurrentPriceNettoHUF(_OrderInRows.Products, _OrderInRows.QTT) ' A kedvezményt tartalmazó listaár HUF-ban
_OrderInRows.DiscountPriceHUF = 0 '_OrderInRows.Products.ListPriceOutHUF - _OrderInRows.ListPriceHUF ' A kedvezmény összege HUF-ban
Else ' Ha a deviza nem HUF
_OrderInRows.ListPriceDEV = _OrderInHeader.Customers.Pricing.GetCurrentPriceNettoDEV(_OrderInRows.Products, _OrderInRows.QTT) ' A kedvezményt tartalmazó listaár DEV-ben
_OrderInRows.DiscountPriceDEV = 0 '_OrderInRows.Products.ListPriceOutDEV - _OrderInRows.ListPriceDEV ' A kedvezmény összege DEV-ben
End If
_OrderInRows.Save()
Next
View.Refresh()
End If
End Sub
Private Sub aRecalculateOrder_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aRecalculateOrder.Execute
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
_OrderInHeader.RecalculateOrder(_OrderInHeader, _ocur)
_ocur.CommitChanges()
End Sub
Private Sub aGenerateOrderOutTempFromOrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aGenerateOrderOutTempFromOrderIn.Execute
'// Az eljárás továbbrendeli a kiválasztott tételt
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _ListPropertyEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("OrderInRows")
Dim _OrderInRows As OrderInRows
Dim _OrderInTo As OrderInTo
Dim _OrderInTo_Collection As XPCollection(Of OrderInTo)
Dim _QTT_To As Double = 0
For i = 0 To _ListPropertyEditor.ListView.SelectedObjects.Count - 1
_OrderInRows = TryCast(_ListPropertyEditor.ListView.SelectedObjects(i), OrderInRows)
If _OrderInRows.QTT_Process <> 0 Then
_OrderInTo = _ocur.FindObject(Of OrderInTo)(CriteriaOperator.Parse("OrderInRows=? and OrderOutRows is NULL", _OrderInRows), True)
If _OrderInTo Is Nothing Then
_OrderInTo = _ocur.CreateObject(Of OrderInTo)()
_OrderInTo.QTT_To = _OrderInRows.QTT_Process
_OrderInTo.OrderInRows = _OrderInRows
Else
_OrderInTo.QTT_To += _OrderInRows.QTT_Process
End If
_ocur.CommitChanges()
_OrderInTo_Collection = New XPCollection(Of OrderInTo)(_ocur.Session, CriteriaOperator.Parse("OrderInRows=?", _OrderInRows))
_QTT_To = 0
For Each _OrderInTo In _OrderInTo_Collection
_QTT_To += _OrderInTo.QTT_To
Next
_OrderInRows.QTT_To = _QTT_To
End If
Next i
_ocur.CommitChanges()
End Sub
Private Sub aGenerateStorageOutFromOrderInFIFO_CustomizePopupWindowParams(sender As System.Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aGenerateStorageOutFromOrderInFIFO.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("OrderInRows")
Dim _OrderInRows As OrderInRows = TryCast(_OrderInHeader_ListEditor.ListView.SelectedObjects(0), OrderInRows)
If _OrderInRows Is Nothing Then Throw New Exception("*Nincs kiválsztva egy sor sem a bejövő megrendelésen!")
Dim _StorageOutFromOrderInFIFO_PopUp As StorageOutFromOrderInFIFO_PopUp = _onew.CreateObject(Of StorageOutFromOrderInFIFO_PopUp)()
_StorageOutFromOrderInFIFO_PopUp.Products = _onew.GetObject(_OrderInRows.Products)
_StorageOutFromOrderInFIFO_PopUp.QTT_Full = _OrderInRows.QTT
e.View = Application.CreateDetailView(_onew, "StorageOutFromOrderInFIFO_PopUp_DetailView", True, _StorageOutFromOrderInFIFO_PopUp)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aGenerateStorageOutFromOrderInFIFO_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aGenerateStorageOutFromOrderInFIFO.Execute
Try
If e.PopupWindow.View.SelectedObjects.Count = 0 Then _
Throw New Exception("*Nincs kiválsztva egy betárolási bizonylati sor sem!")
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _OrderInHeader_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("OrderInRows")
Dim _OrderInRows As OrderInRows = TryCast(_OrderInHeader_ListEditor.ListView.SelectedObjects(0), OrderInRows)
Dim _onew As Xpo.XPObjectSpace = e.PopupWindow.View.ObjectSpace
Dim _StorageOutFromOrderInFIFO_PopUp As StorageOutFromOrderInFIFO_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), StorageOutFromOrderInFIFO_PopUp)
Dim _StorageInRows_ListEditor As ListPropertyEditor = TryCast(e.PopupWindow.View, DetailView).FindItem("StorageInRows")
For Each _StorageInRows_PopUp As StorageInRows In _StorageInRows_ListEditor.ListView.CollectionSource.Collection
If _StorageInRows_PopUp.QTT_Will > _OrderInRows.QTT Then _
Throw New Exception(String.Format("A {0} termék esetében a rendelet mennyiség {1} volt, így ennél többet nem lehet kitárolni!", _OrderInRows.Products.ShortName, _OrderInRows.QTT) + vbNewLine +
String.Format("A kitárolásszándék: {0}", _StorageInRows_PopUp.QTT_Will) + vbNewLine +
String.Format("Maximálisan kitárolható: {0}", _OrderInRows.QTT))
Next
Dim _StorageOutHeader As StorageOutHeader = _ocur.FindObject(Of StorageOutHeader)(CriteriaOperator.Parse("Customers=? AND CustomersFrom=? AND StorageMoveType=? AND IsEditable=?",
_OrderInHeader.Customers, _OrderInHeader.CustomersFrom, _OrderInHeader.OrderInParameters.StorageMoveType, True))
If _StorageOutHeader Is Nothing Then
_StorageOutHeader = _ocur.CreateObject(Of StorageOutHeader)()
_StorageOutHeader.Customers = _OrderInHeader.Customers
_StorageOutHeader.CustomersFrom = _OrderInHeader.CustomersFrom
_StorageOutHeader.StorageMoveType = _OrderInHeader.OrderInParameters.StorageMoveType
End If
For Each _StorageInRows_PopUp As StorageInRows In _StorageInRows_ListEditor.ListView.CollectionSource.Collection
If _StorageOutHeader.Storage Is Nothing Then
_StorageOutHeader.Storage = _ocur.GetObjectByKey(Of Storage)(_StorageInRows_PopUp.StorageInHeader.Storage.Oid)
End If
Dim _StorageOutRows As StorageOutRows = _ocur.FindObject(Of StorageOutRows) _
(CriteriaOperator.Parse("OrderInRows=? and StorageOutHeader.IsEditable=True and StorageOutHeader.IsStorno=False and Products=?",
_OrderInRows, _OrderInRows.Products), True)
If _StorageInRows_PopUp.QTT_Will > 0 Then
Dim _StorageOutRowsInRows As StorageOutRowsInRows = _ocur.CreateObject(Of StorageOutRowsInRows)()
Dim _StorageComputed As StorageComputed = _ocur.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products=? and Storage=?",
_ocur.GetObjectByKey(Of Products)(_StorageInRows_PopUp.Products.Oid),
_ocur.GetObjectByKey(Of Storage)(_StorageInRows_PopUp.StorageInHeader.Storage.Oid)))
_StorageComputed.QTTFree -= _StorageInRows_PopUp.QTT_Will
_StorageComputed.QTTReservedOut += _StorageInRows_PopUp.QTT_Will
If _StorageOutRows Is Nothing Then
_StorageOutRows = _ocur.CreateObject(Of StorageOutRows)()
_StorageOutRows.StorageOutHeader = _StorageOutHeader
_StorageOutRows.RowIndex = _StorageOutHeader.StorageOutRows.Count
_StorageOutRows.StorageComputed = _StorageComputed
_StorageOutRows.OrderInRows = _OrderInRows
_StorageOutRows.QTT = _StorageInRows_PopUp.QTT_Will
_StorageOutRows.Products = _ocur.GetObject(_StorageInRows_PopUp.Products)
Else
_StorageOutRows.QTT += _StorageInRows_PopUp.QTT_Will
End If
_StorageOutRowsInRows.QTT = _StorageInRows_PopUp.QTT_Will
_StorageOutRowsInRows.StorageInRows = _ocur.GetObjectByKey(Of StorageInRows)(_StorageInRows_PopUp.Oid)
_StorageOutRowsInRows.StorageOutRows = _StorageOutRows
_StorageOutRowsInRows.RowIndex = 0 'Itt irreleváns, majd később lehet állítani
_OrderInRows.QTT_Storaged_Will += _StorageInRows_PopUp.QTT_Will
_OrderInRows.QTT_Process -= _StorageInRows_PopUp.QTT_Will
_StorageInRows_PopUp.QTT_Out_Will += _StorageInRows_PopUp.QTT_Will
_StorageInRows_PopUp.QTT_Will = 0
Else
MsgBox(String.Format("A {0} termék sorában a szándék mező nulla volt!", _StorageInRows_PopUp.Products.ShortName), MsgBoxStyle.OkOnly, "Figyelem!")
End If
Next
_ocur.CommitChanges()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aGenerateStorageOutFromOrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aGenerateStorageOutFromOrderIn.Execute
Dim _ocur_original As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
Dim _User As DevExpress.Persistent.BaseImpl.User = _onew.GetObject(Of DevExpress.Persistent.BaseImpl.User)(TryCast(SecuritySystem.CurrentUser, DevExpress.Persistent.BaseImpl.User))
Dim _OrderInHeader As OrderInHeader = _onew.GetObjectByKey(Of OrderInHeader)(TryCast(View.SelectedObjects(0), OrderInHeader).Oid)
Dim _OrderInRows As OrderInRows
Dim _OrderInRows_Exists As OrderInRows
Dim _OrderInRows_Collection As XPCollection(Of OrderInRows)
Dim _StorageInRows As StorageInRows
Dim _StorageInRows_Collection As XPCollection(Of StorageInRows)
Dim _StorageOutRows As StorageOutRows
Dim _StorageOutRows_Collection As XPCollection(Of StorageOutRows) = Nothing
Dim _StorageOutRows_R As StorageOutRows
Dim _StorageOutRows_Collection_R As XPCollection(Of StorageOutRows)
Dim _StorageOutRows_Exists As StorageOutRows
Dim _StorageOutHeader As StorageOutHeader = Nothing
Dim _Storage As Storage = _onew.GetObjectByKey(Of Storage)(TryCast(e.PopupWindow.View.SelectedObjects(0), Storage).Oid)
Dim _QTT_Mod As Double = 0
Dim _QTT_Free As Double = 0
Dim _StorageOutRowsInRows As StorageOutRowsInRows
Dim _ExistsStorageOutHeader As Boolean = False
Dim _StorageComputed As StorageComputed
Dim _QTT_ReservedOut As Double = 0
Dim _QTT_Will_Out As Double = 0
If _Storage Is Nothing Then Exit Sub
Try
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
Exit Sub
Else
For Each _OrderInRows In _OrderInHeader.OrderInRows
If _OrderInRows.QTT_Process > 0 Then
_StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? and Products=?", _Storage, _OrderInRows.Products), True)
If _StorageComputed IsNot Nothing Then
If _StorageComputed.QTTFree >= _OrderInRows.QTT_Process Then
_StorageInRows_Collection = New XPCollection(Of StorageInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageInHeader.Storage=? and StorageInHeader.IsEditable=False and StorageInHeader.IsStorno=False and Products=?",
_Storage, _OrderInRows.Products))
_StorageInRows_Collection.Sorting.Add(New SortProperty("StorageInHeader.CreateDate", DB.SortingDirection.Ascending))
_StorageOutRows = _onew.FindObject(Of StorageOutRows) _
(CriteriaOperator.Parse("OrderInRows=? and StorageOutHeader.IsEditable=True and StorageOutHeader.IsStorno=False and Products=?",
_OrderInRows, _OrderInRows.Products), True)
If _StorageOutRows Is Nothing Then
'--- Új kitárolási sor !!!!
_StorageOutRows = _onew.CreateObject(Of StorageOutRows)()
_StorageOutRows.OrderInRows = _OrderInRows
_StorageOutRows.Products = _OrderInRows.Products
_OrderInRows_Collection = New XPCollection(Of OrderInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("OrderInHeader.Oid=?", _OrderInRows.OrderInHeader.Oid))
For Each _OrderInRows_Exists In _OrderInRows_Collection
_StorageOutRows_Exists = _onew.FindObject(Of StorageOutRows) _
(CriteriaOperator.Parse("OrderInRows=? and StorageOutHeader.IsEditable=True and StorageOutHeader.IsStorno=False",
_OrderInRows_Exists), True)
If _StorageOutRows_Exists IsNot Nothing Then
_StorageOutHeader = _StorageOutRows_Exists.StorageOutHeader
_ExistsStorageOutHeader = True
Exit For
End If
Next
If _ExistsStorageOutHeader = False Then
' Új kitárolási fejléc !!!
_StorageOutHeader = _onew.CreateObject(Of StorageOutHeader)()
_StorageOutHeader.StorageMoveType = _OrderInRows.OrderInHeader.OrderInParameters.StorageMoveType
_StorageOutHeader.Storage = _Storage
_StorageOutHeader.CustomersFrom = _Storage.CustomersFrom
_StorageOutHeader.Customers = _OrderInRows.OrderInHeader.Customers
End If
_StorageOutRows.StorageOutHeader = _StorageOutHeader
End If
'--- FIFO FOGLALÁS -------------------------------------------------------------------------------------------------------------------------------
_QTT_Mod = _OrderInRows.QTT_Process
For Each _StorageInRows In _StorageInRows_Collection
_QTT_Free = _StorageInRows.QTT - _StorageInRows.QTT_Out - _StorageInRows.QTT_Out_Will
If _QTT_Free <= _QTT_Mod Then
_StorageInRows.QTT_Out_Will += _QTT_Free
_StorageOutRows.QTT_Will += _QTT_Free
_QTT_Mod -= _QTT_Free
'------- FIFO sor beszúrása
_StorageOutRowsInRows = _onew.FindObject(Of StorageOutRowsInRows)(CriteriaOperator.Parse("StorageInRows=? and StorageOutRows=?", _StorageInRows, _StorageOutRows), True)
If _StorageOutRowsInRows IsNot Nothing Then
_StorageOutRowsInRows.QTT += _QTT_Free
Else
_StorageOutRowsInRows = _onew.CreateObject(Of StorageOutRowsInRows)()
_StorageOutRowsInRows.StorageInRows = _StorageInRows
_StorageOutRowsInRows.StorageOutRows = _StorageOutRows
_StorageOutRowsInRows.QTT = _QTT_Free
End If
Else
_StorageInRows.QTT_Out_Will += _QTT_Mod
_StorageOutRows.QTT_Will += _QTT_Mod
'------- FIFO sor beszúrása
_StorageOutRowsInRows = _onew.FindObject(Of StorageOutRowsInRows)(CriteriaOperator.Parse("StorageInRows=? and StorageOutRows=?", _StorageInRows, _StorageOutRows), True)
If _StorageOutRowsInRows IsNot Nothing Then
_StorageOutRowsInRows.QTT += _QTT_Mod
Else
_StorageOutRowsInRows = _onew.CreateObject(Of StorageOutRowsInRows)()
_StorageOutRowsInRows.StorageInRows = _StorageInRows
_StorageOutRowsInRows.StorageOutRows = _StorageOutRows
_StorageOutRowsInRows.QTT = _QTT_Mod
End If
Exit For
End If
Next
'--------------------------------------------------------------------------------------------------------------------------------------------------
_OrderInRows.QTT_Storaged_Will += _OrderInRows.QTT_Process
_OrderInRows.QTT_Process = 0
'--- StorageComputed újraszámolása
_StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? and Products=?", _Storage, _OrderInRows.Products), True)
_QTT_ReservedOut = _StorageComputed.QTTReservedOut
_StorageOutRows_Collection_R = New XPCollection(Of StorageOutRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("QTT_Will>0 and StorageOutHeader.Storage=? and Products=?", _Storage, _OrderInRows.Products))
For Each _StorageOutRows_R In _StorageOutRows_Collection_R
_QTT_Will_Out += _StorageOutRows_R.QTT_Will
Next
_StorageComputed.QTTFree = _StorageComputed.QTTFree - (_QTT_Will_Out - _QTT_ReservedOut)
_StorageComputed.QTTReservedOut += _QTT_Will_Out
End If
End If
End If
Next
_onew.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
Catch ex As Exception
Throw New Exception(ex.Message)
Finally
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
End Try
End Sub
Private Sub aBackToEdit_OrderInHeader_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aBackToEdit_OrderInHeader.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
If _OrderInHeader IsNot Nothing Then
_OrderInHeader.IsEditable = True
_ocur.CommitChanges()
View.Refresh()
End If
End Sub
Private Sub OrderInHeader_ListView_Editable_DeleteAction_Executing(sender As Object, e As CancelEventArgs)
' Throw New NotImplementedException
'nem lehet olyan sora ami ki van tárolva orderinrow or orderinrowother van akkor nem lehet törölni.
End Sub
Private Sub aProductFinder_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aProductFinder.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ProductFinder As ProductFinder = _onew.CreateObject(Of ProductFinder)()
_ProductFinder.MasterKey = View.SelectedObjects(0).Oid
e.View = Application.CreateDetailView(_onew, "ProductFinder_DetailView", False, _ProductFinder)
End Sub
Private Sub aProductFinder_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aProductFinder.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _ProductSelected_Collection As New XPCollection(Of ProductSelected)(_ocur.Session, CriteriaOperator.Parse("MasterKey=?", _OrderInHeader.Oid))
Dim _ProductSelected As ProductSelected
If _ProductSelected_Collection.Count <= 0 Then Exit Sub
For Each _ProductSelected In _ProductSelected_Collection
_OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
_OrderInHeader.row_Products = _ocur.FindObject(Of ProductSelect)(CriteriaOperator.Parse("Products.Oid=?", _ProductSelected.Products.Oid))
_OrderInHeader.row_QTT = _ProductSelected.QTT
Frame.GetController(Of OrderInVC).aToTable_OrderIn.DoExecute()
Next
_ProductSelected_Collection = New XPCollection(Of ProductSelected)(_ocur.Session, CriteriaOperator.Parse("MasterKey=?", _OrderInHeader.Oid))
_ocur.Delete(_ProductSelected_Collection)
_ocur.CommitChanges()
End Sub
Private Sub aOrderIn_ChangeRows_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aOrderIn_ChangeRows.CustomizePopupWindowParams
_noselect = True
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInRows_ChangeGroup As OrderInRows_ChangeGroup = _onew.CreateObject(Of OrderInRows_ChangeGroup)()
If View.SelectedObjects.Count > 0 Then
Dim _OrderInRows As OrderInRows = TryCast(View.SelectedObjects(0), OrderInRows)
_OrderInRows_ChangeGroup.RowGroup1 = _onew.GetObject(_OrderInRows.RowGroup1)
_OrderInRows_ChangeGroup.RowGroup2 = _onew.GetObject(_OrderInRows.RowGroup2)
_OrderInRows_ChangeGroup.QualityOption = _onew.GetObject(_OrderInRows.QualityOption)
_OrderInRows_ChangeGroup.FinalPricePercent = 0
_OrderInRows_ChangeGroup.Description = _onew.GetObject(_OrderInRows.Description)
e.View = Application.CreateDetailView(_onew, "OrderInRows_ChangeGroup_DetailView", False, _OrderInRows_ChangeGroup)
Else
Throw New UserFriendlyException("Nincs kijelölt elem!")
End If
End Sub
Private Sub aOrderIn_ChangeRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aOrderIn_ChangeRows.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInRows_ChangeGroup As OrderInRows_ChangeGroup = TryCast(e.PopupWindow.View.SelectedObjects(0), OrderInRows_ChangeGroup)
Dim _OrderInRows As OrderInRows '= TryCast(View.SelectedObjects(0), OrderInRows)
'If _OrderInRows IsNot Nothing Then
If _OrderInRows_ChangeGroup.Change_Description Then
For Each _OrderInRows In _selection
_OrderInRows.Description = _OrderInRows_ChangeGroup.Description
_OrderInRows.Save()
Next
End If
If _OrderInRows_ChangeGroup.Change_FinalPricePercent Then
For Each _OrderInRows In _selection
'_OrderInRows.FinalPriceHUF = _OrderInRows.FinalPriceHUF - (_OrderInRows.FinalPriceHUF * (_OrderInRows_ChangeGroup.FinalPricePercent / 100))
'_OrderInRows.DiscountPercent = _OrderInRows_ChangeGroup.FinalPricePercent
'_OrderInRows.RecalculateRow()
'_OrderInRows.CanChangeProperty = False
'If _OrderInRows.OfferOutHeader.CurrencyName.ShortName = "HUF" Then
' _OrderInRows.FinalPriceHUF = _OrderInRows.ListPriceHUF - _OrderInRows.DiscountPriceHUF
'Else
' _OrderInRows.FinalPriceDEV = _OrderInRows.ListPriceDEV - _OrderInRows.FinalPriceDEV
'End If
'_OrderInRows.CanChangeProperty = True
'_OrderInRows.Save()
Next
End If
If _OrderInRows_ChangeGroup.Change_QualityOption Then
For Each _OrderInRows In _selection
_OrderInRows.QualityOption = _ocur.GetObjectByKey(Of QualityOption)(_OrderInRows.QualityOption.Oid)
_OrderInRows.Save()
Next
End If
If _OrderInRows_ChangeGroup.Change_RowGroup1 Then
For Each _OrderInRows In _selection
_OrderInRows.RowGroup1 = _OrderInRows_ChangeGroup.RowGroup1
_OrderInRows.Save()
Next
End If
If _OrderInRows_ChangeGroup.Change_RowGroup2 Then
For Each _OrderInRows In _selection
_OrderInRows.RowGroup2 = _OrderInRows_ChangeGroup.RowGroup2
_OrderInRows.Save()
Next
End If
If _OrderInRows_ChangeGroup.Change_DiscountPercent Then
For Each _OrderInRows In _selection
_OrderInRows.DiscountPriceHUF = _OrderInRows.ListPriceHUF * (_OrderInRows_ChangeGroup.DiscountPercent / 100)
_OrderInRows.DiscountPriceDEV = _OrderInRows.ListPriceDEV * (_OrderInRows_ChangeGroup.DiscountPercent / 100)
Next
End If
_ocur.CommitChanges()
_noselect = False
End Sub
Private Sub OrderInHeader_OrderInRows_ListView_SelectionChanged(sender As Object, e As EventArgs)
Dim _OrderInRows As OrderInRows
If View Is Nothing Then Exit Sub
If View.SelectedObjects.Count > 0 Then
_selection.Clear()
For Each _OrderInRows In View.SelectedObjects
_selection.Add(_OrderInRows)
Next
End If
End Sub
Private Sub OrderInHeader_OrderInRowsOther_ListView_SelectionChanged(sender As Object, e As EventArgs)
Dim _OrderInRowsOther As OrderInRowsOther
If View Is Nothing Then Exit Sub
If View.SelectedObjects.Count > 0 Then
_selection.Clear()
For Each _OrderInRowsOther In View.SelectedObjects
_selection.Add(_OrderInRowsOther)
Next
End If
End Sub
Private Sub aOrderInOther_ChangeRows_CustomizePopupWindowParams(sender As Object, e As DevExpress.ExpressApp.Actions.CustomizePopupWindowParamsEventArgs) Handles aOrderInOther_ChangeRows.CustomizePopupWindowParams
_noselect = True
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInRowsOther_ChangeGroup As OrderInRowsOther_ChangeGroup = _onew.CreateObject(Of OrderInRowsOther_ChangeGroup)()
If View.SelectedObjects.Count > 0 Then
Dim _OrderInRowsOther As OrderInRowsOther = TryCast(View.SelectedObjects(0), OrderInRowsOther)
_OrderInRowsOther_ChangeGroup.VAT = _onew.GetObject(_OrderInRowsOther.VAT)
_OrderInRowsOther_ChangeGroup.Units = _onew.GetObject(_OrderInRowsOther.Units)
_OrderInRowsOther_ChangeGroup.RowGroup1 = _onew.GetObject(_OrderInRowsOther.RowGroup1)
_OrderInRowsOther_ChangeGroup.RowGroup2 = _onew.GetObject(_OrderInRowsOther.RowGroup2)
_OrderInRowsOther_ChangeGroup.QualityOption = _onew.GetObject(_OrderInRowsOther.QualityOption)
_OrderInRowsOther_ChangeGroup.FinalPricePercent = 0
_OrderInRowsOther_ChangeGroup.ShortName = _onew.GetObject(_OrderInRowsOther.ShortName)
_OrderInRowsOther_ChangeGroup.Description = _onew.GetObject(_OrderInRowsOther.Description)
e.View = Application.CreateDetailView(_onew, "OrderInRowsOther_ChangeGroup_DetailView", False, _OrderInRowsOther_ChangeGroup)
Else
Throw New UserFriendlyException("Nincs kijelölt elem!")
End If
End Sub
Private Sub aOrderInOther_ChangeRows_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aOrderInOther_ChangeRows.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInRowsOther_ChangeGroup As OrderInRowsOther_ChangeGroup = TryCast(e.PopupWindow.View.SelectedObjects(0), OrderInRowsOther_ChangeGroup)
Dim _OrderInRowsOther As OrderInRowsOther '= TryCast(View.SelectedObjects(0), OrderInRowsOther)
'If _OrderInRowsOther IsNot Nothing Then
If _OrderInRowsOther_ChangeGroup.Change_Description Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.Description = _OrderInRowsOther_ChangeGroup.Description
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_FinalPricePercent Then
For Each _OrderInRowsOther In _selection
'_OrderInRowsOther.FinalPriceHUF = _OrderInRowsOther.FinalPriceHUF - (_OrderInRowsOther.FinalPriceHUF * (_OrderInRowsOther_ChangeGroup.FinalPricePercent / 100))
'_OrderInRowsOther.DiscountPercent = _OrderInRowsOther_ChangeGroup.FinalPricePercent
'_OrderInRowsOther.RecalculateRow()
'_OrderInRowsOther.CanChangeProperty = False
'If _OrderInRowsOther.OfferOutHeader.CurrencyName.ShortName = "HUF" Then
' _OrderInRowsOther.FinalPriceHUF = _OrderInRowsOther.ListPriceHUF - _OrderInRowsOther.DiscountPriceHUF
'Else
' _OrderInRowsOther.FinalPriceDEV = _OrderInRowsOther.ListPriceDEV - _OrderInRowsOther.FinalPriceDEV
'End If
'_OrderInRowsOther.CanChangeProperty = True
'_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_QualityOption Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.QualityOption = _ocur.GetObjectByKey(Of QualityOption)(_OrderInRowsOther.QualityOption.Oid)
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_RowGroup1 Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.RowGroup1 = _OrderInRowsOther_ChangeGroup.RowGroup1
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_RowGroup2 Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.RowGroup2 = _OrderInRowsOther_ChangeGroup.RowGroup2
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_ShortName Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.ShortName = _OrderInRowsOther_ChangeGroup.ShortName
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_Units Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.Units = _ocur.GetObjectByKey(Of Units)(_OrderInRowsOther_ChangeGroup.Units.Oid)
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_VAT Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.VAT = _ocur.GetObjectByKey(Of VAT)(_OrderInRowsOther_ChangeGroup.VAT.Oid)
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_WorkState Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.WorkState = _ocur.GetObjectByKey(Of WorkState)(_OrderInRowsOther_ChangeGroup.WorkState.Oid)
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_WorkStateGroup Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.WorkStateGroup = _OrderInRowsOther_ChangeGroup.WorkStateGroup
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_WorkStateExpiration Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.WorkStateExpiration = _OrderInRowsOther_ChangeGroup.WorkStateExpiration
_OrderInRowsOther.Save()
Next
End If
If _OrderInRowsOther_ChangeGroup.Change_WorkStateStatus Then
For Each _OrderInRowsOther In _selection
_OrderInRowsOther.WorkStateStatus = _OrderInRowsOther_ChangeGroup.WorkStateStatus
_OrderInRowsOther.Save()
Next
End If
'End If
_ocur.CommitChanges()
_noselect = False
End Sub
Private Sub StorageOutFromOrderInFIFO_PopUp_DetailView_AcceptActionExecuting(sender As Object, e As CancelEventArgs)
Dim _ActQTT = 0
Dim _StorageOutFromOrderInFIFO_PopUp As StorageOutFromOrderInFIFO_PopUp = View.SelectedObjects(0)
For Each _StorageInRows As StorageInRows In _StorageOutFromOrderInFIFO_PopUp.StorageInRows
_ActQTT += _StorageInRows.QTT_Will
If _StorageInRows.QTT < _StorageInRows.QTT_Will Then Throw New Exception("*Egy vagy több sorban a foglalni kívánt mennyiség meghaladja a szabad készlet mennyiségét!" _
+ vbNewLine + vbNewLine + "Kérem, ellenőrizze!")
If _StorageInRows.QTT_Will < 0 Then Throw New Exception("*Egy vagy több sorban negatív értékű foglalási szándék szerepel!" _
+ vbNewLine + vbNewLine + "Kérem, ellenőrizze!")
Next
If _ActQTT <> _StorageOutFromOrderInFIFO_PopUp.QTT_Full Then Throw New Exception("*Nem végezhető el a foglalás, mert a foglalási szándék és a foglalás(ok) értéke nem egyezik meg!" _
+ vbNewLine + vbNewLine + "Kérem, ellenőrizze!")
End Sub
Private Sub InvoiceHeaderSavedSettings(ByVal _InvoiceHeader As InvoiceHeader)
On Error GoTo CheckError
With _InvoiceHeader
.Saved_Customers_Name = _InvoiceHeader.Customers.Name.ToString
.Saved_Customers_Address_Country = _InvoiceHeader.Customers.Address1.Country.ToString
.Saved_Customers_Address_ZipPostal = _InvoiceHeader.Customers.Address1.ZipPostal.ToString
.Saved_Customers_Address_Street = _InvoiceHeader.Customers.Address1.Street.ToString
.Saved_Customers_Address_City = _InvoiceHeader.Customers.Address1.City.ToString
.Saved_Customers_Address_StateProvince = _InvoiceHeader.Customers.Address1.StateProvince.ToString
.Saved_Customers_VATNumber = _InvoiceHeader.Customers.VATNumber.ToString
.Saved_Customers_VATNumberEU = _InvoiceHeader.Customers.VATNumberEU.ToString
.Saved_CustomersFrom_Name = _InvoiceHeader.CustomersFrom.Name.ToString
.Saved_CustomersFrom_Address_ZipPostal = _InvoiceHeader.CustomersFrom.Address1.ZipPostal.ToString
.Saved_CustomersFrom_Address_Street = _InvoiceHeader.CustomersFrom.Address1.Street.ToString
.Saved_CustomersFrom_Address_City = _InvoiceHeader.CustomersFrom.Address1.City.ToString
.Saved_CustomersFrom_Address_StateProvince = _InvoiceHeader.CustomersFrom.Address1.StateProvince.ToString
.Saved_CustomersFrom_VATNumber = _InvoiceHeader.CustomersFrom.VATNumber.ToString
.Saved_CustomersFrom_VATNumberEU = _InvoiceHeader.CustomersFrom.VATNumberEU.ToString
.Saved_CustomersFrom_Address_Country = _InvoiceHeader.CustomersFrom.Address1.Country.Name
.Saved_CustomersFrom_Bank_ShortName = _InvoiceHeader.BankInformation.FullBankAccount.ToString
.Saved_CustomersFrom_Bank_IBAN = _InvoiceHeader.BankInformation.IBAN.ToString
.Saved_CustomersFrom_Bank_SWIFT = _InvoiceHeader.BankInformation.SWIFT.ToString
.Saved_CustomersFrom_Bank_AccountNumber = _InvoiceHeader.BankInformation.AccountNumber.ToString
End With
CheckError:
If Err.Number = 91 Then Resume Next
If Err.Number = 13 Then Resume Next
End Sub
Private Sub StornoInvoice(_onew As Xpo.XPObjectSpace, _InvoiceHeaderNew_Collection As ArrayList, _InvoiceRows_Collection As ArrayList)
' Stornózandó fejlécek meghatározása
'_______________________________________________________
Dim _InvoiceHeaderOrig_Collection As New ArrayList
For Each _InvoiceRows As InvoiceRows In _InvoiceRows_Collection
Dim _InvoiceHeader As InvoiceHeader = _onew.GetObject(_InvoiceRows.InvoiceHeader)
If _InvoiceHeaderOrig_Collection.Count = 0 Then
_InvoiceHeaderOrig_Collection.Add(_InvoiceHeader)
Else
Dim _IsNeed As Boolean = True
For Each _InvoiceHeaderInCollection As InvoiceHeader In _InvoiceHeaderOrig_Collection
If _InvoiceHeaderInCollection.Oid = _InvoiceRows.InvoiceHeader.Oid Then _IsNeed = False
Next
If _IsNeed Then _InvoiceHeaderOrig_Collection.Add(_InvoiceHeader)
End If
Next
If _InvoiceHeaderOrig_Collection.Count = 0 Then Return
For Each _InvoiceHeaderOrig As InvoiceHeader In _InvoiceHeaderOrig_Collection
_InvoiceHeaderOrig = _onew.GetObjectByKey(Of InvoiceHeader)(_InvoiceHeaderOrig.Oid)
_InvoiceHeaderOrig.IsStorno = True
Dim _InvoiceHeaderNew As New InvoiceHeader(_onew.Session)
With _InvoiceHeaderNew
.IsStorno = True
.BankInformation = _InvoiceHeaderOrig.BankInformation
.ConnectInfo = _InvoiceHeaderOrig.DocumentNumber
.CurrencyName = _InvoiceHeaderOrig.CurrencyName
.CurrencyRate = _InvoiceHeaderOrig.CurrencyRate
.Customers = _InvoiceHeaderOrig.Customers
.CustomersFrom = _InvoiceHeaderOrig.CustomersFrom
.DateCreated = GetSQLTime(_onew.Session)
.PaymentOption = _InvoiceHeaderOrig.PaymentOption
.DateExecution = _InvoiceHeaderOrig.DateExecution
.DatePayment = _InvoiceHeaderOrig.DatePayment
.DocumentNumber = _InvoiceHeaderOrig.InvoiceType.NumberGenerator.GetNewNumber(_InvoiceHeaderOrig.InvoiceType.NumberGenerator)
.HUNumberToText = _InvoiceHeaderOrig.HUNumberToText
.InvoiceType = _InvoiceHeaderOrig.InvoiceType
.IsEditable = False
.IsProforma = False
.QualityOption = _InvoiceHeaderOrig.QualityOption
.Saved_Customers_Address_City = _InvoiceHeaderOrig.Saved_Customers_Address_City
.Saved_Customers_Address_Country = _InvoiceHeaderOrig.Saved_Customers_Address_Country
.Saved_Customers_Address_StateProvince = _InvoiceHeaderOrig.Saved_Customers_Address_StateProvince
.Saved_Customers_Address_Street = _InvoiceHeaderOrig.Saved_Customers_Address_Street
.Saved_Customers_Address_ZipPostal = _InvoiceHeaderOrig.Saved_Customers_Address_ZipPostal
.Saved_Customers_Name = _InvoiceHeaderOrig.Saved_Customers_Name
.Saved_Customers_VATNumber = _InvoiceHeaderOrig.Saved_Customers_VATNumber
.Saved_Customers_VATNumberEU = _InvoiceHeaderOrig.Saved_Customers_VATNumberEU
.Saved_CustomersFrom_Address_City = _InvoiceHeaderOrig.Saved_CustomersFrom_Address_City
.Saved_CustomersFrom_Address_Country = _InvoiceHeaderOrig.Saved_CustomersFrom_Address_Country
.Saved_CustomersFrom_Address_StateProvince = _InvoiceHeaderOrig.Saved_CustomersFrom_Address_StateProvince
.Saved_CustomersFrom_Address_Street = _InvoiceHeaderOrig.Saved_CustomersFrom_Address_Street
.Saved_CustomersFrom_Address_ZipPostal = _InvoiceHeaderOrig.Saved_CustomersFrom_Address_ZipPostal
.Saved_CustomersFrom_Bank_AccountNumber = _InvoiceHeaderOrig.Saved_CustomersFrom_Bank_AccountNumber
.Saved_CustomersFrom_Bank_IBAN = _InvoiceHeaderOrig.Saved_CustomersFrom_Bank_IBAN
.Saved_CustomersFrom_Bank_ShortName = _InvoiceHeaderOrig.Saved_CustomersFrom_Bank_ShortName
.Saved_CustomersFrom_Bank_SWIFT = _InvoiceHeaderOrig.Saved_CustomersFrom_Bank_SWIFT
.Saved_CustomersFrom_Name = _InvoiceHeaderOrig.Saved_CustomersFrom_Name
.Saved_CustomersFrom_VATNumber = _InvoiceHeaderOrig.Saved_CustomersFrom_VATNumber
.Saved_CustomersFrom_VATNumberEU = _InvoiceHeaderOrig.Saved_CustomersFrom_VATNumberEU
.ShipmentOption = _InvoiceHeaderOrig.ShipmentOption
End With
For Each _InvoiceRowsOrig As InvoiceRows In _InvoiceHeaderOrig.InvoiceRows
Dim _InvoiceRowsNew As New InvoiceRows(_onew.Session)
With _InvoiceRowsNew
.InvoiceHeader = _InvoiceHeaderNew
.Controlling = _InvoiceRowsOrig.Controlling
.CostHolder = _InvoiceRowsOrig.CostHolder
.CostPlace = _InvoiceRowsOrig.CostPlace
.CustomsTariffs = _InvoiceRowsOrig.CustomsTariffs
.Description = _InvoiceRowsOrig.Description
.DiscountPriceDEV = _InvoiceRowsOrig.DiscountPriceDEV
.DiscountPriceHUF = _InvoiceRowsOrig.DiscountPriceHUF
.InvoiceRowtype = _InvoiceRowsOrig.InvoiceRowtype
.JobNumberObjects = _InvoiceRowsOrig.JobNumberObjects
.ListPriceDEV = _InvoiceRowsOrig.ListPriceDEV
.ListPriceHUF = _InvoiceRowsOrig.ListPriceHUF
.QTT = _InvoiceRowsOrig.QTT * (-1)
.QualityOption = _InvoiceRowsOrig.QualityOption
.RowIndex = _InvoiceRowsOrig.RowIndex
.ShortName = _InvoiceRowsOrig.ShortName
.UniqueObjects = _InvoiceRowsOrig.UniqueObjects
.Units = _InvoiceRowsOrig.Units
.VAT = _InvoiceRowsOrig.VAT
If _InvoiceRowsOrig.ContractRows IsNot Nothing Then
.ContractRows = _InvoiceRowsOrig.ContractRows
End If
If _InvoiceRowsOrig.OrderInRows IsNot Nothing Then
.OrderInRows = _InvoiceRowsOrig.OrderInRows
_InvoiceRowsOrig.OrderInRows.QTT_Invoiced -= _InvoiceRowsOrig.QTT
End If
If _InvoiceRowsOrig.DeliveryNoteOutRows IsNot Nothing Then
.DeliveryNoteOutRows = _InvoiceRowsOrig.DeliveryNoteOutRows
_InvoiceRowsOrig.DeliveryNoteOutRows.QTT_Invoiced -= _InvoiceRowsOrig.QTT
_InvoiceRowsOrig.DeliveryNoteOutRows.QTT_Will += _InvoiceRowsOrig.QTT
End If
.ChartOfAccounts = _InvoiceRowsOrig.ChartOfAccounts
.InvoiceRows = _InvoiceRowsOrig.InvoiceRows
.InvoiceRowsAdvance = _InvoiceRowsOrig.InvoiceRowsAdvance
.OrderInRows = _InvoiceRowsOrig.OrderInRows
.DeliveryNoteOutRows = _InvoiceRowsOrig.DeliveryNoteOutRows
.OrderInRowsOther = _InvoiceRowsOrig.OrderInRowsOther
End With
Next
_InvoiceHeaderNew_Collection.Add(_InvoiceHeaderNew)
Next
End Sub
Private Sub StornoDeliveryNoteOut(_onew As Xpo.XPObjectSpace, _DeliveryNoteOutHeader_Collection As ArrayList, _DeliveryNoteOutHeaderNew_Collection As ArrayList)
For Each _DeliveryNoteOutHeader As DeliveryNoteOutHeader In _DeliveryNoteOutHeader_Collection
_DeliveryNoteOutHeader.IsEditable = False
_DeliveryNoteOutHeader.IsStorno = True
Dim _DeliveryNoteOutHeaderNew As New DeliveryNoteOutHeader(_onew.Session)
With _DeliveryNoteOutHeaderNew
.ConnectInfo = _DeliveryNoteOutHeader.DocumentNumber
.CurrencyName = _onew.GetObject(_DeliveryNoteOutHeader.CurrencyName)
.Customers = _onew.GetObject(_DeliveryNoteOutHeader.Customers)
.CustomersFrom = _onew.GetObject(_DeliveryNoteOutHeader.CustomersFrom)
.DateCreated = GetSQLTime(_onew.Session)
.DateExecution = _onew.GetObject(_DeliveryNoteOutHeader.DateExecution)
.Note = _onew.GetObject(_DeliveryNoteOutHeader.Note)
.QualityOption = _onew.GetObject(_DeliveryNoteOutHeader.QualityOption)
.ShipmentOption = _onew.GetObject(_DeliveryNoteOutHeader.ShipmentOption)
.TransportAddress = _onew.GetObject(_DeliveryNoteOutHeader.TransportAddress)
.DeliveryNoteOutType = _onew.GetObject(_DeliveryNoteOutHeader.DeliveryNoteOutType)
.IsStorno = True
.IsEditable = False
End With
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _DeliveryNoteOutHeader.DeliveryNoteOutRows
Dim _DeliveryNoteOutRowsNew As New DeliveryNoteOutRows(_onew.Session)
With _DeliveryNoteOutRowsNew
.DeliveryNoteOutHeader = _DeliveryNoteOutHeaderNew
.RowIndex = _DeliveryNoteOutHeaderNew.DeliveryNoteOutRows.Count
.QTT = _DeliveryNoteOutRows.QTT * (-1)
.QTT_Will = 0
.StorageOutRowsInRows = _DeliveryNoteOutRows.StorageOutRowsInRows
End With
_DeliveryNoteOutRows.StorageOutRowsInRows.QTT_To_DeliveryOut -= _DeliveryNoteOutRows.QTT
_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT_DeliveryNoted -= _DeliveryNoteOutRows.QTT
Next
_DeliveryNoteOutHeaderNew_Collection.Add(_DeliveryNoteOutHeaderNew)
Next
End Sub
Private Sub StornoDeliveryNoteOutStorageOut(_onew As Xpo.XPObjectSpace, _DeliveryNoteOutHeader_Collection As ArrayList, _StorageOutHeader_Collection As ArrayList, _DeliveryNoteOutHeaderNew_Collection As ArrayList, _StorageOutHeaderNew_Collection As ArrayList)
StornoDeliveryNoteOut(_onew, _DeliveryNoteOutHeader_Collection, _DeliveryNoteOutHeaderNew_Collection)
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
If _StorageOutHeader_Collection.Count = 0 Then Return
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
Exit Sub
Else
For Each _StorageOutHeader As StorageOutHeader In _StorageOutHeader_Collection
Dim _StorageOutHeaderNew As New StorageOutHeader(_onew.Session)
With _StorageOutHeaderNew
.ConnectInfo = _StorageOutHeader.DocumentNumber
.Storage = _onew.GetObject(_StorageOutHeader.Storage)
.StorageMoveType = _onew.GetObject(_StorageOutHeader.StorageMoveType)
.CustomersFrom = _onew.GetObject(_StorageOutHeader.CustomersFrom)
.Customers = _onew.GetObject(_StorageOutHeader.Customers)
.Active = False
.IsStorno = True
.IsEditable = False
End With
_StorageOutHeader.IsEditable = False
_StorageOutHeader.IsStorno = True
_StorageOutHeader.Active = False
For Each _StorageOutRows As StorageOutRows In _StorageOutHeader.StorageOutRows
Dim _StorageOutRowsNew As New StorageOutRows(_onew.Session)
With _StorageOutRowsNew
.RowIndex = _StorageOutRows.RowIndex
.StorageOutHeader = _StorageOutHeaderNew
.StorageComputed = _onew.GetObject(_StorageOutRows.StorageComputed)
.OrderInRows = _onew.GetObject(_StorageOutRows.OrderInRows)
.QTT = _StorageOutRows.QTT * (-1)
.QTT_Will = 0
.QTT_To_DeliveryOut = 0
.Products = _onew.GetObject(_StorageOutRows.Products)
.OnStorno = True
End With
'----Vissza raktárba + mozgástábla
'____________________________________________________
Dim _StorageOutRowsInRows_Collection As New XPCollection(Of StorageOutRowsInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageOutRows=?", _onew.GetObject(_StorageOutRows)))
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
Dim _StorageComputed As StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? AND Products=?", _onew.GetObject(_StorageOutHeader.Storage), _onew.GetObject(_StorageOutRows.Products)))
Dim _StorageMoveEvents_Collection As New XPCollection(Of StorageMoveEvents)(_onew.Session, CriteriaOperator.Parse("StorageInRows=? AND StorageOutRows=?",
_onew.GetObject(_StorageOutRowsInRows.StorageInRows), _onew.GetObject(_StorageOutRows)))
_StorageMoveEvents_Collection.Sorting.Add(New SortProperty("ObjectCreated", DB.SortingDirection.Descending))
_StorageComputed.QTTFree += _StorageOutRowsInRows.QTT
Dim _StorageOutRowsInRowsNew As New StorageOutRowsInRows(_onew.Session)
With _StorageOutRowsInRowsNew
.StorageInRows = _StorageOutRowsInRows.StorageInRows
.StorageOutRows = _StorageOutRowsInRows.StorageOutRows
.QTT = _StorageOutRowsInRows.QTT * (-1)
.QTT_Will = 0
.QTT_To_DeliveryOut = 0
.StorageInRows.QTT_Out -= _StorageOutRowsInRows.QTT
End With
If _StorageOutRowsInRows.StorageOutRows.OrderInRows IsNot Nothing Then
_StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT_Storaged -= _StorageOutRowsInRows.QTT
End If
Dim _StorageMoveEvents As New StorageMoveEvents(_onew.Session)
_StorageMoveEvents.QTT = _StorageOutRowsInRows.QTT
_StorageMoveEvents.StorageOutRows = _onew.GetObject(_StorageOutRows)
_StorageMoveEvents.StorageInRows = _onew.GetObject(_StorageOutRowsInRows.StorageInRows)
_StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents_Collection(0).QTT_Free_After
_StorageMoveEvents.QTT_Free_After = _StorageMoveEvents.QTT_Free_Before + _StorageMoveEvents.QTT
_StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageOutStorno
_StorageMoveEvents.ExecutionDate = GetSQLTime(_onew.Session)
_StorageOutRows.QTT = 0
Next
Next
_StorageOutHeaderNew_Collection.Add(_StorageOutHeaderNew)
Next
End If
End Sub
Private Sub StornoDelivery(_onew As Xpo.XPObjectSpace, _DeliveryHeaderNew_Collection As ArrayList, _InvoiceRows_Collection As ArrayList)
' Stornózandó fejlécek meghatározása
'_______________________________________________________
Dim _DeliveryOutHeaderOrig_Collection As New ArrayList
For Each _InvoiceRows As InvoiceRows In _InvoiceRows_Collection
If _DeliveryOutHeaderOrig_Collection.Count = 0 Then
_DeliveryOutHeaderOrig_Collection.Add(_onew.GetObject(_InvoiceRows.DeliveryNoteOutRows.DeliveryNoteOutHeader))
Else
Dim _IsNeed As Boolean = True
For Each _DeliveryNoteOutHeader As DeliveryNoteOutHeader In _DeliveryOutHeaderOrig_Collection
If _DeliveryNoteOutHeader.Oid = _InvoiceRows.DeliveryNoteOutRows.DeliveryNoteOutHeader.Oid Then _IsNeed = False
Next
If _IsNeed Then _DeliveryOutHeaderOrig_Collection.Add(_onew.GetObject(_InvoiceRows.DeliveryNoteOutRows.DeliveryNoteOutHeader))
End If
Next
If _DeliveryOutHeaderOrig_Collection.Count = 0 Then Return
StornoDeliveryNoteOut(_onew, _DeliveryOutHeaderOrig_Collection, _DeliveryHeaderNew_Collection)
End Sub
Private Sub StornoStorage(_onew As Xpo.XPObjectSpace, _StorageOutHeaderNew_Collection As ArrayList, _InvoiceRows_Collection As ArrayList)
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
Dim _StorageOutHeaderOrig_Collection As New ArrayList
For Each _InvoiceRows As InvoiceRows In _InvoiceRows_Collection
If _StorageOutHeaderOrig_Collection.Count = 0 Then
_StorageOutHeaderOrig_Collection.Add(_onew.GetObject(_InvoiceRows.DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.StorageOutHeader))
Else
Dim _IsNeed As Boolean = True
For Each _StorageOutHeader As StorageOutHeader In _StorageOutHeaderOrig_Collection
If _StorageOutHeader.Oid = _InvoiceRows.DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.StorageOutHeader.Oid Then _IsNeed = False
Next
If _IsNeed Then _StorageOutHeaderOrig_Collection.Add(_onew.GetObject(_InvoiceRows.DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.StorageOutHeader))
End If
Next
If _StorageOutHeaderOrig_Collection.Count = 0 Then Return
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
Exit Sub
Else
For Each _StorageOutHeader As StorageOutHeader In _StorageOutHeaderOrig_Collection
Dim _StorageOutHeaderNew As New StorageOutHeader(_onew.Session)
With _StorageOutHeaderNew
.ConnectInfo = _StorageOutHeader.DocumentNumber
.Storage = _onew.GetObject(_StorageOutHeader.Storage)
.StorageMoveType = _onew.GetObject(_StorageOutHeader.StorageMoveType)
.CustomersFrom = _onew.GetObject(_StorageOutHeader.CustomersFrom)
.Customers = _onew.GetObject(_StorageOutHeader.Customers)
.Active = False
.IsStorno = True
.IsEditable = False
End With
_StorageOutHeader.IsEditable = False
_StorageOutHeader.IsStorno = True
_StorageOutHeader.Active = False
For Each _StorageOutRows As StorageOutRows In _StorageOutHeader.StorageOutRows
Dim _StorageOutRowsNew As New StorageOutRows(_onew.Session)
With _StorageOutRowsNew
.RowIndex = _StorageOutRows.RowIndex
.StorageOutHeader = _StorageOutHeaderNew
.StorageComputed = _onew.GetObject(_StorageOutRows.StorageComputed)
.OrderInRows = _onew.GetObject(_StorageOutRows.OrderInRows)
.QTT = _StorageOutRows.QTT * (-1)
.QTT_Will = 0
.QTT_To_DeliveryOut = 0
.Products = _onew.GetObject(_StorageOutRows.Products)
.OnStorno = True
End With
'----Vissza raktárba + mozgástábla
'____________________________________________________
Dim _StorageOutRowsInRows_Collection As New XPCollection(Of StorageOutRowsInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageOutRows=?", _onew.GetObject(_StorageOutRows)))
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
Dim _StorageComputed As StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? AND Products=?", _onew.GetObject(_StorageOutHeader.Storage), _onew.GetObject(_StorageOutRows.Products)))
Dim _StorageMoveEvents_Collection As New XPCollection(Of StorageMoveEvents)(_onew.Session, CriteriaOperator.Parse("StorageInRows=? AND StorageOutRows=?",
_onew.GetObject(_StorageOutRowsInRows.StorageInRows), _onew.GetObject(_StorageOutRows)))
_StorageMoveEvents_Collection.Sorting.Add(New SortProperty("ObjectCreated", DB.SortingDirection.Descending))
_StorageComputed.QTTFree += _StorageOutRowsInRows.QTT
Dim _StorageOutRowsInRowsNew As New StorageOutRowsInRows(_onew.Session)
With _StorageOutRowsInRowsNew
.StorageInRows = _StorageOutRowsInRows.StorageInRows
.StorageOutRows = _StorageOutRowsInRows.StorageOutRows
.QTT = _StorageOutRowsInRows.QTT * (-1)
.QTT_Will = 0
.QTT_To_DeliveryOut = 0
.StorageInRows.QTT_Out -= _StorageOutRowsInRows.QTT
End With
If _StorageOutRowsInRows.StorageOutRows.OrderInRows IsNot Nothing Then
_StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT_Storaged -= _StorageOutRowsInRows.QTT
End If
Dim _StorageMoveEvents As New StorageMoveEvents(_onew.Session)
_StorageMoveEvents.QTT = _StorageOutRowsInRows.QTT
_StorageMoveEvents.StorageOutRows = _onew.GetObject(_StorageOutRows)
_StorageMoveEvents.StorageInRows = _onew.GetObject(_StorageOutRowsInRows.StorageInRows)
_StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents_Collection(0).QTT_Free_After
_StorageMoveEvents.QTT_Free_After = _StorageMoveEvents.QTT_Free_Before + _StorageMoveEvents.QTT
_StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageOutStorno
_StorageMoveEvents.ExecutionDate = GetSQLTime(_onew.Session)
_StorageOutRows.QTT = 0
Next
Next
_StorageOutHeaderNew_Collection.Add(_StorageOutHeaderNew)
Next
End If
End Sub
Private Sub aGenerateStorageOutFromOrderInBack_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aGenerateStorageOutFromOrderInBack.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _StorageOutRowsInRows_CollectionSource As CollectionSource = New CollectionSource(_onew, GetType(StorageOutRowsInRows))
_StorageOutRowsInRows_CollectionSource.BeginUpdateCriteria()
_StorageOutRowsInRows_CollectionSource.Criteria("1") = CriteriaOperator.Parse("StorageOutRows.OrderInRows.OrderInHeader=? AND StorageOutRows.StorageOutHeader.IsEditable=True AND QTT_To_DeliveryOut=0 AND QTT>0",
_onew.GetObject(_OrderInHeader))
_StorageOutRowsInRows_CollectionSource.EndUpdateCriteria()
e.View = Application.CreateListView("StorageOutRowsInRows_ListView", _StorageOutRowsInRows_CollectionSource, True)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aGenerateStorageOutFromOrderInBack_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aGenerateStorageOutFromOrderInBack.Execute
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
Try
Dim _OrderInHeader As OrderInHeader = _onew.GetObjectByKey(Of OrderInHeader)(TryCast(View.SelectedObjects(0), OrderInHeader).Oid)
If _OrderInHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _StorageOutRowsInRows_Collection As ArrayList = e.PopupWindow.View.SelectedObjects
If _StorageOutRowsInRows_Collection.Count = 0 Then Throw New Exception("*Nem lett kijelölve egy sor sem!")
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
Exit Sub
Else
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
If _StorageOutRowsInRows.QTT > 0 Then
_StorageOutRowsInRows = _onew.GetObject(_StorageOutRowsInRows)
Dim _QTTMod As Double = _StorageOutRowsInRows.QTT
Dim _StorageOutRowsInRowsC As New XPCollection(Of StorageOutRowsInRows)(_onew.Session, CriteriaOperator.Parse(""))
_StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT_Storaged_Will -= _QTTMod
_StorageOutRowsInRows.StorageInRows.QTT_Out_Will -= _QTTMod
_StorageOutRowsInRows.QTT -= _QTTMod
Dim _StorageComputed As StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? and Products=?", _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.Storage,
_StorageOutRowsInRows.StorageInRows.Products))
_StorageComputed.QTTReservedOut -= _QTTMod
_StorageComputed.QTTFree += _QTTMod
End If
Next
_onew.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Finally
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
End Try
End Sub
Private Sub aOrderIn_RecalculateDEV_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aOrderIn_RecalculateDEV.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _RecalcDEV As RecalcDEV = _onew.CreateObject(Of RecalcDEV)()
_RecalcDEV.CurrencyName = _onew.GetObject(_OrderInHeader.OrderInParameters.CurrencyName)
_RecalcDEV.DateExecution = GetSQLTime(_onew.Session)
e.View = Application.CreateDetailView(_onew, "RecalcDEV_DetailView", True, _RecalcDEV)
End Sub
Private Sub aOrderIn_RecalculateDEV_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aOrderIn_RecalculateDEV.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _RecalcDEV As RecalcDEV = TryCast(e.PopupWindow.View.SelectedObjects(0), RecalcDEV)
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
'Dim _OrderInRows As OrderInRows
'Dim _OrderInRowsOther As OrderInRowsOther
RecalculateDEV(_RecalcDEV, _OrderInHeader)
_ocur.CommitChanges()
'If _OrderInHeader IsNot Nothing Then
' If _OrderInHeader.OrderInParameters.CurrencyName.ShortName <> "HUF" Then
' For Each _OrderInRows In _OrderInHeader.OrderInRows
' If _RecalcDEV.PriceMode = ePriceMode.eDEVToHUF Then
' _OrderInRows.ListPriceHUF = Math.Round(_OrderInRows.ListPriceDEV * _RecalcDEV.CurrencyRate, 0, MidpointRounding.AwayFromZero)
' _OrderInRows.DiscountPriceHUF = Math.Round(_OrderInRows.DiscountPriceDEV * _RecalcDEV.CurrencyRate, 0, MidpointRounding.AwayFromZero)
' Else
' If _RecalcDEV.CurrencyRate <> 0 Then
' _OrderInRows.ListPriceDEV = Math.Round(_OrderInRows.ListPriceHUF / _RecalcDEV.CurrencyRate, 2, MidpointRounding.AwayFromZero)
' _OrderInRows.DiscountPriceDEV = Math.Round(_OrderInRows.DiscountPriceHUF / _RecalcDEV.CurrencyRate, 2, MidpointRounding.AwayFromZero)
' End If
' End If
' _OrderInRows.RecalculateRows()
' Next
' For Each _OrderInRowsOther In _OrderInHeader.OrderInRowsOther
' If _RecalcDEV.PriceMode = ePriceMode.eDEVToHUF Then
' _OrderInRowsOther.ListPriceHUF = Math.Round(_OrderInRowsOther.ListPriceDEV * _RecalcDEV.CurrencyRate, 0, MidpointRounding.AwayFromZero)
' _OrderInRowsOther.DiscountPriceHUF = Math.Round(_OrderInRowsOther.DiscountPriceDEV * _RecalcDEV.CurrencyRate, 0, MidpointRounding.AwayFromZero)
' Else
' If _RecalcDEV.CurrencyRate <> 0 Then
' _OrderInRowsOther.ListPriceDEV = Math.Round(_OrderInRowsOther.ListPriceHUF / _RecalcDEV.CurrencyRate, 2, MidpointRounding.AwayFromZero)
' _OrderInRowsOther.DiscountPriceDEV = Math.Round(_OrderInRowsOther.DiscountPriceHUF / _RecalcDEV.CurrencyRate, 2, MidpointRounding.AwayFromZero)
' End If
' End If
' _OrderInRowsOther.RecalculateRows()
' Next
' _ocur.CommitChanges()
' End If
'End If
End Sub
Private Sub ORI_Invoice_Popup_DetailView_AcceptActionExecuting(sender As Object, e As CancelEventArgs)
Validator.RuleSet.ValidateAll(View.ObjectSpace, View.SelectedObjects, DefaultContexts.Save)
End Sub
Private Sub aORI_RegenerateValues_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aORI_RegenerateValues.CustomizePopupWindowParams
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _OrderInRegenerator_PopUp_Collection As New ArrayList
Dim _ProductsList As New ArrayList
'Összes Products a rendelésen
For Each _OrderInRows As OrderInRows In _OrderInHeader.OrderInRows
If _ProductsList.Count = 0 Then
_ProductsList.Add(_OrderInRows.Products)
Else
Dim _Need As Boolean = True
For Each _Products As Products In _ProductsList
If _Products.Oid = _OrderInRows.Products.Oid Then _Need = False
Exit For
Next
If _Need Then
_ProductsList.Add(_OrderInRows.Products)
End If
End If
Next
If _ProductsList.Count > 0 Then
For Each _Products As Products In _ProductsList
Dim _OrderInRows As OrderInRows = _onew.FindObject(Of OrderInRows)(CriteriaOperator.Parse("OrderInHeader=? AND Products=?", _onew.GetObject(_OrderInHeader), _onew.GetObject(_Products)))
'Kitárolás
Dim _StorageOutRowsInRows_Collection As New XPCollection(Of StorageOutRowsInRows)(_onew.Session, CriteriaOperator.Parse("StorageOutRows.OrderInRows=?", _OrderInRows))
Dim _StoragedOut_QTT As Double = 0
Dim _StorageOutHeader_Collection As New ArrayList
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
_StoragedOut_QTT += _StorageOutRowsInRows.QTT
If _StorageOutHeader_Collection.Count = 0 Then
_StorageOutHeader_Collection.Add(_StorageOutRowsInRows.StorageOutRows.StorageOutHeader)
Else
Dim _Need As Boolean = True
For Each _StorageOutHeader As StorageOutHeader In _StorageOutHeader_Collection
If _StorageOutHeader.Oid = _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.Oid Then _Need = False
Exit For
Next
If _Need Then
_StorageOutHeader_Collection.Add(_StorageOutRowsInRows.StorageOutRows.StorageOutHeader)
End If
End If
Next
If _StoragedOut_QTT <> _OrderInRows.QTT_Storaged Then
'Kitárolás probléma...
Dim _OrderInRegenerator_PopUp As New OrderInRegenerator_PopUp(_onew.Session)
With _OrderInRegenerator_PopUp
.RowIndex = _OrderInRows.RowIndex
.ResultString = _OrderInRows.Products.ShortName
.RegeneratorErrorType = eRegeneratorErrorType.eStorageError
End With
_OrderInRegenerator_PopUp_Collection.Add(_OrderInRegenerator_PopUp)
End If
'Szállítólevél
Dim _StorageOutRowsInRows_Filter As String = ""
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
_StorageOutRowsInRows_Filter += "StorageOutRowsInRows.Oid='" + _StorageOutRowsInRows.Oid.ToString + "' OR "
Next
_StorageOutRowsInRows_Filter = _StorageOutRowsInRows_Filter.Remove(_StorageOutRowsInRows_Filter.Length - 4, 4)
If _StorageOutRowsInRows_Filter.Length < 8 Then _StorageOutRowsInRows_Filter = "1=2" 'Biztonsági False criteria :)
Dim _DeliveryNoteOutRows_Collection As New XPCollection(Of DeliveryNoteOutRows)(_onew.Session, CriteriaOperator.Parse(_StorageOutRowsInRows_Filter))
Dim _DeliveredOut_QTT As Double = 0
Dim _DeliveryNoteOutHeader_Collection As New ArrayList
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _DeliveryNoteOutRows_Collection
_DeliveredOut_QTT += _DeliveryNoteOutRows.QTT
If _DeliveryNoteOutHeader_Collection.Count = 0 Then
_DeliveryNoteOutHeader_Collection.Add(_DeliveryNoteOutRows.DeliveryNoteOutHeader)
Else
Dim _Need As Boolean = True
For Each _DeliveryNoteOutHeader As DeliveryNoteOutHeader In _DeliveryNoteOutHeader_Collection
If _DeliveryNoteOutHeader.Oid = _DeliveryNoteOutRows.DeliveryNoteOutHeader.Oid Then _Need = False
Exit For
Next
If _Need Then
_DeliveryNoteOutHeader_Collection.Add(_DeliveryNoteOutRows.DeliveryNoteOutHeader)
End If
End If
Next
If _DeliveredOut_QTT <> _OrderInRows.QTT_DeliveryNoted Then
'Kiszállítás probléma
Dim _OrderInRegenerator_PopUp As New OrderInRegenerator_PopUp(_onew.Session)
With _OrderInRegenerator_PopUp
.RowIndex = _OrderInRows.RowIndex
.ResultString = _OrderInRows.Products.ShortName
.RegeneratorErrorType = eRegeneratorErrorType.eDeliveryError
End With
_OrderInRegenerator_PopUp_Collection.Add(_OrderInRegenerator_PopUp)
End If
'Számla
Dim _InvoiceRows_Collection As New XPCollection(Of InvoiceRows)(_onew.Session, CriteriaOperator.Parse("OrderInRows=?", _OrderInRows))
Dim _Invoiced_QTT As Double = 0
Dim _InvoiceHeader_Collection As New ArrayList
For Each _InvoiceRows As InvoiceRows In _InvoiceRows_Collection
_Invoiced_QTT += _InvoiceRows.QTT
If _InvoiceHeader_Collection.Count = 0 Then
_InvoiceHeader_Collection.Add(_InvoiceRows.InvoiceHeader)
Else
Dim _Need As Boolean = True
For Each _InvoiceHeader As InvoiceHeader In _InvoiceHeader_Collection
If _InvoiceHeader.Oid = _InvoiceRows.InvoiceHeader.Oid Then _Need = False
Exit For
Next
If _Need Then
_InvoiceHeader_Collection.Add(_InvoiceRows.InvoiceHeader)
End If
End If
Next
If _Invoiced_QTT <> _OrderInRows.QTT_Invoiced Then
'Számla probléma
Dim _OrderInRegenerator_PopUp As New OrderInRegenerator_PopUp(_onew.Session)
With _OrderInRegenerator_PopUp
.RowIndex = _OrderInRows.RowIndex
.ResultString = _OrderInRows.Products.ShortName + " megrendelés sorban mennyiségi probléma van."
.RegeneratorErrorType = eRegeneratorErrorType.eInvoiceError
End With
_OrderInRegenerator_PopUp_Collection.Add(_OrderInRegenerator_PopUp)
End If
'-----------------------------------
If _StoragedOut_QTT < _DeliveredOut_QTT Then
'Kitárolás-szállítólevél probléma
Dim _OrderInRegenerator_PopUp As New OrderInRegenerator_PopUp(_onew.Session)
With _OrderInRegenerator_PopUp
.RowIndex = _OrderInRows.RowIndex
.ResultString = _OrderInRows.Products.ShortName + " megrendelés sorban van olyan kiszállítás, melyhez nem tartozik kitárolás."
.RegeneratorErrorType = eRegeneratorErrorType.eDeliveryError
End With
_OrderInRegenerator_PopUp_Collection.Add(_OrderInRegenerator_PopUp)
If _StoragedOut_QTT = 0 And _OrderInHeader.StorageOutRowsInRows.Count > 0 Then
_OrderInRegenerator_PopUp = New OrderInRegenerator_PopUp(_onew.Session)
With _OrderInRegenerator_PopUp
.RowIndex = _OrderInRows.RowIndex
.ResultString = _OrderInRows.Products.ShortName + " megrendelés sorban stornózott kitároláshoz tartozik kiszállítás."
.RegeneratorErrorType = eRegeneratorErrorType.eDeliveryError
End With
_OrderInRegenerator_PopUp = New OrderInRegenerator_PopUp(_onew.Session)
With _OrderInRegenerator_PopUp
.RowIndex = _OrderInRows.RowIndex
.ResultString = _OrderInRows.Products.ShortName + " megrendelés sorban stornózott kitároláshoz tartozik számla."
.RegeneratorErrorType = eRegeneratorErrorType.eInvoiceError
End With
_OrderInRegenerator_PopUp_Collection.Add(_OrderInRegenerator_PopUp)
End If
End If
Next
Dim _OrderInRegenerator_PopUp_CollectionSource As New CollectionSource(_onew, GetType(OrderInRegenerator_PopUp))
For Each _OrderInRegenerator_PopUp As OrderInRegenerator_PopUp In _OrderInRegenerator_PopUp_Collection
_OrderInRegenerator_PopUp_CollectionSource.Add(_OrderInRegenerator_PopUp)
Next
e.View = Application.CreateListView("OrderInRegenerator_PopUp_ListView", _OrderInRegenerator_PopUp_CollectionSource, True)
End If
End Sub
Private Sub aORI_RegenerateValues_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_RegenerateValues.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
End Sub
Private Function GetAlertFromOrderIn(_OrderInHeader As OrderInHeader, _onew As Xpo.XPObjectSpace) As String
Dim _AlertMessage As String = ""
Dim _uow As New UnitOfWork(TryCast(View.ObjectSpace, Xpo.XPObjectSpace).Session.DataLayer)
For Each _OrderInRows As OrderInRows In _OrderInHeader.OrderInRows
If _OrderInRows.QTT_Process <> 0 Then
If _OrderInRows.ListPriceHUF <= 1 Then
_AlertMessage += Chr(13) & Chr(10) & " Nullánál kisebb eladási ár a " & Format(_OrderInRows.RowIndex, "#,##0") & ". sorban !"
End If
Dim _StorageComputed As StorageComputed = _uow.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products.Oid=?", _OrderInRows.Products.Oid))
If _StorageComputed IsNot Nothing Then
If _OrderInRows.ListPriceHUF < _StorageComputed.MimumumPriceOutHUF Then
_AlertMessage += Chr(13) & Chr(10) & " Minimum ár alatti eladás a " & Format(_OrderInRows.RowIndex, "#,##0") & ". sorban !"
End If
End If
End If
Next
'//Termeltetési szerződés átnézése
Dim _FundingAmountHUF_Sum As Double = 0
For Each _OrderInRows As OrderInRows In _OrderInHeader.OrderInRows
If _OrderInRows.APCSheetByProducts IsNot Nothing Then
Dim _APCSheetByProducts_Collection As New XPCollection(Of APCSheetByProducts)(_onew.Session, CriteriaOperator.Parse("APCSheetHeader=? AND GetDate(ProductExpirationDate)=?",
_onew.GetObject(_OrderInRows.APCSheetByProducts.APCSheetHeader), _OrderInRows.APCSheetByProducts.ProductExpirationDate.Date))
Dim _InvoiceRows_Collection As New XPCollection(Of InvoiceRows)(_onew.Session, CriteriaOperator.Parse("OrderInRows=?", _onew.GetObject(_OrderInRows)))
For Each _APCSheetByProducts As APCSheetByProducts In _APCSheetByProducts_Collection
_FundingAmountHUF_Sum += Math.Round(_APCSheetByProducts.FundingAmountHUF, 0, MidpointRounding.AwayFromZero)
If _APCSheetByProducts.Contracts IsNot Nothing Then
Dim _ContractRows_Collection As New XPCollection(Of ContractRows)(_onew.Session, CriteriaOperator.Parse("Contracts=?", _APCSheetByProducts.Contracts))
End If
Next
End If
Next
For Each _OrderInRowsOther As OrderInRowsOther In _OrderInHeader.OrderInRowsOther
If _OrderInRowsOther.APCSheetByProducts IsNot Nothing Then
Dim _APCSheetByProducts_Collection As New XPCollection(Of APCSheetByProducts)(_onew.Session, CriteriaOperator.Parse("APCSheetHeader=? AND GetDate(ProductExpirationDate)=?",
_onew.GetObject(_OrderInRowsOther.APCSheetByProducts.APCSheetHeader), _OrderInRowsOther.APCSheetByProducts.ProductExpirationDate.Date))
Dim _InvoiceRows_Collection As New XPCollection(Of InvoiceRows)(_onew.Session, CriteriaOperator.Parse("OrderInRowsOther=?", _onew.GetObject(_OrderInRowsOther)))
End If
Next
Return _AlertMessage
End Function
#Region "Invoice_Popup"
Private Sub aORI_Invoice_Popup_Description_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aORI_Invoice_Popup_Description.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _InvoiceHeader_Collection As New XPCollection(Of InvoiceHeader)(_onew.Session)
Dim _ORI_Invoice_Description_PopUp_CollectionSource As New CollectionSource(_onew, GetType(ORI_Invoice_Description_PopUp))
If _InvoiceHeader_Collection.Count > 0 Then
Dim _Description_Array As New ArrayList
For Each _InvoiceHeader As InvoiceHeader In _InvoiceHeader_Collection
If Not String.IsNullOrEmpty(_InvoiceHeader.Description) Then
If _Description_Array.Count = 0 Then
_Description_Array.Add(_InvoiceHeader.Description)
Else
If Not _Description_Array.Contains(_InvoiceHeader.Description) Then _Description_Array.Add(_InvoiceHeader.Description)
End If
End If
Next
For Each _Description As String In _Description_Array
Dim _ORI_Invoice_Description_PopUp As New ORI_Invoice_Description_PopUp(_onew.Session)
With _ORI_Invoice_Description_PopUp
.Description = _Description
End With
_ORI_Invoice_Description_PopUp_CollectionSource.Add(_ORI_Invoice_Description_PopUp)
Next
End If
e.View = Application.CreateListView("ORI_Invoice_Description_PopUp_ListView", _ORI_Invoice_Description_PopUp_CollectionSource, True)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_Invoice_Popup_Description_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_Invoice_Popup_Description.Execute
Try
If e.PopupWindow.View.SelectedObjects.Count > 0 Then
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _ORI_Invoice_Popup As ORI_Invoice_Popup = TryCast(View.SelectedObjects(0), ORI_Invoice_Popup)
If _ORI_Invoice_Popup Is Nothing Then Throw New Exception("*Váratlan hiba történt a folyamat megszakadt!")
If String.IsNullOrEmpty(_ORI_Invoice_Popup.Description) Then
_ORI_Invoice_Popup.Description = TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Description_PopUp).Description
Else
_ORI_Invoice_Popup.Description += vbNewLine
_ORI_Invoice_Popup.Description += TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Description_PopUp).Description
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_Invoice_Popup_DescriptionHeader_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aORI_Invoice_Popup_DescriptionHeader.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _InvoiceHeader_Collection As New XPCollection(Of InvoiceHeader)(_onew.Session)
Dim _ORI_Invoice_Description_PopUp_CollectionSource As New CollectionSource(_onew, GetType(ORI_Invoice_Description_PopUp))
If _InvoiceHeader_Collection.Count > 0 Then
Dim _Description_Array As New ArrayList
For Each _InvoiceHeader As InvoiceHeader In _InvoiceHeader_Collection
If Not String.IsNullOrEmpty(_InvoiceHeader.DescriptionHeader) Then
If _Description_Array.Count = 0 Then
_Description_Array.Add(_InvoiceHeader.DescriptionHeader)
Else
If Not _Description_Array.Contains(_InvoiceHeader.DescriptionHeader) Then _Description_Array.Add(_InvoiceHeader.DescriptionHeader)
End If
End If
Next
For Each _Description As String In _Description_Array
Dim _ORI_Invoice_Description_PopUp As New ORI_Invoice_Description_PopUp(_onew.Session)
With _ORI_Invoice_Description_PopUp
.Description = _Description
End With
_ORI_Invoice_Description_PopUp_CollectionSource.Add(_ORI_Invoice_Description_PopUp)
Next
End If
e.View = Application.CreateListView("ORI_Invoice_Description_PopUp_ListView", _ORI_Invoice_Description_PopUp_CollectionSource, True)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_Invoice_Popup_DescriptionHeader_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_Invoice_Popup_DescriptionHeader.Execute
Try
If e.PopupWindow.View.SelectedObjects.Count > 0 Then
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _ORI_Invoice_Popup As ORI_Invoice_Popup = TryCast(View.SelectedObjects(0), ORI_Invoice_Popup)
If _ORI_Invoice_Popup Is Nothing Then Throw New Exception("*Váratlan hiba történt a folyamat megszakadt!")
If String.IsNullOrEmpty(_ORI_Invoice_Popup.Description_Header) Then
_ORI_Invoice_Popup.Description_Header = TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Description_PopUp).Description
Else
_ORI_Invoice_Popup.Description_Header += vbNewLine
_ORI_Invoice_Popup.Description_Header += TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Description_PopUp).Description
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
#End Region
#Region "Sorok"
Private Sub aToTable_OrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTable_OrderIn.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader = CType(View.SelectedObjects(0), OrderInHeader)
If _OrderInHeader IsNot Nothing Then
'// Termeltetési szerződés ellenőrzés lejárati időre csoportosítva és a szabad mennyiséget szummolva nincs elég keret !!!!
'If _OrderInHeader.row_APCSheetByProducts IsNot Nothing Then
' If _OrderInHeader.row_APCSheetByProducts.FundingAmountAvailableHUF - (_OrderInHeader.row_Products.Products.ListPriceOutHUF * _OrderInHeader.row_QTT) < 0 Then
' MsgBox("Nincs ennyi termeltetési keret !", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly)
' Exit Sub
' End If
'End If
'/// --------------------------------------------------------------------
Dim _OrderInRows As OrderInRows = New OrderInRows(_ocur.Session)
_OrderInRows.AddRows(_OrderInHeader)
_ocur.CommitChanges()
Dim ItemToFocus As ViewItem = TryCast(View, DetailView).FindItem("row_Products")
If ItemToFocus IsNot Nothing Then
Dim ItemControl As Object
ItemControl = ItemToFocus.Control
ItemControl.Focus()
End If
_OrderInHeader.row_Products = Nothing
_OrderInHeader.row_QTT = 0
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End If
End Sub
Private Sub aToTableD_OrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.SimpleActionExecuteEventArgs) Handles aToTableD_OrderIn.Execute
Dim _ocur As Xpo.XPObjectSpace = View.ObjectSpace
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _OrderInRows_Del_Collection As New ArrayList
Dim _OrderInRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("OrderInRows")
For Each _OrderInRows As OrderInRows In _OrderInRows_ListEditor.ListView.SelectedObjects
If _OrderInRows.QTT_To = 0 And _OrderInRows.QTT_DeliveryNoted = 0 And
_OrderInRows.QTT_Invoiced = 0 And _OrderInRows.QTT_Storaged = 0 And
_OrderInRows.QTT_Storaged_Will = 0 Then
_OrderInRows.RemoveRows(_OrderInHeader, _ocur)
_OrderInRows_Del_Collection.Add(_OrderInRows)
End If
Next
_ocur.Delete(_OrderInRows_Del_Collection)
_OrderInHeader.Save()
_ocur.CommitChanges()
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
#End Region
#Region "Egyéb sorok"
#End Region
#Region "Továbbrendelt tételek"
Private Sub aORI_OrderToIncoming_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aORI_OrderToIncoming.CustomizePopupWindowParams
Try
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_OrderToIncoming_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_OrderToIncoming.Execute
Try
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_OrderToSetCustomerOrder_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aORI_OrderToSetCustomerOrder.CustomizePopupWindowParams
Try
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_OrderToSetCustomerOrder_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_OrderToSetCustomerOrder.Execute
Try
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
#End Region
#Region "Transactions"
'// Invoice customization
Private Sub InvoiceCustomization(sender As Object, e As CustomizePopupWindowParamsEventArgs) _
Handles aORI_Create_DeliveryInvoice.CustomizePopupWindowParams,
aOrderInStorageOutDeliveryNoteOutInvoice.CustomizePopupWindowParams,
aORI_Create_Invoice.CustomizePopupWindowParams,
aGenerateInvoicefromOrderIn.CustomizePopupWindowParams,
aOrderInInvoiceAdvanceAsk.CustomizePopupWindowParams,
aOrderInInvoiceAdvance.CustomizePopupWindowParams,
aGenerateInvoiceFromOrderInFinal.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _ORI_Invoice_Popup As New ORI_Invoice_Popup(_onew.Session)
'// APCSheet ----------------------------------------------------------------------------------
Dim _IsAPCSheet As Boolean = False
Dim _DatePayment As Date
Dim _PaymentOption As PaymentOption
If _OrderInHeader.OrderInRows.Count > 0 Then
For Each _OrderInRows As OrderInRows In _OrderInHeader.OrderInRows
If _OrderInRows.APCSheetByProducts IsNot Nothing Then
_IsAPCSheet = True
_DatePayment = _OrderInRows.APCSheetByProducts.FundingDate
Exit For
End If
Next
End If
If _OrderInHeader.OrderInRowsOther.Count > 0 And Not (_IsAPCSheet) Then
For Each _OrderInRowsOther As OrderInRowsOther In _OrderInHeader.OrderInRowsOther
If _OrderInRowsOther.APCSheetByProducts IsNot Nothing Then
_IsAPCSheet = True
_DatePayment = _OrderInRowsOther.APCSheetByProducts.FundingDate
Exit For
End If
Next
End If
If _IsAPCSheet Then
_PaymentOption = _onew.FindObject(Of PaymentOption)(CriteriaOperator.Parse("PayMode=1 AND PayDay=0 and ShortName like 'Átutalás%'"))
If _PaymentOption Is Nothing Then
Dim _onew_paymentoption = Application.CreateObjectSpace
_PaymentOption = _onew_paymentoption.CreateObject(Of PaymentOption)()
With _PaymentOption
.PayMode = ePayMode.InTransfer
.PayDay = 0
.ShortName = "Átutalás, 0 nap"
End With
_onew_paymentoption.CommitChanges()
End If
End If
'---------------------------------------------------------------------------------------------------------------------------
With _ORI_Invoice_Popup
.AlertMessage = GetAlertFromOrderIn(_OrderInHeader, _onew)
.InvoiceType = _onew.GetObject(_OrderInHeader.OrderInParameters.InvoiceType)
.StorageMoveType = _onew.GetObject(_OrderInHeader.OrderInParameters.StorageMoveType)
.IsAPCSheet = _IsAPCSheet
.CustomersFrom = _onew.GetObject(_OrderInHeader.CustomersFrom)
.Customers = _onew.GetObject(_OrderInHeader.Customers)
.DateExecution = GetSQLTime(_onew.Session)
.CurrencyName = _onew.GetObjectByKey(Of CurrencyName)(_OrderInHeader.OrderInParameters.CurrencyName_Invoice.Oid)
.DateCreated = GetSQLTime(_onew.Session)
.DateExecution = _OrderInHeader.DateExecution
.DatePayment = _DatePayment
.QualityOption = _onew.GetObject(_OrderInHeader.QualityOption)
If _OrderInHeader.OrderInParameters.BankInformation IsNot Nothing Then
.BankInformation = _onew.GetObject(_OrderInHeader.OrderInParameters.BankInformation)
End If
If _OrderInHeader.OrderInParameters.DeliveryNoteOutType IsNot Nothing Then
.DeliveryNoteOutType = _onew.GetObject(_OrderInHeader.OrderInParameters.DeliveryNoteOutType)
End If
If _OrderInHeader.OrderInParameters.LiquidAssets IsNot Nothing Then
.LiquidAssets = _onew.GetObject(_OrderInHeader.OrderInParameters.LiquidAssets)
End If
If _IsAPCSheet Then
.PaymentOption = _onew.GetObject(_PaymentOption)
Else
.PaymentOption = _onew.GetObject(_OrderInHeader.PaymentOption)
End If
Select Case sender.id
Case "aORI_Create_DeliveryInvoice"
.InvoiceStrategy = eInvoiceStrategy.eDeliveryNoteOutAndInvoice
Case "aOrderInStorageOutDeliveryNoteOutInvoice"
.InvoiceStrategy = eInvoiceStrategy.eStorageOutAndDeliveryNoteOutAndInvoice
Case "aORI_Create_Invoice"
.InvoiceStrategy = eInvoiceStrategy.eInvoice
Case "aGenerateInvoicefromOrderIn"
.InvoiceStrategy = eInvoiceStrategy.eInvoice
Case "aOrderInInvoiceAdvanceAsk"
.InvoiceStrategy = eInvoiceStrategy.eInvoiceAdvanceAsk
.InvoiceType = _onew.GetObject(_OrderInHeader.OrderInParameters.InvoiceTypeAdvanced)
Case "aGenerateInvoiceFromOrderInFinal"
.InvoiceStrategy = eInvoiceStrategy.eInvoiceFinal
Case "aOrderInInvoiceAdvance"
.InvoiceStrategy = eInvoiceStrategy.eInvoiceAdvance
.InvoiceType = _onew.GetObject(_OrderInHeader.OrderInParameters.InvoiceTypeAdvanced)
Dim _PCIDetail_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("PCIDetail")
Dim _PCIDetail As PCIDetail = TryCast(_PCIDetail_ListEditor.ListView.SelectedObjects(0), PCIDetail)
If _PCIDetail IsNot Nothing Then
Select Case _PCIDetail.MainType
Case "03-Cassa"
If _PCIDetail.DateExecution.Date = GetSQLTime(_onew.Session).Date Then
.DateCreated = _PCIDetail.DateExecution
.DatePayment = _PCIDetail.DateExecution
.DateExecution = _PCIDetail.DateExecution
.PaymentOption = _onew.FindObject(Of PaymentOption)(CriteriaOperator.Parse("PayMode=0"))
Else
.DateExecution = _PCIDetail.DateExecution
.PaymentOption = _onew.FindObject(Of PaymentOption)(CriteriaOperator.Parse("PayMode=1 AND PayDay=0 and ShortName like 'Átutalás%'"))
.DatePayment = _PCIDetail.DateExecution
End If
Case "02-Bank"
.DateExecution = _PCIDetail.DateExecution
.PaymentOption = _onew.FindObject(Of PaymentOption)(CriteriaOperator.Parse("PayMode=1 AND PayDay=0 and ShortName like 'Átutalás%'"))
.DatePayment = _PCIDetail.DateExecution
If TryCast(_PCIDetail.GLRows.GLHeader, GLBank) IsNot Nothing Then
.BankInformation = _onew.FindObject(Of BankInformation)(CriteriaOperator.Parse("LiquidAssests.Oid = ?", TryCast(_PCIDetail.GLRows.GLHeader, GLBank).LiquidAssets_Main.Oid))
End If
End Select
End If
End Select
.ShipmentOption = _onew.GetObject(_OrderInHeader.ShipmentOption)
.QualityOption = _onew.GetObject(_OrderInHeader.QualityOption)
If .Customers IsNot Nothing Then
If .Customers.ShipmentOption IsNot Nothing And _OrderInHeader.ShipmentOption Is Nothing Then .ShipmentOption = _onew.GetObjectByKey(Of ShipmentOption)(.Customers.ShipmentOption.Oid)
If .Customers.Address1 IsNot Nothing Then .TransportAddress = _onew.GetObjectByKey(Of Address)(.Customers.Address1.Oid)
End If
End With
e.View = Application.CreateDetailView(_onew, "ORI_Invoice_Popup_DetailView", False, _ORI_Invoice_Popup)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
'// DeliveryNoteOut customization
Private Sub DeliveryNoteOutCustomization(sender As Object, e As CustomizePopupWindowParamsEventArgs) _
Handles aOrderInStorageOutDeliveryNoteOut.CustomizePopupWindowParams,
aORI_Create_Delivery.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _DeliveryNoteView As DeliveryNoteView = _onew.CreateObject(Of DeliveryNoteView)()
With _DeliveryNoteView
Select Case sender.id
Case "aOrderInStorageOutDeliveryNoteOut"
.StorageNeed = True
Case "aORI_Create_Delivery"
End Select
.DeliveryNoteOutTypeNeed = True
.CustomersFrom = _onew.GetObjectByKey(Of CustomersFrom)(_OrderInHeader.CustomersFrom.Oid)
.Customers = _onew.GetObjectByKey(Of Customers)(_OrderInHeader.Customers.Oid)
.DateExecution = GetSQLTime(_onew.Session)
.CurrencyName = _onew.GetObjectByKey(Of CurrencyName)(_OrderInHeader.OrderInParameters.CurrencyName.Oid)
.ShipmentOption = _onew.GetObject(Of ShipmentOption)(_OrderInHeader.ShipmentOption)
.QualityOption = _onew.GetObject(Of QualityOption)(_OrderInHeader.QualityOption)
.StorageMoveType = _onew.GetObject(_OrderInHeader.OrderInParameters.StorageMoveType)
.DeliveryNoteOutType = _onew.GetObject(_OrderInHeader.OrderInParameters.DeliveryNoteOutType)
If .Customers IsNot Nothing Then
If .Customers.Address1 IsNot Nothing Then .TransportAddress = _onew.GetObjectByKey(Of Address)(.Customers.Address1.Oid)
If .Customers.Address2 IsNot Nothing Then .TransportAddress = _onew.GetObjectByKey(Of Address)(.Customers.Address2.Oid)
If .Customers.ShipmentOption IsNot Nothing And _OrderInHeader.ShipmentOption Is Nothing Then .ShipmentOption = _onew.GetObjectByKey(Of ShipmentOption)(.Customers.ShipmentOption.Oid)
If .Customers.QualityOption IsNot Nothing And _OrderInHeader.QualityOption Is Nothing Then .QualityOption = _onew.GetObjectByKey(Of QualityOption)(.Customers.QualityOption.Oid)
End If
End With
e.View = Application.CreateDetailView(_onew, "DeliveryNoteView_DetailView", False, _DeliveryNoteView)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
#Region "DetailView"
Private Sub aOrderInInvoiceAdvanceAsk_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aOrderInInvoiceAdvanceAsk.Execute
'//Előlegbekérő készítése bejövő megrendelés alapján
aGenerateInvoicefromOrderIn_Execute(sender, e)
End Sub
Private Sub aOrderInStorageOutDeliveryNoteOut_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aOrderInStorageOutDeliveryNoteOut.Execute
'//Kitárolás és kiszállítás egyben
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
Dim _StorageComputed As StorageComputed
Try
'--==Ellenőrzések==--
'____________________________________________________________________________________________________________________
Dim _OrderInHeader As OrderInHeader = _onew.GetObjectByKey(Of OrderInHeader)(TryCast(View.SelectedObjects(0), OrderInHeader).Oid)
Dim _DeliveryNoteView As DeliveryNoteView = _onew.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), DeliveryNoteView))
If _OrderInHeader.OrderInRows.Count <= 0 Then
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows", "NoRowsInOrder"),
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain"))))
End If
Dim _OrderInRows_Collection As New ArrayList
For Each _OrderInRows As OrderInRows In _OrderInHeader.OrderInRows
If _OrderInRows.QTT_Process > 0 Then
If _OrderInRows.QTT_Process + _OrderInRows.QTT_Storaged + _OrderInRows.QTT_Storaged_Will > _OrderInRows.QTT Then
'// Ha meghaladja a kitárolás a rendelteket
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows", "TooMutchQuantityInOrderIn"), _OrderInRows.RowIndex.ToString +
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain"))))
End If
If _OrderInRows.QTT_Process + _OrderInRows.QTT_DeliveryNoted > _OrderInRows.QTT Then
'// Ha meghaladja a kiszállítás a rendelteket
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows", "TooMutchQuantityInOrderIn"), _OrderInRows.RowIndex.ToString +
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain"))))
End If
'// Szabad készlet ellenőrzése
_StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage.Oid=? AND Products.Oid=?",
_DeliveryNoteView.Storage.Oid, _OrderInRows.Products.Oid))
If _StorageComputed Is Nothing Then
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "NoProductsInStorage"),
_OrderInRows.RowIndex, _OrderInRows.Products.ShortName, _DeliveryNoteView.Storage.ShortName) + vbNewLine +
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End If
If (_StorageComputed.QTTFree < _OrderInRows.QTT_Process) Then
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "NoProductsInStorage"),
_OrderInRows.RowIndex, _OrderInRows.Products.ShortName, _DeliveryNoteView.Storage.ShortName) + vbNewLine +
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End If
If _StorageComputed IsNot Nothing Then
'// Mimimum ár ellenőrzés
If TryCast(Application.Model.Options, IModelOptionsExtender).RequreMinimumPriceCheck Then
If _StorageComputed.MimumumPriceOutHUF < _OrderInRows.FinalPriceHUF Then
Throw New Exception(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "BadMinimumPrice"),
_OrderInRows.RowIndex, _OrderInRows.Products.ShortName, _StorageComputed.MimumumPriceOutHUF, _OrderInRows.FinalPriceHUF) + vbNewLine +
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End If
End If
End If
_OrderInRows_Collection.Add(_onew.GetObjectByKey(Of OrderInRows)(_OrderInRows.Oid))
End If
Next
If _OrderInRows_Collection.Count = 0 Then Throw New Exception(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows",
"NoSelectionforStorageOutandDeliveryNoteOut") + vbNewLine +
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
'--==Zárolás==--
'____________________________________________________________________________________________________________________
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
Exit Sub
Else
'--==Kitárolás==--
'____________________________________________________________________________________________________________________
Dim _StorageOutHeader As New StorageOutHeader(_onew.Session)
With _StorageOutHeader
.Active = True
.CustomersFrom = _onew.GetObjectByKey(Of CustomersFrom)(_OrderInHeader.CustomersFrom.Oid)
.Customers = _onew.GetObjectByKey(Of Customers)(_OrderInHeader.Customers.Oid)
.StorageMoveType = _onew.GetObjectByKey(Of StorageMoveType)(_DeliveryNoteView.StorageMoveType.Oid)
.Storage = _onew.GetObjectByKey(Of Storage)(_DeliveryNoteView.Storage.Oid)
End With
For Each _OrderInRows As OrderInRows In _OrderInRows_Collection
Dim _QTT_Mod As Double = 0
Dim _QTT_Free As Double = 0
Dim _QTT_ReservedOut As Double = 0
Dim _QTT_Will_Out As Double = 0
Dim _StorageOutRows As New StorageOutRows(_onew.Session)
With _StorageOutRows
.StorageOutHeader = _StorageOutHeader
.Products = _onew.GetObjectByKey(Of Products)(_OrderInRows.Products.Oid)
.OrderInRows = _onew.GetObjectByKey(Of OrderInRows)(_OrderInRows.Oid)
End With
Dim _StorageInRows_Collection As New XPCollection(Of StorageInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageInHeader.Storage=? and StorageInHeader.IsEditable=False and StorageInHeader.IsStorno=False and Products=?",
_StorageOutHeader.Storage, _onew.GetObjectByKey(Of Products)(_OrderInRows.Products.Oid)))
_StorageInRows_Collection.Sorting.Add(New SortProperty("StorageInHeader.CreateDate", DB.SortingDirection.Ascending))
_QTT_Mod = _OrderInRows.QTT_Process
For Each _StorageInRows As StorageInRows In _StorageInRows_Collection
_QTT_Free = _StorageInRows.QTT - _StorageInRows.QTT_Out - _StorageInRows.QTT_Out_Will
If _QTT_Free > 0 Then
If _QTT_Free < _QTT_Mod Then
_StorageInRows.QTT_Out_Will += _QTT_Free
_StorageOutRows.QTT_Will += _QTT_Free
_QTT_Mod -= _QTT_Free
'------- FIFO sor beszúrása
Dim _StorageOutRowsInRows As StorageOutRowsInRows = _onew.FindObject(Of StorageOutRowsInRows)(CriteriaOperator.Parse("StorageInRows=? and StorageOutRows=?",
_StorageInRows, _StorageOutRows), True)
If _StorageOutRowsInRows IsNot Nothing Then
_StorageOutRowsInRows.QTT += _QTT_Free
Else
_StorageOutRowsInRows = New StorageOutRowsInRows(_onew.Session)
_StorageOutRowsInRows.StorageInRows = _StorageInRows
_StorageOutRowsInRows.StorageOutRows = _StorageOutRows
_StorageOutRowsInRows.QTT = _QTT_Free
End If
Else
_StorageInRows.QTT_Out_Will += _QTT_Mod
_StorageOutRows.QTT_Will += _QTT_Mod
'------- FIFO sor beszúrása
Dim _StorageOutRowsInRows As StorageOutRowsInRows = _onew.FindObject(Of StorageOutRowsInRows)(CriteriaOperator.Parse("StorageInRows=? and StorageOutRows=?",
_StorageInRows, _StorageOutRows), True)
If _StorageOutRowsInRows IsNot Nothing Then
_StorageOutRowsInRows.QTT += _QTT_Mod
Else
_StorageOutRowsInRows = New StorageOutRowsInRows(_onew.Session)
_StorageOutRowsInRows.StorageInRows = _StorageInRows
_StorageOutRowsInRows.StorageOutRows = _StorageOutRows
_StorageOutRowsInRows.QTT = _QTT_Mod
End If
Exit For
End If
End If
Next
_StorageOutRows.RowIndex = _StorageOutHeader.StorageOutRows.Count
_StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? and Products=?",
_StorageOutHeader.Storage, _onew.GetObjectByKey(Of Products)(_OrderInRows.Products.Oid)), True)
_QTT_ReservedOut = _StorageComputed.QTTReservedOut
Dim _StorageOutRows_Collection_R As New XPCollection(Of StorageOutRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("QTT_Will>0 and StorageOutHeader.Storage=? and Products=?", _StorageOutHeader.Storage, _onew.GetObjectByKey(Of Products)(_OrderInRows.Products.Oid)))
For Each _StorageOutRows_R In _StorageOutRows_Collection_R
_QTT_Will_Out += _StorageOutRows_R.QTT_Will
Next
_StorageComputed.QTTFree = _StorageComputed.QTTFree - (_QTT_Will_Out - _QTT_ReservedOut)
_StorageComputed.QTTReservedOut = _QTT_Will_Out
Next
'--Kitárolás véglegesítése--
'____________________________________________________________________________________________________________________
For Each _StorageOutRows As StorageOutRows In _StorageOutHeader.StorageOutRows
Dim _StorageOutRowsInRows_Collection As New XPCollection(Of StorageOutRowsInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageOutRows=?", _StorageOutRows))
For Each _StorageOutRowsInRows In _StorageOutRowsInRows_Collection
If _StorageOutRowsInRows.QTT > 0 Then
Dim _StorageMoveEvents_Collection As New XPCollection(Of StorageMoveEvents)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageInRows=?", _StorageOutRowsInRows.StorageInRows))
_StorageMoveEvents_Collection.Sorting.Add(New SortProperty("ObjectCreated", DB.SortingDirection.Descending))
_StorageOutRowsInRows.StorageInRows.QTT_Out += _StorageOutRowsInRows.QTT
_StorageOutRowsInRows.StorageInRows.QTT_Out_Will -= _StorageOutRowsInRows.QTT
Dim _StorageMoveEvents As New StorageMoveEvents(_onew.Session)
_StorageMoveEvents.StorageInRows = _StorageOutRowsInRows.StorageInRows
_StorageMoveEvents.StorageOutRows = _StorageOutRowsInRows.StorageOutRows
If _StorageMoveEvents_Collection.Count > 0 Then
_StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents_Collection(0).QTT_Free_After
Else
_StorageMoveEvents.QTT_Free_Before = 0
End If
_StorageMoveEvents.QTT = (-1) * _StorageOutRowsInRows.QTT
_StorageMoveEvents.QTT_Free_After = _StorageMoveEvents.QTT_Free_Before + _StorageMoveEvents.QTT
_StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageOutFinal
_StorageMoveEvents.ExecutionDate = _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.CreateDate
End If
Next
_StorageOutRows.QTT += _StorageOutRows.QTT_Will
If _StorageOutRows.OrderInRows IsNot Nothing Then
Dim _QTT_WillOrug As Double = _StorageOutRows.QTT_Will
Dim _OrderInRows As OrderInRows = _onew.GetObjectByKey(Of OrderInRows)(_StorageOutRows.OrderInRows.Oid)
_OrderInRows.QTT_Storaged += _StorageOutRows.QTT_Will
_OrderInRows.QTT_Process = 0
End If
_StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products=? and Storage=?",
_StorageOutRows.Products, _StorageOutRows.StorageOutHeader.Storage), True)
_StorageComputed.QTTReservedOut -= _StorageOutRows.QTT_Will
_StorageOutRows.QTT_Will = 0
Next
_StorageOutHeader.IsEditable = False
_StorageOutHeader.IsFinalized = True
'--==Szállítólevél==--
'____________________________________________________________________________________________________________________
Dim _DeliveryNoteOutHeader As New DeliveryNoteOutHeader(_onew.Session)
With _DeliveryNoteOutHeader
.CurrencyName = _onew.GetObject(_DeliveryNoteView.CurrencyName)
.Customers = _onew.GetObject(_DeliveryNoteView.Customers)
.CustomersFrom = _onew.GetObject(_DeliveryNoteView.CustomersFrom)
.DateCreated = GetSQLTime(_onew.Session)
.DateExecution = _onew.GetObject(_DeliveryNoteView.DateExecution)
.Note = _onew.GetObject(_DeliveryNoteView.Note)
.QualityOption = _onew.GetObject(_DeliveryNoteView.QualityOption)
.ShipmentOption = _onew.GetObject(_DeliveryNoteView.ShipmentOption)
.TransportAddress = _onew.GetObject(_DeliveryNoteView.TransportAddress)
.DeliveryNoteOutType = _onew.GetObject(_DeliveryNoteView.DeliveryNoteOutType)
.IsEditable = False
End With
For Each _StorageOutRows As StorageOutRows In _StorageOutHeader.StorageOutRows
Dim _StorageOutRowsInRows_Collection As New XPCollection(Of StorageOutRowsInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageOutRows=?", _StorageOutRows))
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
Dim _DeliveryNoteOutRows As New DeliveryNoteOutRows(_onew.Session)
With _DeliveryNoteOutRows
.DeliveryNoteOutHeader = _DeliveryNoteOutHeader
.RowIndex = _DeliveryNoteOutHeader.DeliveryNoteOutRows.Count
.QTT = _StorageOutRowsInRows.QTT
.StorageOutRowsInRows = _StorageOutRowsInRows
End With
Dim _QTT_Will_Orig = _StorageOutRowsInRows.QTT
_StorageOutRowsInRows.QTT_To_DeliveryOut += _QTT_Will_Orig
_StorageOutRowsInRows.QTT_Will = 0
Dim _OrderInRows As OrderInRows = _onew.GetObjectByKey(Of OrderInRows)(_StorageOutRowsInRows.StorageOutRows.OrderInRows.Oid)
_OrderInRows.QTT_DeliveryNoted += _QTT_Will_Orig
Next
Next
_onew.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError"))
Finally
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
End Try
End Sub
Private Sub aOrderInStorageOutDeliveryNoteOutInvoice_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aOrderInStorageOutDeliveryNoteOutInvoice.Execute
'// Kitárolás + kiszállítás + számla egyben
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
Dim _StorageComputed As StorageComputed
Try
'--==Ellenőrzések==--
'____________________________________________________________________________________________________________________
Dim _OrderInHeader As OrderInHeader = _onew.GetObjectByKey(Of OrderInHeader)(TryCast(View.SelectedObjects(0), OrderInHeader).Oid)
Dim _ORI_Invoice_Popup As ORI_Invoice_Popup = _onew.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup))
If _OrderInHeader.OrderInRows.Count <= 0 Then Throw New Exception("*A megrendelésnek nincs egyetlen sora sem!")
Dim _OrderInRows_Collection As New ArrayList
For Each _OrderInRows As OrderInRows In _OrderInHeader.OrderInRows
If _OrderInRows.QTT_Process > 0 Then
If _OrderInRows.QTT_Process + _OrderInRows.QTT_Storaged + _OrderInRows.QTT_Storaged_Will > _OrderInRows.QTT Then
'// Ha meghaladja a kitárolás a rendelteket
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows", "TooMutchQuantityInOrderIn"),
_OrderInRows.RowIndex,
_OrderInRows.QTT_Process + _OrderInRows.QTT_Storaged + _OrderInRows.QTT_Storaged_Will,
_OrderInRows.QTT),
MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
If _OrderInRows.QTT_Process + _OrderInRows.QTT_DeliveryNoted > _OrderInRows.QTT Then
'// Ha meghaladja a kiszállítás a rendelteket
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows", "TooMutchQuantityInOrderIn"),
_OrderInRows.RowIndex,
_OrderInRows.QTT_Process + _OrderInRows.QTT_DeliveryNoted,
_OrderInRows.QTT),
MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
If _OrderInRows.QTT_Process + _OrderInRows.QTT_Invoiced > _OrderInRows.QTT Then
'// Ha meghaladja a számlázás a rendelteket
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows", "TooMutchQuantityInOrderIn"),
_OrderInRows.RowIndex,
_OrderInRows.QTT_Process + _OrderInRows.QTT_Invoiced,
_OrderInRows.QTT),
MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
'// Szabad készlet ellenőrzése
_StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? AND Products=?",
_onew.GetObjectByKey(Of Storage)(_ORI_Invoice_Popup.Storage.Oid), _onew.GetObjectByKey(Of Products)(_OrderInRows.Products.Oid)))
If _StorageComputed Is Nothing Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "NoProductsInStorage"),
_OrderInRows.RowIndex,
_OrderInRows.Products.ShortName,
_ORI_Invoice_Popup.Storage.ShortName),
MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
If (_StorageComputed.QTTFree < _OrderInRows.QTT_Process) Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "NoProductsInStorage"),
_OrderInRows.RowIndex,
_OrderInRows.Products.ShortName,
_ORI_Invoice_Popup.Storage.ShortName),
MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
If _StorageComputed IsNot Nothing Then
'// Mimimum ár ellenőrzés
If TryCast(Application.Model.Options, IModelOptionsExtender).RequreMinimumPriceCheck Then
If _StorageComputed.MimumumPriceOutHUF < _OrderInRows.FinalPriceHUF Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "BadMinimumPrice"),
_OrderInRows.RowIndex,
_OrderInRows.Products.ShortName,
_StorageComputed.MimumumPriceOutHUF,
_OrderInRows.FinalPriceHUF),
MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
End If
End If
_OrderInRows_Collection.Add(_onew.GetObjectByKey(Of OrderInRows)(_OrderInRows.Oid))
End If
Next
If _OrderInRows_Collection.Count = 0 Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows", "NoSelectionforStorageOutandDeliveryNoteOut")),
MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
'--==Zárolás==--
'____________________________________________________________________________________________________________________
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageOutByLocking")
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
Exit Sub
Else
' RecalculateDEV(_ORI_Invoice_Popup, _OrderInHeader)
'--==Kitárolás==--
'____________________________________________________________________________________________________________________
Dim _StorageOutHeader As New StorageOutHeader(_onew.Session)
With _StorageOutHeader
.Active = True
.CustomersFrom = _onew.GetObjectByKey(Of CustomersFrom)(_OrderInHeader.CustomersFrom.Oid)
.Customers = _onew.GetObjectByKey(Of Customers)(_OrderInHeader.Customers.Oid)
.StorageMoveType = _onew.GetObjectByKey(Of StorageMoveType)(_ORI_Invoice_Popup.StorageMoveType.Oid)
.Storage = _onew.GetObjectByKey(Of Storage)(_ORI_Invoice_Popup.StorageMoveType.Storage.Oid)
End With
For Each _OrderInRows As OrderInRows In _OrderInRows_Collection
Dim _QTT_Mod As Double = 0
Dim _QTT_Free As Double = 0
Dim _QTT_ReservedOut As Double = 0
Dim _QTT_Will_Out As Double = 0
Dim _StorageOutRows As New StorageOutRows(_onew.Session)
With _StorageOutRows
.StorageOutHeader = _StorageOutHeader
.Products = _onew.GetObjectByKey(Of Products)(_OrderInRows.Products.Oid)
.OrderInRows = _onew.GetObjectByKey(Of OrderInRows)(_OrderInRows.Oid)
End With
Dim _StorageInRows_Collection As New XPCollection(Of StorageInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageInHeader.Storage=? and StorageInHeader.IsEditable=False and StorageInHeader.IsStorno=False and Products=?",
_StorageOutHeader.Storage, _onew.GetObjectByKey(Of Products)(_OrderInRows.Products.Oid)))
_StorageInRows_Collection.Sorting.Add(New SortProperty("StorageInHeader.CreateDate", DB.SortingDirection.Ascending))
_QTT_Mod = _OrderInRows.QTT_Process
For Each _StorageInRows As StorageInRows In _StorageInRows_Collection
_QTT_Free = _StorageInRows.QTT - _StorageInRows.QTT_Out - _StorageInRows.QTT_Out_Will
If _QTT_Free > 0 Then
If _QTT_Free < _QTT_Mod Then
_StorageInRows.QTT_Out_Will += _QTT_Free
_StorageOutRows.QTT_Will += _QTT_Free
_StorageInRows.Save()
_QTT_Mod -= _QTT_Free
'------- FIFO sor beszúrása
Dim _StorageOutRowsInRows As StorageOutRowsInRows = _onew.FindObject(Of StorageOutRowsInRows)(CriteriaOperator.Parse("StorageInRows=? and StorageOutRows=?",
_StorageInRows, _StorageOutRows), True)
If _StorageOutRowsInRows IsNot Nothing Then
_StorageOutRowsInRows.QTT += _QTT_Free
Else
_StorageOutRowsInRows = New StorageOutRowsInRows(_onew.Session)
_StorageOutRowsInRows.StorageInRows = _StorageInRows
_StorageOutRowsInRows.StorageOutRows = _StorageOutRows
_StorageOutRowsInRows.QTT = _QTT_Free
End If
Else
_StorageInRows.QTT_Out_Will += _QTT_Mod
_StorageOutRows.QTT_Will += _QTT_Mod
'------- FIFO sor beszúrása
Dim _StorageOutRowsInRows As StorageOutRowsInRows = _onew.FindObject(Of StorageOutRowsInRows)(CriteriaOperator.Parse("StorageInRows=? and StorageOutRows=?",
_StorageInRows, _StorageOutRows), True)
If _StorageOutRowsInRows IsNot Nothing Then
_StorageOutRowsInRows.QTT += _QTT_Mod
Else
_StorageOutRowsInRows = New StorageOutRowsInRows(_onew.Session)
_StorageOutRowsInRows.StorageInRows = _StorageInRows
_StorageOutRowsInRows.StorageOutRows = _StorageOutRows
_StorageOutRowsInRows.QTT = _QTT_Mod
End If
Exit For
End If
End If
Next
_StorageOutRows.RowIndex = _StorageOutHeader.StorageOutRows.Count
_StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? and Products=?",
_StorageOutHeader.Storage, _onew.GetObjectByKey(Of Products)(_OrderInRows.Products.Oid)), True)
_QTT_ReservedOut = _StorageComputed.QTTReservedOut
Dim _StorageOutRows_Collection_R As New XPCollection(Of StorageOutRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("QTT_Will>0 and StorageOutHeader.Storage=? and Products=?", _StorageOutHeader.Storage, _onew.GetObjectByKey(Of Products)(_OrderInRows.Products.Oid)))
For Each _StorageOutRows_R In _StorageOutRows_Collection_R
_QTT_Will_Out += _StorageOutRows_R.QTT_Will
Next
_StorageComputed.QTTFree = _StorageComputed.QTTFree - (_QTT_Will_Out - _QTT_ReservedOut)
_StorageComputed.QTTReservedOut = _QTT_Will_Out
Next
'--Kitárolás véglegesítése--
'____________________________________________________________________________________________________________________
For Each _StorageOutRows As StorageOutRows In _StorageOutHeader.StorageOutRows
Dim _StorageOutRowsInRows_Collection As New XPCollection(Of StorageOutRowsInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageOutRows=?", _StorageOutRows))
For Each _StorageOutRowsInRows In _StorageOutRowsInRows_Collection
If _StorageOutRowsInRows.QTT > 0 Then
Dim _StorageMoveEvents_Collection As New XPCollection(Of StorageMoveEvents)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageInRows=?", _StorageOutRowsInRows.StorageInRows))
_StorageMoveEvents_Collection.Sorting.Add(New SortProperty("ObjectCreated", DB.SortingDirection.Descending))
_StorageOutRowsInRows.StorageInRows.QTT_Out += _StorageOutRowsInRows.QTT
_StorageOutRowsInRows.StorageInRows.QTT_Out_Will -= _StorageOutRowsInRows.QTT
Dim _StorageMoveEvents As New StorageMoveEvents(_onew.Session)
_StorageMoveEvents.StorageInRows = _StorageOutRowsInRows.StorageInRows
_StorageMoveEvents.StorageOutRows = _StorageOutRowsInRows.StorageOutRows
If _StorageMoveEvents_Collection.Count > 0 Then
_StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents_Collection(0).QTT_Free_After
Else
_StorageMoveEvents.QTT_Free_Before = 0
End If
_StorageMoveEvents.QTT = (-1) * _StorageOutRowsInRows.QTT
_StorageMoveEvents.QTT_Free_After = _StorageMoveEvents.QTT_Free_Before + _StorageMoveEvents.QTT
_StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageOutFinal
_StorageMoveEvents.ExecutionDate = _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.CreateDate
End If
Next
_StorageOutRows.QTT += _StorageOutRows.QTT_Will
If _StorageOutRows.OrderInRows IsNot Nothing Then
Dim _QTT_WillOrug As Double = _StorageOutRows.QTT_Will
Dim _OrderInRows As OrderInRows = _onew.GetObjectByKey(Of OrderInRows)(_StorageOutRows.OrderInRows.Oid)
_OrderInRows.QTT_Storaged += _StorageOutRows.QTT_Will
_OrderInRows.QTT_Process = 0
End If
_StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Products=? and Storage=?",
_StorageOutRows.Products, _StorageOutRows.StorageOutHeader.Storage), True)
_StorageComputed.QTTReservedOut -= _StorageOutRows.QTT_Will
_StorageOutRows.QTT_Will = 0
Next
_StorageOutHeader.IsEditable = False
_StorageOutHeader.IsFinalized = True
'--==Szállítólevél==--
'____________________________________________________________________________________________________________________
Dim _DeliveryNoteOutHeader As New DeliveryNoteOutHeader(_onew.Session)
With _DeliveryNoteOutHeader
.CurrencyName = _onew.GetObject(_ORI_Invoice_Popup.CurrencyName)
.Customers = _onew.GetObject(_ORI_Invoice_Popup.Customers)
.CustomersFrom = _onew.GetObject(_ORI_Invoice_Popup.CustomersFrom)
.DateCreated = GetSQLTime(_onew.Session)
.DateExecution = _onew.GetObject(_ORI_Invoice_Popup.DateExecution)
.Note = _onew.GetObject(_ORI_Invoice_Popup.Description)
.QualityOption = _onew.GetObject(_ORI_Invoice_Popup.QualityOption)
.ShipmentOption = _onew.GetObject(_ORI_Invoice_Popup.ShipmentOption)
.TransportAddress = _onew.GetObject(_ORI_Invoice_Popup.TransportAddress)
.DeliveryNoteOutType = _onew.GetObject(_ORI_Invoice_Popup.DeliveryNoteOutType)
End With
For Each _StorageOutRows As StorageOutRows In _StorageOutHeader.StorageOutRows
Dim _StorageOutRowsInRows_Collection As New XPCollection(Of StorageOutRowsInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageOutRows=?", _StorageOutRows))
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
Dim _DeliveryNoteOutRows As New DeliveryNoteOutRows(_onew.Session)
With _DeliveryNoteOutRows
.DeliveryNoteOutHeader = _DeliveryNoteOutHeader
.RowIndex = _DeliveryNoteOutHeader.DeliveryNoteOutRows.Count
.QTT = _StorageOutRowsInRows.QTT
.StorageOutRowsInRows = _StorageOutRowsInRows
End With
Dim _QTT_Will_Orig = _StorageOutRowsInRows.QTT
_StorageOutRowsInRows.QTT_To_DeliveryOut += _QTT_Will_Orig
_StorageOutRowsInRows.QTT_Will = 0
Dim _OrderInRows As OrderInRows = _onew.GetObjectByKey(Of OrderInRows)(_StorageOutRowsInRows.StorageOutRows.OrderInRows.Oid)
_OrderInRows.QTT_DeliveryNoted += _QTT_Will_Orig
Next
Next
'--==Szállítólevél véglegesítés==--
'____________________________________________________________________________________________________________________
'For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _DeliveryNoteOutHeader.DeliveryNoteOutRows
' _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT_DeliveryNoted += _DeliveryNoteOutRows.QTT
'Next
_DeliveryNoteOutHeader.IsEditable = False
'--==Számla==--
'____________________________________________________________________________________________________________________
Dim _InvoiceHeader As New InvoiceHeader(_onew.Session)
With _InvoiceHeader
.InvoiceType = _onew.GetObjectByKey(Of InvoiceType)(_ORI_Invoice_Popup.InvoiceType.Oid)
.CustomersFrom = _onew.GetObjectByKey(Of CustomersFrom)(_ORI_Invoice_Popup.CustomersFrom.Oid)
.Customers = _onew.GetObjectByKey(Of Customers)(_ORI_Invoice_Popup.Customers.Oid)
.DateCreated = _ORI_Invoice_Popup.DateCreated
.DateExecution = _ORI_Invoice_Popup.DateExecution
.PaymentOption = _onew.GetObjectByKey(Of PaymentOption)(_ORI_Invoice_Popup.PaymentOption.Oid)
.DatePaymentMode = .PaymentOption.DatePaymentMode 'Javítva lett
.ShipmentOption = _onew.GetObjectByKey(Of ShipmentOption)(_ORI_Invoice_Popup.ShipmentOption.Oid)
.CurrencyName = _onew.GetObjectByKey(Of CurrencyName)(_ORI_Invoice_Popup.CurrencyName.Oid)
If .PaymentOption.PayMode = ePayMode.InCash Then
Else
.BankInformation = _onew.GetObjectByKey(Of BankInformation)(_ORI_Invoice_Popup.BankInformation.Oid)
End If
.Description = _ORI_Invoice_Popup.Description
InvoiceHeaderSavedSettings(_InvoiceHeader)
If .PaymentOption.PayMode = ePayMode.InContinuous Then
.DatePayment = _InvoiceHeader.DateExecution
Else
If _ORI_Invoice_Popup.IsAPCSheet Then
.DatePayment = _ORI_Invoice_Popup.DatePayment
Else
If .PaymentOption.DatePaymentMode = eDatePaymentMode.eDateCreated Then
.DatePayment = _InvoiceHeader.DateCreated.AddDays(_InvoiceHeader.PaymentOption.PayDay)
Else
.DatePayment = _InvoiceHeader.DateExecution.AddDays(_InvoiceHeader.PaymentOption.PayDay)
End If
End If
End If
If .InvoiceType.NumberGeneratorProforma IsNot Nothing Then
_InvoiceHeader.DocumentNumberProforma = _InvoiceHeader.InvoiceType.NumberGeneratorProforma.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGeneratorProforma)
End If
If .CurrencyName.ShortName <> "HUF" Then
.CurrencyRate = _ORI_Invoice_Popup.CurrencyRate
End If
End With
'--==Végszámla / Proforma számal ==--
'____________________________________________________________________________________________________________________
If _ORI_Invoice_Popup.IsFinalInvoice Then
_InvoiceHeader.IsEditable = False
_InvoiceHeader.IsProforma = False
_InvoiceHeader.IsStorno = False
_InvoiceHeader.ConnectInfo = _InvoiceHeader.InvoiceType.NumberGenerator.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGenerator)
_InvoiceHeader.DocumentNumber = _InvoiceHeader.ConnectInfo
If _ORI_Invoice_Popup.PaymentOption.PayMode = ePayMode.InCash Then
If _ORI_Invoice_Popup.IsLiquidAssets Then
End If
End If
Else
_InvoiceHeader.IsEditable = False
_InvoiceHeader.IsProforma = True
_InvoiceHeader.IsStorno = False
_InvoiceHeader.ConnectInfo = _InvoiceHeader.InvoiceType.NumberGeneratorProforma.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGeneratorProforma)
End If
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _DeliveryNoteOutHeader.DeliveryNoteOutRows
Dim _InvoiceRows As New InvoiceRows(_onew.Session)
With _InvoiceRows
.InvoiceHeader = _InvoiceHeader
.RowIndex = _InvoiceHeader.InvoiceRows.Count
.OrderInRows = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows)
.InvoiceRowtype = eInvoiceRowType.FromOrder
.DiscountPriceDEV = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceDEV
.DiscountPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceHUF
.ListPriceDEV = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceDEV
.ListPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceHUF
.QTT = _DeliveryNoteOutRows.QTT
.QualityOption = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.QualityOption)
.ShortName = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.ShortName
'_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.ProductNumber(+vbNewLine + _
' _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.ShortName)
.Units = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.Units)
.VAT = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.VAT)
.Description = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Description
.CustomsTariffs = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.CustomsTariff)
.DeliveryNoteOutRows = _onew.GetObject(_DeliveryNoteOutRows)
End With
Dim _QTT_Will_Orig As Double = _DeliveryNoteOutRows.QTT
_DeliveryNoteOutRows = _DeliveryNoteOutRows
_DeliveryNoteOutRows.QTT_Invoiced += _QTT_Will_Orig
_DeliveryNoteOutRows.QTT_Will = 0
Dim _OrderInRows As OrderInRows = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows)
_OrderInRows.QTT_Invoiced += _QTT_Will_Orig
Next
If _OrderInHeader.OrderInRowsOther.Count > 0 Then
For Each _OrderInRowsOther As OrderInRowsOther In _OrderInHeader.OrderInRowsOther
Dim _InvoiceRows As New InvoiceRows(_onew.Session)
With _InvoiceRows
.InvoiceHeader = _InvoiceHeader
.OrderInRowsOther = _OrderInRowsOther
.QTT = _OrderInRowsOther.QTT_Process
_OrderInRowsOther.QTT_Invoiced += _OrderInRowsOther.QTT_Process
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
.DiscountPriceHUF = _OrderInRowsOther.DiscountPriceHUF
.ListPriceHUF = _OrderInRowsOther.ListPriceHUF
Else
.DiscountPriceDEV = _OrderInRowsOther.DiscountPriceDEV
.DiscountPriceHUF = _OrderInRowsOther.DiscountPriceDEV * _ORI_Invoice_Popup.CurrencyRate
.ListPriceDEV = _OrderInRowsOther.ListPriceDEV
.ListPriceHUF = _OrderInRowsOther.ListPriceDEV * _ORI_Invoice_Popup.CurrencyRate
End If
.InvoiceRowtype = eInvoiceRowType.FromOrder
.VAT = _OrderInRowsOther.VAT
.Units = _OrderInRowsOther.Units
.UniqueObjects = _OrderInRowsOther.UniqueObjects
.CostHolder = _OrderInRowsOther.CostHolder
.CostPlace = _OrderInRowsOther.CostPlace
.QualityOption = _OrderInRowsOther.QualityOption
.Description = _OrderInRowsOther.Description
.ShortName = _OrderInRowsOther.ShortName
.CustomsTariffs = _OrderInRowsOther.CustomsTariffs
.RowIndex = _InvoiceHeader.InvoiceRows.Count
End With
Next
End If
_onew.CommitChanges()
_InvoiceHeader.RecalculateInvoice(_InvoiceHeader, _onew)
_onew.CommitChanges()
If _ORI_Invoice_Popup.IsLiquidAssets AndAlso _ORI_Invoice_Popup.PaymentOption.PayMode = ePayMode.InCash And _ORI_Invoice_Popup.IsFinalInvoice Then
CreateGLCassa(_InvoiceHeader, _onew, _ORI_Invoice_Popup)
End If
Application.ShowViewStrategy.ShowMessage("Sikeres tranzakció !", InformationType.Success, 3000, InformationPosition.Bottom)
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
'--==Nyomtatványok==--
''____________________________________________________________________________________________________________________
'Dim _XAFPrintHelper_D As New XAFPrintHelper(_onew, Frame, _DeliveryNoteOutHeader.DeliveryNoteOutType.ReportDataV2, CriteriaOperator.Parse("DeliveryNoteOutHeader.Oid = ?", _DeliveryNoteOutHeader.Oid))
'_XAFPrintHelper_D.ShowPreviewV2()
'Dim _XAFPrintHelper_I As New XAFPrintHelper(_onew, Frame, _InvoiceHeader.InvoiceType.ReportDataV2, CriteriaOperator.Parse("InvoiceHeader.Oid = ?", _InvoiceHeader.Oid))
'_XAFPrintHelper_I.ShowPreviewV2()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Finally
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
End Try
End Sub
Private Sub CreateGLCassa(_InvoiceHeader As InvoiceHeader, _onew As Xpo.XPObjectSpace, _ORI_Invoice_Popup As ORI_Invoice_Popup)
'--== Végszámla esetére pénztári bizonylat ==--
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
Dim _DebitChartOfAccounts As ChartOfAccounts
Dim _CreditChartOfAccounts As ChartOfAccounts
Dim _GLCassa As GLCassa = _onew.CreateObject(Of GLCassa)
Dim _GLRows As GLRows = _onew.CreateObject(Of GLRows)
If _InvoiceHeader.TotalBruttoHUF > 0 Then
_GLCassa.LiquidAssets_Cassa = _onew.GetObject(_ORI_Invoice_Popup.LiquidAssets)
_GLCassa.CashHandler = _InvoiceHeader.Customers.FullName
_GLCassa.CashMoveType = eCashMoveType.eIn
_GLCassa.CurrencyName = _onew.GetObject(_InvoiceHeader.CurrencyName)
_GLCassa.CurrencyRate = 1
_GLCassa.CustomersFrom = _onew.GetObject(_InvoiceHeader.CustomersFrom)
_GLCassa.DateCreated = _InvoiceHeader.DateCreated
_GLCassa.DateExecution = _InvoiceHeader.DateCreated
_GLCassa.DatePayment = _InvoiceHeader.DatePayment
_GLCassa.DocumentNumber = _GLCassa.LiquidAssets_Cassa.NumberGeneratorOut.GetNewNumber(_GLCassa.LiquidAssets_Cassa.NumberGeneratorIn, _InvoiceHeader.DateCreated.Year.ToString)
_GLCassa.GLDocumentType = eGLDocumentType.eGLCassa
_GLCassa.HUNumberToText = _InvoiceHeader.HUNumberToText
_GLCassa.IsEditable = False
_GLRows.InAmountHUF = _InvoiceHeader.TotalBruttoHUF
_GLRows.InAmountDEV = 0
_GLRows.InAmountDEV2 = 0
_GLRows.CurrencyRate2 = 1
_DebitChartOfAccounts = _onew.GetObject(_ORI_Invoice_Popup.LiquidAssets.GetChartOfAccounts(_InvoiceHeader.DateExecution.Year, 0))
_CreditChartOfAccounts = _onew.GetObject(_InvoiceHeader.Customers.CustomersGLParameters.GetChartOfAccounts(_InvoiceHeader.DateExecution.Year, eVATMode.eOut))
_GLRows.CreditAmountHUF = _InvoiceHeader.TotalBruttoHUF
_GLRows.CreditAmountDEV = 0
_GLRows.DebitAmountHUF = 0
_GLRows.DebitAmountDEV = 0
_GLRows.DateVAT = _InvoiceHeader.DateCreated
_GLRows.AddGLRows(_GLCassa, _DebitChartOfAccounts, _CreditChartOfAccounts, 0,
_InvoiceHeader.TotalBruttoHUF, _onew.GetObject(_ORI_Invoice_Popup.LiquidAssets), _onew.GetObject(_InvoiceHeader.Customers),
_InvoiceHeader.DateExecution, Nothing, "", Nothing, Nothing, Nothing, Nothing, Nothing, _InvoiceHeader.DocumentNumber, Nothing,
Guid.NewGuid, eTransactionType.ePartnerCredit, eCashType.ePartner, ePartnerType.eReceivables)
_onew.CommitChanges()
_GLCassa.RecalculateTotal(_GLCassa, _onew, True)
_GLCassa.CreateRoundingRow(_GLCassa, _onew)
_GLCassa.RecalculateTotal(_GLCassa, _onew, True)
_onew.CommitChanges()
If _GLCassa.LiquidAssets_Cassa.ReportData IsNot Nothing Then
Frame.GetController(Of Reports.ReportServiceController).ShowPreview(_GLCassa.LiquidAssets_Cassa.ReportData, CriteriaOperator.Parse("GLHeader.Oid=?", _GLCassa.Oid), True)
End If
ElseIf _InvoiceHeader.TotalBruttoHUF < 0 Then
_GLCassa.LiquidAssets_Cassa = _onew.GetObject(_ORI_Invoice_Popup.LiquidAssets)
_GLCassa.CashHandler = _InvoiceHeader.Customers.FullName
_GLCassa.CashMoveType = eCashMoveType.eOut
_GLCassa.CurrencyName = _onew.GetObject(_InvoiceHeader.CurrencyName)
_GLCassa.CurrencyRate = 1
_GLCassa.CustomersFrom = _onew.GetObject(_InvoiceHeader.CustomersFrom)
_GLCassa.DateCreated = _InvoiceHeader.DateCreated
_GLCassa.DateExecution = _InvoiceHeader.DateCreated
_GLCassa.DatePayment = _InvoiceHeader.DatePayment
_GLCassa.DocumentNumber = _GLCassa.LiquidAssets_Cassa.NumberGeneratorOut.GetNewNumber(_GLCassa.LiquidAssets_Cassa.NumberGeneratorOut, _InvoiceHeader.DateCreated.Year.ToString)
_GLCassa.GLDocumentType = eGLDocumentType.eGLCassa
_GLCassa.HUNumberToText = _InvoiceHeader.HUNumberToText
_GLCassa.IsEditable = False
_GLRows.OutAmountHUF = Math.Abs(_InvoiceHeader.TotalBruttoHUF)
_GLRows.OutAmountDEV = 0
_GLRows.OutAmountDEV2 = 0
_GLRows.CurrencyRate2 = 1
_CreditChartOfAccounts = _onew.GetObject(_ORI_Invoice_Popup.LiquidAssets.GetChartOfAccounts(_InvoiceHeader.DateExecution.Year, 0))
_DebitChartOfAccounts = _onew.GetObject(_InvoiceHeader.Customers.CustomersGLParameters.GetChartOfAccounts(_InvoiceHeader.DateExecution.Year, eVATMode.eOut))
_GLRows.CreditAmountHUF = 0
_GLRows.CreditAmountDEV = 0
_GLRows.DebitAmountHUF = Math.Abs(_InvoiceHeader.TotalBruttoHUF)
_GLRows.DebitAmountDEV = 0
_GLRows.DateVAT = _InvoiceHeader.DateCreated
_GLRows.AddGLRows(_GLCassa, _DebitChartOfAccounts, _CreditChartOfAccounts, 0,
Math.Abs(_InvoiceHeader.TotalBruttoHUF), _onew.GetObject(_ORI_Invoice_Popup.LiquidAssets), _onew.GetObject(_InvoiceHeader.Customers),
_InvoiceHeader.DateExecution, Nothing, "", Nothing, Nothing, Nothing, Nothing, Nothing, _InvoiceHeader.DocumentNumber, Nothing,
Guid.NewGuid, eTransactionType.ePartnerDebit, eCashType.ePartner, ePartnerType.eReceivables)
_onew.CommitChanges()
_GLCassa.RecalculateTotal(_GLCassa, _onew, True)
_GLCassa.CreateRoundingRow(_GLCassa, _onew)
_GLCassa.RecalculateTotal(_GLCassa, _onew, True)
_onew.CommitChanges()
If _GLCassa.LiquidAssets_Cassa.ReportData IsNot Nothing Then
Frame.GetController(Of Reports.ReportServiceController).ShowPreview(_GLCassa.LiquidAssets_Cassa.ReportData, CriteriaOperator.Parse("GLHeader.Oid=?", _GLCassa.Oid), True)
End If
End If
End If
Dim _uow As New UnitOfWork(_onew.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow, _InvoiceHeader.CustomersFrom, _InvoiceHeader.Customers, 0, _InvoiceHeader.ConnectInfo)
End Sub
Private Sub aGenerateInvoicefromOrderIn_Execute(sender As System.Object, e As DevExpress.ExpressApp.Actions.PopupWindowShowActionExecuteEventArgs) Handles aGenerateInvoicefromOrderIn.Execute
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _InvoiceHeader As InvoiceHeader = _ocur.CreateObject(Of InvoiceHeader)()
Dim _OrderInHeader As OrderInHeader = _ocur.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
Dim _CurrencyRate As Double = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).CurrencyRate)
Dim _NG As NumberGenerator
On Error GoTo CheckError
' --- Ellenőrzés, hogy kell-e engedély ! --------------------------------------------------------------------------------------------------
If _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).PaymentOption).PayMode <> ePayMode.InCash Then
If _OrderInHeader.SubjectToApproval(_OrderInHeader, _ocur) And _OrderInHeader.PermissionAllowed = False Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInHeader", "PermissionNotAllowedToCreateInvoice")),
MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
End If
' ---- FEJLÉC ADATOK MEGADÁSA -------------------------------------------------------------------------------------------------------------
_InvoiceHeader.IsProforma = True
_InvoiceHeader.IsEditable = False
_InvoiceHeader.CustomersFrom = _OrderInHeader.CustomersFrom
_InvoiceHeader.Customers = _OrderInHeader.Customers
_InvoiceHeader.InvoiceType = _OrderInHeader.OrderInParameters.InvoiceType
If _InvoiceHeader.InvoiceType.NumberGeneratorProforma IsNot Nothing Then
_NG = _InvoiceHeader.InvoiceType.NumberGeneratorProforma
_InvoiceHeader.DocumentNumberProforma = _NG.GetNewNumber(_NG)
End If
_InvoiceHeader.DateCreated = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).DateCreated)
_InvoiceHeader.DateExecution = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).DateExecution)
_InvoiceHeader.Description = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).Description)
_InvoiceHeader.DescriptionHeader = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).Description_Header)
_InvoiceHeader.BankInformation = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).BankInformation)
_InvoiceHeader.CurrencyName = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).CurrencyName)
_InvoiceHeader.CurrencyRate = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).CurrencyRate)
_InvoiceHeader.PaymentOption = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).PaymentOption)
_InvoiceHeader.DatePaymentMode = _InvoiceHeader.PaymentOption.DatePaymentMode 'Javítva lett
If _InvoiceHeader.PaymentOption.DatePaymentMode = eDatePaymentMode.eDateCreated Then
_InvoiceHeader.DatePayment = _InvoiceHeader.DateCreated.AddDays(_InvoiceHeader.PaymentOption.PayDay)
Else
_InvoiceHeader.DatePayment = _InvoiceHeader.DateExecution.AddDays(_InvoiceHeader.PaymentOption.PayDay)
End If
If _OrderInHeader.OrderInParameters.IsAPCSheet Then _InvoiceHeader.DatePayment = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).DatePayment)
'-- Próbaszámla miatt el kell menteni a tényleges adatokat --------------------------------------------------------
_InvoiceHeader.Saved_Customers_Name = _OrderInHeader.Customers.Name.ToString
_InvoiceHeader.Saved_Customers_Address_Country = _OrderInHeader.Customers.Address1.Country.ToString
_InvoiceHeader.Saved_Customers_Address_ZipPostal = _OrderInHeader.Customers.Address1.ZipPostal.ToString
_InvoiceHeader.Saved_Customers_Address_Street = _OrderInHeader.Customers.Address1.Street.ToString
_InvoiceHeader.Saved_Customers_Address_City = _OrderInHeader.Customers.Address1.City.ToString
_InvoiceHeader.Saved_Customers_Address_StateProvince = _OrderInHeader.Customers.Address1.StateProvince.ToString
_InvoiceHeader.Saved_Customers_VATNumber = _OrderInHeader.Customers.VATNumber.ToString
_InvoiceHeader.Saved_Customers_VATNumberEU = _OrderInHeader.Customers.VATNumberEU.ToString
_InvoiceHeader.Saved_CustomersFrom_Name = _OrderInHeader.CustomersFrom.Name.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_ZipPostal = _OrderInHeader.CustomersFrom.Address1.ZipPostal.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_Street = _OrderInHeader.CustomersFrom.Address1.Street.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_City = _OrderInHeader.CustomersFrom.Address1.City.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_StateProvince = _OrderInHeader.CustomersFrom.Address1.StateProvince.ToString
_InvoiceHeader.Saved_CustomersFrom_VATNumber = _OrderInHeader.CustomersFrom.VATNumber.ToString
_InvoiceHeader.Saved_CustomersFrom_VATNumberEU = _OrderInHeader.CustomersFrom.VATNumberEU.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_ShortName = _InvoiceHeader.BankInformation.FullBankAccount.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_IBAN = _InvoiceHeader.BankInformation.IBAN.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_SWIFT = _InvoiceHeader.BankInformation.SWIFT.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_AccountNumber = _InvoiceHeader.BankInformation.AccountNumber.ToString
_InvoiceHeader.Save()
' ---- FEJLÉC ADATOK MEGADÁSÁNAK VÉGE ----------------------------------------------------------------------------------------------------
'------ A fejléchez tartozó sorok (termék és egyéb típusok) rendezése sorindex alapján ---------------
_OrderInHeader.OrderInRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
_OrderInHeader.OrderInRowsOther.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
'-----------------------------------------------------------------------------------------------------
' A fejléchez tartozó sorok átadása -----------------------------------------------------------------
Dim _InvoiceRows As InvoiceRows
Dim _OrderInRows As OrderInRows
Dim _OrderInRowsOther As OrderInRowsOther
Dim i As Int16 = 0
'----------------------------- Átadjuk az összes termék típusú sort --------------------------------------
For Each _OrderInRows In _OrderInHeader.OrderInRows
If _OrderInRows.QTT_Process > 0 Then
If _OrderInRows.QTT - (_OrderInRows.QTT_Process + _OrderInRows.QTT_Invoiced) >= 0 Then
_InvoiceRows = _ocur.CreateObject(Of InvoiceRows)()
_InvoiceRows.InvoiceHeader = _InvoiceHeader
_InvoiceRows.OrderInRows = _OrderInRows
_InvoiceRows.QTT = _OrderInRows.QTT_Process
_OrderInRows.QTT_Invoiced += _OrderInRows.QTT_Process
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
_InvoiceRows.DiscountPriceHUF = _OrderInRows.DiscountPriceHUF
_InvoiceRows.ListPriceHUF = _OrderInRows.ListPriceHUF
Else
_InvoiceRows.DiscountPriceDEV = _OrderInRows.DiscountPriceDEV
_InvoiceRows.DiscountPriceHUF = _OrderInRows.DiscountPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
_InvoiceRows.ListPriceDEV = _OrderInRows.ListPriceDEV
_InvoiceRows.ListPriceHUF = _OrderInRows.ListPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
End If
_InvoiceRows.InvoiceRowtype = eInvoiceRowType.FromOrder
_InvoiceRows.VAT = _OrderInRows.VAT
_InvoiceRows.Units = _OrderInRows.Products.Units
_InvoiceRows.ShortName = _OrderInRows.Products.ShortName
_InvoiceRows.Description = _OrderInRows.Products.Description
_InvoiceRows.CustomsTariffs = _OrderInRows.Products.CustomsTariff
If _OrderInHeader.OrderInParameters IsNot Nothing Then
If _OrderInHeader.OrderInParameters.Controlling_Rows_Default IsNot Nothing Then
_InvoiceRows.Controlling = _OrderInHeader.OrderInParameters.Controlling_Rows_Default
End If
End If
_InvoiceRows.RowIndex = i
i += 1
End If
End If
Next
'----------------------------- Átadjuk az összes egyéb típusú sort --------------------------------------
For Each _OrderInRowsOther In _OrderInHeader.OrderInRowsOther
If _OrderInRowsOther.QTT_Process <> 0 Then
If _OrderInRowsOther.QTT - (_OrderInRowsOther.QTT_Process + _OrderInRowsOther.QTT_Invoiced) >= 0 Then
_InvoiceRows = _ocur.CreateObject(Of InvoiceRows)()
_InvoiceRows.InvoiceHeader = _InvoiceHeader
_InvoiceRows.OrderInRowsOther = _OrderInRowsOther
_InvoiceRows.QTT = _OrderInRowsOther.QTT_Process
_OrderInRowsOther.QTT_Invoiced += _OrderInRowsOther.QTT_Process
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
_InvoiceRows.DiscountPriceHUF = _OrderInRowsOther.DiscountPriceHUF
_InvoiceRows.ListPriceHUF = _OrderInRowsOther.ListPriceHUF
Else
_InvoiceRows.DiscountPriceDEV = _OrderInRowsOther.DiscountPriceDEV
_InvoiceRows.DiscountPriceHUF = _OrderInRowsOther.DiscountPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
_InvoiceRows.ListPriceDEV = _OrderInRowsOther.ListPriceDEV
_InvoiceRows.ListPriceHUF = _OrderInRowsOther.ListPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
End If
_InvoiceRows.InvoiceRowtype = eInvoiceRowType.FromOrder
_InvoiceRows.VAT = _OrderInRowsOther.VAT
_InvoiceRows.Units = _OrderInRowsOther.Units
_InvoiceRows.UniqueObjects = _OrderInRowsOther.UniqueObjects
_InvoiceRows.CostHolder = _OrderInRowsOther.CostHolder
_InvoiceRows.CostPlace = _OrderInRowsOther.CostPlace
_InvoiceRows.QualityOption = _OrderInRowsOther.QualityOption
_InvoiceRows.Description = _OrderInRowsOther.Description
_InvoiceRows.ShortName = _OrderInRowsOther.ShortName
_InvoiceRows.CustomsTariffs = _OrderInRowsOther.CustomsTariffs
If _OrderInHeader.OrderInParameters IsNot Nothing Then
If _OrderInHeader.OrderInParameters.Controlling_OtherRows_Default IsNot Nothing Then
_InvoiceRows.Controlling = _OrderInHeader.OrderInParameters.Controlling_OtherRows_Default
End If
End If
_InvoiceRows.RowIndex = i
i += 1
End If
End If
Next
If _OrderInHeader.OrderInRows.Count = 0 And _OrderInHeader.OrderInRowsOther.Count = 0 Then
' --------------------- TESZT MIATT!!! ------------------------------------------------------------------------------------
Throw New UserFriendlyException("Nincs egy sor sem a kiválasztott bejövő megrendelés fejlécén, így nem készül el a számla!")
End If
_ocur.CommitChanges()
_InvoiceHeader.RecalculateInvoice(_InvoiceHeader, _ocur)
_ocur.CommitChanges()
Exit Sub
CheckError:
If Err.Number = 91 Then Resume Next
If Err.Number = 13 Then Resume Next
If Err.Number = 5 Then Throw New UserFriendlyException(Err.Description)
End Sub
#End Region
#Region "Kitárolások fül"
Private Sub aORI_Storno_StorageOut_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aORI_Storno_StorageOut.Execute
'// Kitárolás stornó
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
Try
' Ellenőrzések
'__________________________________________________________________________
Dim _OrderInHeader As OrderInHeader = _onew.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
If _OrderInHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _StorageOutRowsInRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("StorageOutRowsInRows")
If _StorageOutRowsInRows_ListEditor Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _StorageOutRowsInRows_ListEditor.ListView.SelectedObjects.Count = 0 Then Throw New Exception("*nincs kijelölve egyetlen kitárolási sor sem!")
Dim _StorageOutRowsInRowsError As New ArrayList
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_ListEditor.ListView.SelectedObjects
If _StorageOutRowsInRows.QTT_To_DeliveryOut > 0 Then _StorageOutRowsInRowsError.Add(_StorageOutRowsInRows)
If _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.IsStorno = True Then _StorageOutRowsInRowsError.Add(_StorageOutRowsInRows)
Next
If _StorageOutRowsInRowsError.Count > 0 Then
Dim _ErrorMessage As String = "Probléma merült fel a következő kitárolásokkal:" + vbNewLine
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRowsError
_ErrorMessage += _StorageOutRowsInRows.StorageOutRows.RowIndex.ToString + " " + _StorageOutRowsInRows.StorageOutRows.Products.ShortName _
+ " " + _StorageOutRowsInRows.StorageOutRows.QTT.ToString + vbNewLine
Next
_ErrorMessage += "Kérem, ellenőrizze!"
Throw New Exception(_ErrorMessage)
End If
' Kitárolás fejléc kollekció
'__________________________________________________________________________
Dim _StorageOutHeader_Collection As New ArrayList
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_ListEditor.ListView.SelectedObjects
If _StorageOutHeader_Collection.Count = 0 Then
_StorageOutHeader_Collection.Add(_StorageOutRowsInRows.StorageOutRows.StorageOutHeader)
Else
Dim _IsNeed As Boolean = True
For Each _StorageOutHeader As StorageOutHeader In _StorageOutHeader_Collection
If _StorageOutHeader.Oid = _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.Oid Then _IsNeed = False
Next
If _IsNeed Then _StorageOutHeader_Collection.Add(_StorageOutRowsInRows.StorageOutRows.StorageOutHeader)
End If
Next
' Kitárolás(ok) stornózása
'__________________________________________________________________________
If _StorageOutHeader_Collection.Count > 0 Then
' StorageComputed zárolás
'__________________________________________________________________________
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
Exit Sub
Else
For Each _StorageOutHeader As StorageOutHeader In _StorageOutHeader_Collection
Dim _StorageOutHeaderNew As New StorageOutHeader(_onew.Session)
With _StorageOutHeaderNew
.ConnectInfo = _StorageOutHeader.DocumentNumber
.Storage = _onew.GetObject(_StorageOutHeader.Storage)
.StorageMoveType = _onew.GetObject(_StorageOutHeader.StorageMoveType)
.CustomersFrom = _onew.GetObject(_StorageOutHeader.CustomersFrom)
.Customers = _onew.GetObject(_StorageOutHeader.Customers)
.Active = False
.IsStorno = True
.IsEditable = False
End With
_StorageOutHeader = _onew.GetObject(_StorageOutHeader)
_StorageOutHeader.IsEditable = False
_StorageOutHeader.IsStorno = True
_StorageOutHeader.Active = False
For Each _StorageOutRows As StorageOutRows In _StorageOutHeader.StorageOutRows
Dim _StorageOutRowsNew As New StorageOutRows(_onew.Session)
With _StorageOutRowsNew
.RowIndex = _StorageOutRows.RowIndex
.StorageOutHeader = _StorageOutHeaderNew
.StorageComputed = _onew.GetObject(_StorageOutRows.StorageComputed)
.OrderInRows = _onew.GetObject(_StorageOutRows.OrderInRows)
.QTT = _StorageOutRows.QTT * (-1)
.QTT_Will = 0
.QTT_To_DeliveryOut = 0
.Products = _onew.GetObject(_StorageOutRows.Products)
.OnStorno = True
End With
'----Vissza raktárba + mozgástábla
'____________________________________________________
Dim _StorageOutRowsInRows_Collection As New XPCollection(Of StorageOutRowsInRows)(PersistentCriteriaEvaluationBehavior.InTransaction, _onew.Session,
CriteriaOperator.Parse("StorageOutRows=?", _onew.GetObject(_StorageOutRows)))
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
Dim _StorageComputed As StorageComputed = _onew.FindObject(Of StorageComputed)(CriteriaOperator.Parse("Storage=? AND Products=?", _onew.GetObject(_StorageOutHeader.Storage), _onew.GetObject(_StorageOutRows.Products)))
Dim _StorageMoveEvents_Collection As New XPCollection(Of StorageMoveEvents)(_onew.Session, CriteriaOperator.Parse("StorageInRows=? AND StorageOutRows=?",
_onew.GetObject(_StorageOutRowsInRows.StorageInRows), _onew.GetObject(_StorageOutRows)))
_StorageMoveEvents_Collection.Sorting.Add(New SortProperty("ObjectCreated", DB.SortingDirection.Descending))
_StorageComputed.QTTFree += _StorageOutRowsInRows.QTT
Dim _StorageOutRowsInRowsNew As New StorageOutRowsInRows(_onew.Session)
With _StorageOutRowsInRowsNew
.StorageInRows = _StorageOutRowsInRows.StorageInRows
.StorageOutRows = _StorageOutRowsNew
.QTT = _StorageOutRowsInRows.QTT * (-1)
.QTT_Will = 0
.QTT_To_DeliveryOut = 0
.StorageInRows.QTT_Out -= _StorageOutRowsInRows.QTT
End With
If _StorageOutRowsInRows.StorageOutRows.OrderInRows IsNot Nothing Then
_StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT_Storaged -= _StorageOutRowsInRows.QTT
End If
Dim _StorageMoveEvents As New StorageMoveEvents(_onew.Session)
_StorageMoveEvents.QTT = _StorageOutRowsInRows.QTT
_StorageMoveEvents.StorageOutRows = _onew.GetObject(_StorageOutRows)
_StorageMoveEvents.StorageInRows = _onew.GetObject(_StorageOutRowsInRows.StorageInRows)
_StorageMoveEvents.QTT_Free_Before = _StorageMoveEvents_Collection(0).QTT_Free_After
_StorageMoveEvents.QTT_Free_After = _StorageMoveEvents.QTT_Free_Before + _StorageMoveEvents.QTT
_StorageMoveEvents.MoveEventsType = eMoveEventsType.StorageOutStorno
_StorageMoveEvents.ExecutionDate = GetSQLTime(_onew.Session)
_StorageOutRows.QTT = 0
Next
Next
Next
End If
End If
_onew.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Finally
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
End Try
End Sub
Private Sub aORI_Create_Delivery_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_Create_Delivery.Execute
'// Kitárolásról szállítólevél készítése
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _uow_lock As New UnitOfWork(_onew.Session.DataLayer)
Dim _User As User = _onew.GetObject(TryCast(SecuritySystem.CurrentUser, User))
Try
Dim _OrderInHeader As OrderInHeader = _onew.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
If _OrderInHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _DeliveryNoteView As DeliveryNoteView = TryCast(e.PopupWindow.View.SelectedObjects(0), DeliveryNoteView)
If _DeliveryNoteView Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _StorageOutRowsInRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("StorageOutRowsInRows")
If _StorageOutRowsInRows_ListEditor Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _StorageOutRowsInRows_Collection As New ArrayList
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _OrderInHeader.StorageOutRowsInRows
If _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.IsStorno = False Then
If _StorageOutRowsInRows.QTT_Will > 0 Then
If _StorageOutRowsInRows_Collection.Count = 0 Then
_StorageOutRowsInRows_Collection.Add(_StorageOutRowsInRows)
Else
Dim _IsNeed As Boolean = True
For Each _StorageOutRowsInRowsInCollection As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
If _StorageOutRowsInRows.Oid = _StorageOutRowsInRowsInCollection.Oid Then _IsNeed = False
Next
If _IsNeed Then _StorageOutRowsInRows_Collection.Add(_StorageOutRowsInRows)
End If
End If
End If
Next
If _StorageOutRowsInRows_Collection.Count = 0 Then Throw New Exception("*Nincs egyetlen olyan kitárolás sem kijelölve, amelyről kiszállítást lehetne készíteni" + vbNewLine +
"Ez abban az esetben fordulhat elő, ha a kiszállítási szándék érétke nulla." + vbNewLine + "Kérem, ellenőrizze!")
'--==Zárolás==--
'____________________________________________________________________________________________________________________
If Not LockingModule.LockObject(_uow_lock, GetType(StorageComputed), "-", _User) Then
Dim _LockingObject As LockingObject = _onew.FindObject(Of LockingObject)(CriteriaOperator.Parse("TableName=?", GetType(StorageComputed).Name + "-" + "-"))
Dim _Prompt As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\StorageComputed", "CanNotStorageInByLocking")
Dim _Title As String = DevExpress.ExpressApp.Utils.CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxError")
MsgBox(String.Format(_Prompt, _LockingObject.User.FullName, _LockingObject.ObjectCreated), MsgBoxStyle.Information + MsgBoxStyle.OkOnly, _Title)
Exit Sub
Else
Dim _DeliveryNoteOutHeader As New DeliveryNoteOutHeader(_onew.Session)
With _DeliveryNoteOutHeader
.CurrencyName = _onew.GetObject(_DeliveryNoteView.CurrencyName)
.Customers = _onew.GetObject(_DeliveryNoteView.Customers)
.CustomersFrom = _onew.GetObject(_DeliveryNoteView.CustomersFrom)
.DateCreated = GetSQLTime(_onew.Session)
.DateExecution = _onew.GetObject(_DeliveryNoteView.DateExecution)
.Note = _onew.GetObject(_DeliveryNoteView.Note)
.QualityOption = _onew.GetObject(_DeliveryNoteView.QualityOption)
.ShipmentOption = _onew.GetObject(_DeliveryNoteView.ShipmentOption)
.TransportAddress = _onew.GetObject(_DeliveryNoteView.TransportAddress)
.DeliveryNoteOutType = _onew.GetObject(_DeliveryNoteView.DeliveryNoteOutType)
.IsEditable = False
End With
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _OrderInHeader.StorageOutRowsInRows
If _StorageOutRowsInRows.QTT_Will > 0 Then
Dim _DeliveryNoteOutRows As New DeliveryNoteOutRows(_onew.Session)
With _DeliveryNoteOutRows
.DeliveryNoteOutHeader = _DeliveryNoteOutHeader
.RowIndex = _DeliveryNoteOutHeader.DeliveryNoteOutRows.Count
.QTT = _StorageOutRowsInRows.QTT_Will
.StorageOutRowsInRows = _onew.GetObject(_StorageOutRowsInRows)
End With
Dim _QTT_Will_Orig As Double = _StorageOutRowsInRows.QTT_Will
_StorageOutRowsInRows = _onew.GetObjectByKey(Of StorageOutRowsInRows)(_StorageOutRowsInRows.Oid)
_StorageOutRowsInRows.QTT_To_DeliveryOut += _QTT_Will_Orig
_StorageOutRowsInRows.QTT_Will = 0
Dim _OrderInRows As OrderInRows = _onew.GetObjectByKey(Of OrderInRows)(_StorageOutRowsInRows.StorageOutRows.OrderInRows.Oid)
_OrderInRows.QTT_DeliveryNoted += _QTT_Will_Orig
End If
Next
_onew.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Finally
LockingModule.UnLockObject(_uow_lock, GetType(StorageComputed), "-", _User)
End Try
End Sub
Private Sub aORI_Create_DeliveryInvoice_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_Create_DeliveryInvoice.Execute
'// Kitárolt tételekről szállítólevél és számla
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
'--==Ellenőrzések==--
Dim _OrderInHeader As OrderInHeader = _onew.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
If _OrderInHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _StorageOutRowsInRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("StorageOutRowsInRows")
If _StorageOutRowsInRows_ListEditor Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _StorageOutRowsInRows_ListEditor.ListView.SelectedObjects.Count = 0 Then Throw New Exception("*nincs kijelölve egyetlen kitárolási sor sem!")
Dim _ORI_Invoice_Popup As ORI_Invoice_Popup = _onew.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup))
' --- Ellenőrzés, hogy kell-e engedély ! --------------------------------------------------------------------------------------------------
If _onew.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).PaymentOption).PayMode <> ePayMode.InCash Then
If _OrderInHeader.SubjectToApproval(_OrderInHeader, _onew) And _OrderInHeader.PermissionAllowed = False Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInHeader", "PermissionNotAllowedToCreateInvoice")),
MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
End If
Dim _StorageOutRowsInRows_Collection As New ArrayList
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _OrderInHeader.StorageOutRowsInRows
If _StorageOutRowsInRows.StorageOutRows.StorageOutHeader.IsStorno = False Then
If _StorageOutRowsInRows.QTT_Will > 0 Then
If _StorageOutRowsInRows_Collection.Count = 0 Then
_StorageOutRowsInRows_Collection.Add(_StorageOutRowsInRows)
Else
Dim _IsNeed As Boolean = True
For Each _StorageOutRowsInRowsInCollection As StorageOutRowsInRows In _StorageOutRowsInRows_Collection
If _StorageOutRowsInRows.Oid = _StorageOutRowsInRowsInCollection.Oid Then _IsNeed = False
Next
If _IsNeed Then _StorageOutRowsInRows_Collection.Add(_StorageOutRowsInRows)
End If
End If
End If
Next
If _StorageOutRowsInRows_Collection.Count = 0 Then Throw New Exception("*Nincs egyetlen olyan kitárolás sem kijelölve, amelyről kiszállítást lehetne készíteni" + vbNewLine +
"Ez abban az esetben fordulhat elő, ha a kiszállítási szándék érétke nulla." + vbNewLine + "Kérem, ellenőrizze!")
'--==Szállítólevél==--
'____________________________________________________________________________________________________________________
Dim _DeliveryNoteOutHeader As New DeliveryNoteOutHeader(_onew.Session)
With _DeliveryNoteOutHeader
.CurrencyName = _onew.GetObject(_ORI_Invoice_Popup.CurrencyName)
.Customers = _onew.GetObject(_ORI_Invoice_Popup.Customers)
.CustomersFrom = _onew.GetObject(_ORI_Invoice_Popup.CustomersFrom)
.DateCreated = GetSQLTime(_onew.Session)
.DateExecution = _onew.GetObject(_ORI_Invoice_Popup.DateExecution)
.Note = _onew.GetObject(_ORI_Invoice_Popup.Description)
.QualityOption = _onew.GetObject(_ORI_Invoice_Popup.QualityOption)
.ShipmentOption = _onew.GetObject(_ORI_Invoice_Popup.ShipmentOption)
.TransportAddress = _onew.GetObject(_ORI_Invoice_Popup.TransportAddress)
.DeliveryNoteOutType = _onew.GetObject(_ORI_Invoice_Popup.DeliveryNoteOutType)
End With
For Each _StorageOutRowsInRows As StorageOutRowsInRows In _OrderInHeader.StorageOutRowsInRows
If _StorageOutRowsInRows.QTT_Will > 0 Then
Dim _DeliveryNoteOutRows As New DeliveryNoteOutRows(_onew.Session)
With _DeliveryNoteOutRows
.DeliveryNoteOutHeader = _DeliveryNoteOutHeader
.RowIndex = _DeliveryNoteOutHeader.DeliveryNoteOutRows.Count
.QTT = _StorageOutRowsInRows.QTT_Will
.StorageOutRowsInRows = _onew.GetObject(_StorageOutRowsInRows)
End With
Dim _QTT_Will_Orig = _StorageOutRowsInRows.QTT_Will
_StorageOutRowsInRows.QTT_To_DeliveryOut += _QTT_Will_Orig
_StorageOutRowsInRows.QTT_Will = 0
Dim _OrderInRows As OrderInRows = _onew.GetObjectByKey(Of OrderInRows)(_StorageOutRowsInRows.StorageOutRows.OrderInRows.Oid)
_OrderInRows.QTT_DeliveryNoted += _QTT_Will_Orig
End If
Next
'--==Szállítólevél véglegesítés==--
'____________________________________________________________________________________________________________________
_DeliveryNoteOutHeader.IsEditable = False
'--==Számla==--
'____________________________________________________________________________________________________________________
Dim _InvoiceHeader As New InvoiceHeader(_onew.Session)
With _InvoiceHeader
.InvoiceType = _onew.GetObjectByKey(Of InvoiceType)(_ORI_Invoice_Popup.InvoiceType.Oid)
.CustomersFrom = _onew.GetObjectByKey(Of CustomersFrom)(_ORI_Invoice_Popup.CustomersFrom.Oid)
.Customers = _onew.GetObjectByKey(Of Customers)(_ORI_Invoice_Popup.Customers.Oid)
.DateCreated = _ORI_Invoice_Popup.DateCreated
.DateExecution = _ORI_Invoice_Popup.DateExecution
.DatePayment = _ORI_Invoice_Popup.DatePayment
.PaymentOption = _onew.GetObjectByKey(Of PaymentOption)(_ORI_Invoice_Popup.PaymentOption.Oid)
.DatePaymentMode = .PaymentOption.DatePaymentMode
.ShipmentOption = _onew.GetObjectByKey(Of ShipmentOption)(_ORI_Invoice_Popup.ShipmentOption.Oid)
.CurrencyName = _onew.GetObjectByKey(Of CurrencyName)(_ORI_Invoice_Popup.CurrencyName.Oid)
If .PaymentOption.PayMode = ePayMode.InCash Then
Else
.BankInformation = _onew.GetObjectByKey(Of BankInformation)(_ORI_Invoice_Popup.BankInformation.Oid)
End If
.Description = _ORI_Invoice_Popup.Description
InvoiceHeaderSavedSettings(_InvoiceHeader)
If .PaymentOption.PayMode = ePayMode.InContinuous Then
.DatePayment = _InvoiceHeader.DateExecution
Else
If _ORI_Invoice_Popup.IsAPCSheet Then
Else
If .PaymentOption.DatePaymentMode = eDatePaymentMode.eDateCreated Then
.DatePayment = _InvoiceHeader.DateCreated.AddDays(_InvoiceHeader.PaymentOption.PayDay)
Else
.DatePayment = _InvoiceHeader.DateExecution.AddDays(_InvoiceHeader.PaymentOption.PayDay)
End If
End If
End If
If .InvoiceType.NumberGeneratorProforma IsNot Nothing Then
_InvoiceHeader.DocumentNumberProforma = _InvoiceHeader.InvoiceType.NumberGeneratorProforma.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGeneratorProforma)
End If
End With
'--==Végszámla / Proforma számal ==--
'____________________________________________________________________________________________________________________
If _ORI_Invoice_Popup.IsFinalInvoice Then
_InvoiceHeader.IsEditable = False
_InvoiceHeader.IsProforma = False
_InvoiceHeader.IsStorno = False
_InvoiceHeader.ConnectInfo = _InvoiceHeader.InvoiceType.NumberGenerator.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGenerator)
_InvoiceHeader.DocumentNumber = _InvoiceHeader.ConnectInfo
If _ORI_Invoice_Popup.PaymentOption.PayMode = ePayMode.InCash Then
If _ORI_Invoice_Popup.IsLiquidAssets Then
End If
End If
Else
_InvoiceHeader.IsEditable = False
_InvoiceHeader.IsProforma = True
_InvoiceHeader.IsStorno = False
_InvoiceHeader.ConnectInfo = _InvoiceHeader.InvoiceType.NumberGeneratorProforma.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGeneratorProforma)
End If
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _DeliveryNoteOutHeader.DeliveryNoteOutRows
Dim _InvoiceRows As New InvoiceRows(_onew.Session)
With _InvoiceRows
.InvoiceHeader = _InvoiceHeader
.RowIndex = _InvoiceHeader.InvoiceRows.Count
.OrderInRows = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows)
.InvoiceRowtype = eInvoiceRowType.FromOrder
.DiscountPriceDEV = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceDEV
.DiscountPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceHUF
.ListPriceDEV = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceDEV
.ListPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceHUF
.QTT = _DeliveryNoteOutRows.QTT
.QualityOption = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.QualityOption)
.ShortName = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.ProductNumber + vbNewLine +
_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.ShortName
.Units = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.Units)
.VAT = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.VAT)
.Description = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Description
.CustomsTariffs = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.CustomsTariff)
.DeliveryNoteOutRows = _onew.GetObject(_DeliveryNoteOutRows)
If _OrderInHeader.OrderInParameters IsNot Nothing Then
If _OrderInHeader.OrderInParameters.Controlling_Rows_Default IsNot Nothing Then
.Controlling = _OrderInHeader.OrderInParameters.Controlling_Rows_Default
End If
End If
End With
Dim _QTT_Will_Orig As Double = _DeliveryNoteOutRows.QTT
_DeliveryNoteOutRows = _DeliveryNoteOutRows
_DeliveryNoteOutRows.QTT_Invoiced += _QTT_Will_Orig
_DeliveryNoteOutRows.QTT_Will = 0
Dim _OrderInRows As OrderInRows = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows)
_OrderInRows.QTT_Invoiced += _QTT_Will_Orig
Next
If _OrderInHeader.OrderInRowsOther.Count > 0 Then
For Each _OrderInRowsOther As OrderInRowsOther In _OrderInHeader.OrderInRowsOther
If _OrderInRowsOther.QTT_Process > 0 Then
Dim _InvoiceRows As New InvoiceRows(_onew.Session)
With _InvoiceRows
.InvoiceHeader = _InvoiceHeader
.OrderInRowsOther = _OrderInRowsOther
.QTT = _OrderInRowsOther.QTT_Process
_OrderInRowsOther.QTT_Invoiced += _OrderInRowsOther.QTT_Process
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
.DiscountPriceHUF = _OrderInRowsOther.DiscountPriceHUF
.ListPriceHUF = _OrderInRowsOther.ListPriceHUF
Else
.DiscountPriceDEV = _OrderInRowsOther.DiscountPriceDEV
.DiscountPriceHUF = _OrderInRowsOther.DiscountPriceDEV * _ORI_Invoice_Popup.CurrencyRate
.ListPriceDEV = _OrderInRowsOther.ListPriceDEV
.ListPriceHUF = _OrderInRowsOther.ListPriceDEV * _ORI_Invoice_Popup.CurrencyRate
End If
.InvoiceRowtype = eInvoiceRowType.FromOrder
.VAT = _OrderInRowsOther.VAT
.Units = _OrderInRowsOther.Units
.UniqueObjects = _OrderInRowsOther.UniqueObjects
.CostHolder = _OrderInRowsOther.CostHolder
.CostPlace = _OrderInRowsOther.CostPlace
.QualityOption = _OrderInRowsOther.QualityOption
.Description = _OrderInRowsOther.Description
.ShortName = _OrderInRowsOther.ShortName
.CustomsTariffs = _OrderInRowsOther.CustomsTariffs
.RowIndex = _InvoiceHeader.InvoiceRows.Count
End With
End If
Next
End If
_onew.CommitChanges()
_InvoiceHeader.RecalculateInvoice(_InvoiceHeader, _onew)
_onew.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
#End Region
#Region "Kiszállítások fül"
Private Sub aORI_Storno_DeliveryNoteOut_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aORI_Storno_DeliveryNoteOut.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ORI_Storno_DeliveryNoteOut_PopUp As New ORI_Storno_DeliveryNoteOut_PopUp(_onew.Session)
e.View = Application.CreateDetailView(_onew, "ORI_Storno_DeliveryNoteOut_PopUp_DetailView", False, _ORI_Storno_DeliveryNoteOut_PopUp)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_Storno_DeliveryNoteOut_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_Storno_DeliveryNoteOut.Execute
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = _onew.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
If _OrderInHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _ORI_Storno_DeliveryNoteOut_PopUp As ORI_Storno_DeliveryNoteOut_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Storno_DeliveryNoteOut_PopUp)
If _ORI_Storno_DeliveryNoteOut_PopUp Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _DeliveryNoteOutRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("DeliveryNoteOutRows")
If _DeliveryNoteOutRows_ListEditor Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _DeliveryNoteOutRows_ListEditor.ListView.SelectedObjects.Count = 0 Then Throw New Exception("*Nincs kijelölve egyetlen kitárolási sor sem!")
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _DeliveryNoteOutRows_ListEditor.ListView.SelectedObjects
If _DeliveryNoteOutRows.QTT_Invoiced > 0 Then Throw New Exception("*A kiválaszott kiszállítási sorok közt szerepel olyan, melyről készült számal!" _
+ vbNewLine + "Számlázott kiszállítás stornózása nem lehetséges!" + vbNewLine + vbNewLine + "Kérem, ellenőrizze!")
If _DeliveryNoteOutRows.DeliveryNoteOutHeader.IsStorno = True Then Throw New Exception("*A kiválaszott kiszállítási sor már stornózva lett!" + vbNewLine + "Kérem, ellenőrizze!")
Next
Dim _DeliveryNoteOutHeader_Collection As New ArrayList
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _DeliveryNoteOutRows_ListEditor.ListView.SelectedObjects
If _DeliveryNoteOutHeader_Collection.Count = 0 Then
_DeliveryNoteOutHeader_Collection.Add(_onew.GetObjectByKey(Of DeliveryNoteOutHeader)(_DeliveryNoteOutRows.DeliveryNoteOutHeader.Oid))
Else
Dim _IsNeed As Boolean = True
For Each _DeliveryNoteOutHeader As DeliveryNoteOutHeader In _DeliveryNoteOutHeader_Collection
If _DeliveryNoteOutRows.DeliveryNoteOutHeader.Oid = _DeliveryNoteOutHeader.Oid Then _IsNeed = False
Next
If _IsNeed Then _DeliveryNoteOutHeader_Collection.Add(_onew.GetObjectByKey(Of DeliveryNoteOutHeader)(_DeliveryNoteOutRows.DeliveryNoteOutHeader.Oid))
End If
Next
Dim _StorageOutHeader_Collection As New ArrayList
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _DeliveryNoteOutRows_ListEditor.ListView.SelectedObjects
If _StorageOutHeader_Collection.Count = 0 Then
_StorageOutHeader_Collection.Add(_onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.StorageOutHeader))
Else
Dim _IsNeed As Boolean = True
For Each _StorageOutHeader As StorageOutHeader In _StorageOutHeader_Collection
If _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.StorageOutHeader.Oid = _StorageOutHeader.Oid Then _IsNeed = False
Next
If _IsNeed Then _StorageOutHeader_Collection.Add(_onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.StorageOutHeader.Oid))
End If
Next
If _DeliveryNoteOutHeader_Collection.Count = 0 Then Throw New Exception("*A kiválaszott kiszállítási sorok közt nem szerepel olyan, melyet stornózni lehetne!" _
+ vbNewLine + vbNewLine + "Kérem, ellenőrizze!")
Dim _DeliveryNoteOutHeaderNew_Collection As New ArrayList
Dim _StorageOutHeaderNew_Collection As New ArrayList
Select Case _ORI_Storno_DeliveryNoteOut_PopUp.ORIStornoDeliveryNoteOutType
Case eORIStornoDeliveryNoteOutType.eStornoDeliveryNoteOut
StornoDeliveryNoteOut(_onew, _DeliveryNoteOutHeader_Collection, _DeliveryNoteOutHeaderNew_Collection)
If _DeliveryNoteOutHeaderNew_Collection.Count = 0 Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Case eORIStornoDeliveryNoteOutType.eStornoDeliveryNoteOutStorageOut
StornoDeliveryNoteOutStorageOut(_onew, _DeliveryNoteOutHeader_Collection, _StorageOutHeader_Collection, _DeliveryNoteOutHeaderNew_Collection, _StorageOutHeaderNew_Collection)
If _DeliveryNoteOutHeaderNew_Collection.Count = 0 Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _StorageOutHeaderNew_Collection.Count = 0 Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
End Select
_onew.CommitChanges()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_Create_Invoice_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_Create_Invoice.Execute
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = _onew.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
Dim _ORI_Invoice_Popup As ORI_Invoice_Popup = TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup)
' --- Ellenőrzés, hogy kell-e engedély ! --------------------------------------------------------------------------------------------------
If _onew.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).PaymentOption).PayMode <> ePayMode.InCash Then
If _OrderInHeader.SubjectToApproval(_OrderInHeader, _onew) And _OrderInHeader.PermissionAllowed = False Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInHeader", "PermissionNotAllowedToCreateInvoice")),
MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
End If
Dim _DeliveryNoteOutRows_Error As New ArrayList
_OrderInHeader.DeliveryNoteOutRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _OrderInHeader.DeliveryNoteOutRows
If _DeliveryNoteOutRows.QTT_Will > 0 Then
If (_DeliveryNoteOutRows.QTT < (_DeliveryNoteOutRows.QTT_Will + _DeliveryNoteOutRows.QTT_Invoiced)) Then _
_DeliveryNoteOutRows_Error.Add(_DeliveryNoteOutRows)
End If
Next
If _DeliveryNoteOutRows_Error.Count > 0 Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows", "TooMutchQuantityInOrderIn"),
_DeliveryNoteOutRows_Error(0).RowIndex,
_DeliveryNoteOutRows_Error(0).QTT_Will + _DeliveryNoteOutRows_Error(0).QTT_Invoiced,
_DeliveryNoteOutRows_Error(0).QTT),
MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
Dim _DeliveryNoteOutRows_Collection As New ArrayList
_OrderInHeader.DeliveryNoteOutRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _OrderInHeader.DeliveryNoteOutRows
If _DeliveryNoteOutRows.QTT_Will > 0 Then
If _DeliveryNoteOutRows_Collection.Count = 0 Then
_DeliveryNoteOutRows_Collection.Add(_DeliveryNoteOutRows)
Else
Dim _IsNeed As Boolean = True
For Each _DeliveryNoteOutRowsInCollection As DeliveryNoteOutRows In _DeliveryNoteOutRows_Collection
If _DeliveryNoteOutRows.Oid = _DeliveryNoteOutRowsInCollection.Oid Then _IsNeed = False
Next
If _IsNeed Then _DeliveryNoteOutRows_Collection.Add(_DeliveryNoteOutRows)
End If
End If
Next
If _DeliveryNoteOutRows_Collection.Count = 0 Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInRows", "NoSelectionforInvoice")),
MsgBoxStyle.Information + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
Dim _InvoiceHeader As New InvoiceHeader(_onew.Session)
With _InvoiceHeader
.InvoiceType = _onew.GetObjectByKey(Of InvoiceType)(_ORI_Invoice_Popup.InvoiceType.Oid)
.CustomersFrom = _onew.GetObjectByKey(Of CustomersFrom)(_ORI_Invoice_Popup.CustomersFrom.Oid)
.Customers = _onew.GetObjectByKey(Of Customers)(_ORI_Invoice_Popup.Customers.Oid)
.DateCreated = _ORI_Invoice_Popup.DateCreated
.DateExecution = _ORI_Invoice_Popup.DateExecution
.PaymentOption = _onew.GetObjectByKey(Of PaymentOption)(_ORI_Invoice_Popup.PaymentOption.Oid)
.DatePaymentMode = .PaymentOption.DatePaymentMode 'Javítva lett
.ShipmentOption = _onew.GetObjectByKey(Of ShipmentOption)(_OrderInHeader.ShipmentOption.Oid)
.CurrencyName = _onew.GetObjectByKey(Of CurrencyName)(_ORI_Invoice_Popup.CurrencyName.Oid)
_InvoiceHeader.CurrencyRate = _ORI_Invoice_Popup.CurrencyRate
If .PaymentOption.PayMode = ePayMode.InCash Then
Else
.BankInformation = _onew.GetObjectByKey(Of BankInformation)(_ORI_Invoice_Popup.BankInformation.Oid)
End If
.Description = _ORI_Invoice_Popup.Description
InvoiceHeaderSavedSettings(_InvoiceHeader)
If .PaymentOption.PayMode = ePayMode.InContinuous Then
.DatePayment = _InvoiceHeader.DateExecution
Else
If _ORI_Invoice_Popup.IsAPCSheet Then
.DatePayment = _ORI_Invoice_Popup.DatePayment
Else
If .PaymentOption.DatePaymentMode = eDatePaymentMode.eDateCreated Then
.DatePayment = _InvoiceHeader.DateCreated.AddDays(_InvoiceHeader.PaymentOption.PayDay)
Else
.DatePayment = _InvoiceHeader.DateExecution.AddDays(_InvoiceHeader.PaymentOption.PayDay)
End If
End If
End If
End With
If _ORI_Invoice_Popup.IsFinalInvoice Then
_InvoiceHeader.IsEditable = False
_InvoiceHeader.IsProforma = False
_InvoiceHeader.IsStorno = False
_InvoiceHeader.ConnectInfo = _InvoiceHeader.InvoiceType.NumberGenerator.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGenerator)
_InvoiceHeader.DocumentNumber = _InvoiceHeader.ConnectInfo
If _ORI_Invoice_Popup.PaymentOption.PayMode = ePayMode.InCash Then
If _ORI_Invoice_Popup.IsLiquidAssets Then
'Dim _GLCassa As New GLCassa(_onew.Session)
'With _GLCassa
' .CustomersFrom = _onew.GetObjectByKey(Of CustomersFrom)(_ORI_Invoice_Popup.CustomersFrom.Oid)
' .LiquidAssets_Cassa = _onew.GetObjectByKey(Of LiquidAssets)(_ORI_Invoice_Popup.LiquidAssets.Oid)
' .CashMoveType = eCashMoveType.eIn
' .CashHandler = _ORI_Invoice_Popup.Customers.FullName.ToString()
' .DateExecution = _onew.GetObjectByKey(Of Date)(_ORI_Invoice_Popup.DateExecution)
' .DateCreated = _onew.GetObjectByKey(Of Date)(_ORI_Invoice_Popup.DateCreated)
' .NoteHeader = "SZLA.BEFIZ"
' _GLCassa.Save()
'End With
'Dim _GLRows As New GLRows(_onew.Session)
'With _GLRows
' .GLHeader = _onew.GetObjectByKey(Of GLCassa)(_GLCassa.Oid)
'End With
End If
End If
Else
_InvoiceHeader.IsEditable = False
_InvoiceHeader.IsProforma = True
_InvoiceHeader.IsStorno = False
If _InvoiceHeader.InvoiceType.NumberGeneratorProforma IsNot Nothing Then
_InvoiceHeader.DocumentNumberProforma = _InvoiceHeader.InvoiceType.NumberGeneratorProforma.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGeneratorProforma)
End If
End If
For Each _DeliveryNoteOutRows As DeliveryNoteOutRows In _DeliveryNoteOutRows_Collection
Dim _InvoiceRows As New InvoiceRows(_onew.Session)
With _InvoiceRows
.InvoiceHeader = _InvoiceHeader
.RowIndex = _InvoiceHeader.InvoiceRows.Count
.OrderInRows = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows)
.InvoiceRowtype = eInvoiceRowType.FromOrder
.DiscountPriceDEV = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceDEV
.DiscountPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceHUF
.ListPriceDEV = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceDEV
'Ha a DEVIZA != HUF, akkor itt kell árfolyam alapján újragenerálás !!!
If .InvoiceHeader.CurrencyName.ShortName <> "HUF" And _ORI_Invoice_Popup.PriceMode = ePriceMode.eDEVToHUF Then
.DiscountPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceDEV * _ORI_Invoice_Popup.CurrencyRate, 2, MidpointRounding.AwayFromZero)
.ListPriceHUF = Math.Round(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceDEV * _ORI_Invoice_Popup.CurrencyRate, 2, MidpointRounding.AwayFromZero)
Else
.ListPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceHUF
End If
.QTT = _DeliveryNoteOutRows.QTT_Will
.QualityOption = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.QualityOption)
.ShortName = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.ProductNumber + vbNewLine +
_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.ShortName
.Units = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.Units)
.VAT = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.VAT)
.Description = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Description
.CustomsTariffs = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.CustomsTariff)
.DeliveryNoteOutRows = _onew.GetObject(_DeliveryNoteOutRows)
If _OrderInHeader.OrderInParameters IsNot Nothing Then
If _OrderInHeader.OrderInParameters.Controlling_Rows_Default IsNot Nothing Then
.Controlling = _OrderInHeader.OrderInParameters.Controlling_Rows_Default
End If
End If
End With
Dim _QTT_Will_Orig = _DeliveryNoteOutRows.QTT_Will
_DeliveryNoteOutRows = _onew.GetObject(_DeliveryNoteOutRows)
_DeliveryNoteOutRows.QTT_Invoiced += _QTT_Will_Orig
_DeliveryNoteOutRows.QTT_Will = 0
Dim _OrderInRows As OrderInRows = _onew.GetObject(_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows)
_OrderInRows.QTT_Invoiced += _QTT_Will_Orig
Next
_onew.CommitChanges()
_InvoiceHeader.RecalculateInvoice(_InvoiceHeader, _onew)
_onew.CommitChanges()
'Készpénz esetén pénztári bizonylat is !!!
If _ORI_Invoice_Popup.IsLiquidAssets AndAlso _ORI_Invoice_Popup.PaymentOption.PayMode = ePayMode.InCash And _ORI_Invoice_Popup.IsFinalInvoice Then
CreateGLCassa(_InvoiceHeader, _onew, _ORI_Invoice_Popup)
End If
If _InvoiceHeader IsNot Nothing Then
Dim _XAFPrintHelper_I As New XAFPrintHelper(_onew, Frame, _InvoiceHeader.InvoiceType.ReportDataV2, CriteriaOperator.Parse("InvoiceHeader.Oid = ?", _InvoiceHeader.Oid))
_XAFPrintHelper_I.ShowPreviewV2()
End If
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
#End Region
#Region "Kimenő számla sorok"
Private Sub aORI_Storno_Invoice_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aORI_Storno_Invoice.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _ORI_Storno_Invoice_PopUp As New ORI_Storno_Invoice_PopUp(_onew.Session)
e.View = Application.CreateDetailView(_onew, "ORI_Storno_Invoice_PopUp_DetailView", False, _ORI_Storno_Invoice_PopUp)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_Storno_Invoice_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aORI_Storno_Invoice.Execute
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = _onew.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
If _OrderInHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _ORI_Storno_Invoice_PopUp As ORI_Storno_Invoice_PopUp = TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Storno_Invoice_PopUp)
If _ORI_Storno_Invoice_PopUp Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _InvoiceRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("InvoiceRows")
If _InvoiceRows_ListEditor Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _InvoiceRows_ListEditor.ListView.SelectedObjects.Count = 0 Then Throw New Exception("*Nincs kijelölve egyetlen kitárolási sor sem!")
Dim _InvoiceRows_Collection As New ArrayList
For Each _InvoiceRows As InvoiceRows In _InvoiceRows_ListEditor.ListView.SelectedObjects
If _InvoiceRows.InvoiceHeader.IsStorno = False And
_InvoiceRows.InvoiceHeader.IsEditable = False And
_InvoiceRows.InvoiceHeader.IsProforma = False And
String.IsNullOrEmpty(_InvoiceRows.InvoiceHeader.DocumentNumber) = False Then _
_InvoiceRows_Collection.Add(_InvoiceRows)
Next
If _InvoiceRows_Collection.Count = 0 Then Throw New Exception("*A kiválasztott számlasorok közt nincs egyetlen olyan sem, melyet stornozni lehetne!" _
+ vbNewLine + "Kérem, ellenőrize!")
Dim _InvoiceHeaderNew_Collection As New ArrayList
Dim _DeliveryHeaderNew_Collection As New ArrayList
Dim _StorageOutHeaderNew_Collection As New ArrayList
Select Case _ORI_Storno_Invoice_PopUp.ORIStornoInvoiceType
Case eORIStornoInvoiceType.eStornoInvoice
StornoInvoice(_onew, _InvoiceHeaderNew_Collection, _InvoiceRows_Collection)
If _InvoiceHeaderNew_Collection.Count = 0 Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Case eORIStornoInvoiceType.eStornoInvoiceDelivery
StornoInvoice(_onew, _InvoiceHeaderNew_Collection, _InvoiceRows_Collection)
StornoDelivery(_onew, _DeliveryHeaderNew_Collection, _InvoiceRows_Collection)
If _InvoiceHeaderNew_Collection.Count = 0 Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _DeliveryHeaderNew_Collection.Count = 0 Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Case eORIStornoInvoiceType.eStornoInvoiceDeliveryStorageOut
StornoInvoice(_onew, _InvoiceHeaderNew_Collection, _InvoiceRows_Collection)
StornoDelivery(_onew, _DeliveryHeaderNew_Collection, _InvoiceRows_Collection)
StornoStorage(_onew, _StorageOutHeaderNew_Collection, _InvoiceRows_Collection)
If _InvoiceHeaderNew_Collection.Count = 0 Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _DeliveryHeaderNew_Collection.Count = 0 Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _StorageOutHeaderNew_Collection.Count = 0 Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
End Select
_onew.CommitChanges()
For Each _InvoiceHeader As InvoiceHeader In _InvoiceHeaderNew_Collection
_InvoiceHeader.RecalculateInvoice(_InvoiceHeader, _onew)
_onew.CommitChanges()
Next
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aOrderIn_InvoiceRowFinalize_CustomizePopupWindowParams(sender As Object, e As CustomizePopupWindowParamsEventArgs) Handles aOrderIn_InvoiceRowFinalize.CustomizePopupWindowParams
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInHeader As OrderInHeader = _onew.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
If _OrderInHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _OrderInRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("InvoiceRows")
If _OrderInRows_ListEditor Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _OrderInRows_ListEditor.ListView.SelectedObjects.Count = 0 Then Throw New Exception("*Nincs kiválasztva egyetlen számla sor sem!")
Dim _InvoiceHeader As InvoiceHeader = _onew.GetObject(TryCast(TryCast(_OrderInRows_ListEditor.ListView.SelectedObjects(0), InvoiceRows).InvoiceHeader, InvoiceHeader))
If _InvoiceHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If String.IsNullOrEmpty(_InvoiceHeader.DocumentNumberProforma) Then Throw New Exception("*A véglegesíteni kívánt számla nem proforma száma!")
If Not String.IsNullOrEmpty(_InvoiceHeader.DocumentNumber) Then Throw New Exception("*A véglegesíteni kívánt számla már rendelkezik sorszámmal!")
Dim _ORI_Invoice_Popup As ORI_Invoice_Popup = _onew.CreateObject(Of ORI_Invoice_Popup)()
_ORI_Invoice_Popup.InvoiceStrategy = eInvoiceStrategy.eInvoice
_ORI_Invoice_Popup.CurrencyName = _InvoiceHeader.CurrencyName
_ORI_Invoice_Popup.CustomersFrom = _InvoiceHeader.CustomersFrom
_ORI_Invoice_Popup.DateCreated = GetSQLTime(_onew.Session)
_ORI_Invoice_Popup.DateExecution = _InvoiceHeader.DateExecution
_ORI_Invoice_Popup.PaymentOption = _InvoiceHeader.PaymentOption
_ORI_Invoice_Popup.DatePayment = _InvoiceHeader.DatePayment
_ORI_Invoice_Popup.BankInformation = _InvoiceHeader.BankInformation
_ORI_Invoice_Popup.Description = _InvoiceHeader.Description
_ORI_Invoice_Popup.Description_Header = _InvoiceHeader.DescriptionHeader
_ORI_Invoice_Popup.Customers = _InvoiceHeader.Customers
_ORI_Invoice_Popup.InvoiceType = _InvoiceHeader.InvoiceType
_ORI_Invoice_Popup.IsAPCSheet = _OrderInHeader.OrderInParameters.IsAPCSheet
_ORI_Invoice_Popup.QualityOption = _InvoiceHeader.QualityOption
If _OrderInHeader.OrderInParameters.LiquidAssets IsNot Nothing Then
_ORI_Invoice_Popup.LiquidAssets = _OrderInHeader.OrderInParameters.LiquidAssets
End If
e.View = Application.CreateDetailView(_onew, "ORI_Invoice_Popup_DetailView", False, _ORI_Invoice_Popup)
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aOrderIn_InvoiceRowFinalize_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aOrderIn_InvoiceRowFinalize.Execute
Try
Dim _onew As Xpo.XPObjectSpace = Application.CreateObjectSpace
Dim _OrderInRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("InvoiceRows")
If _OrderInRows_ListEditor Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
If _OrderInRows_ListEditor.ListView.SelectedObjects.Count = 0 Then Throw New Exception("*Nincs kiválasztva egyetlen számla sor sem!")
Dim _InvoiceHeader As InvoiceHeader = _onew.GetObject(TryCast(TryCast(_OrderInRows_ListEditor.ListView.SelectedObjects(0), InvoiceRows).InvoiceHeader, InvoiceHeader))
If _InvoiceHeader Is Nothing Then Throw New Exception("*Váratlan hiba történt, a folyamat megszakadt!")
Dim _ORI_Invoice_Popup As ORI_Invoice_Popup = TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup)
_InvoiceHeader.IsEditable = False
_InvoiceHeader.IsProforma = False
_InvoiceHeader.ConnectInfo = _InvoiceHeader.InvoiceType.NumberGenerator.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGenerator)
_InvoiceHeader.DocumentNumber = _InvoiceHeader.ConnectInfo
_InvoiceHeader.DateCreated = _ORI_Invoice_Popup.DateCreated
_InvoiceHeader.DateExecution = _ORI_Invoice_Popup.DateExecution
_InvoiceHeader.PaymentOption = _onew.GetObject(_ORI_Invoice_Popup.PaymentOption)
If _InvoiceHeader.PaymentOption.PayMode = ePayMode.InCash Then
Else
_InvoiceHeader.BankInformation = _onew.GetObject(_ORI_Invoice_Popup.BankInformation)
End If
_InvoiceHeader.Description = _ORI_Invoice_Popup.Description
_InvoiceHeader.DescriptionHeader = _ORI_Invoice_Popup.Description_Header
_InvoiceHeader.CurrencyRate = _ORI_Invoice_Popup.CurrencyRate
_InvoiceHeader.CurrencyName = _onew.GetObject(_ORI_Invoice_Popup.CurrencyName)
If _InvoiceHeader.PaymentOption.PayMode = ePayMode.InContinuous Then
_InvoiceHeader.DatePayment = _InvoiceHeader.DateExecution
Else
' -- Egyébként számolja ki a fizetési opcióból, hogy hány nap van a kiállítás dátuma és a fizetési határidő között
If _InvoiceHeader.PaymentOption.PayDay = 0 Then
Else
Select Case _InvoiceHeader.DatePaymentMode
Case eDatePaymentMode.eDateCreated
_InvoiceHeader.DatePayment = _InvoiceHeader.DateCreated.AddDays(_InvoiceHeader.PaymentOption.PayDay)
Case eDatePaymentMode.eDateExecution
_InvoiceHeader.DatePayment = _InvoiceHeader.DateExecution.AddDays(_InvoiceHeader.PaymentOption.PayDay)
End Select
End If
If _ORI_Invoice_Popup.IsAPCSheet Then
_InvoiceHeader.DatePayment = _ORI_Invoice_Popup.DatePayment
End If
End If
' -- Ha előleg típusú számla akkor a teljesítés és a fizetési határidő is megegyezik
If _InvoiceHeader.InvoiceType.InvoiceTypeBase = eInvoiceTypeBase.eAdvancePayment Then
_InvoiceHeader.DatePayment = _InvoiceHeader.DateExecution
End If
If String.IsNullOrEmpty(_InvoiceHeader.Customers.Name) Then
_InvoiceHeader.Customers.Name = _InvoiceHeader.Customers.FullName
End If
_onew.CommitChanges()
_InvoiceHeader.RecalculateInvoice(_InvoiceHeader, _onew)
_onew.CommitChanges()
Dim _uow_pci As New UnitOfWork(_onew.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow_pci, _InvoiceHeader.CustomersFrom, _InvoiceHeader.Customers, 0, _InvoiceHeader.ConnectInfo)
' --- Pénztári bizonylat ----------------------------------------------------
If _ORI_Invoice_Popup.IsLiquidAssets AndAlso _ORI_Invoice_Popup.PaymentOption.PayMode = ePayMode.InCash And _ORI_Invoice_Popup.IsFinalInvoice Then
CreateGLCassa(_InvoiceHeader, _onew, _ORI_Invoice_Popup)
End If
'----------------------------------------------------------------------------
Dim _XAFPrintHelper_I As New XAFPrintHelper(_onew, Frame, _InvoiceHeader.InvoiceType.ReportDataV2, CriteriaOperator.Parse("InvoiceHeader.Oid = ?", _InvoiceHeader.Oid))
_XAFPrintHelper_I.ShowPreviewV2()
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_DeleteInvoiceProforma_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aORI_DeleteInvoiceProforma.Execute
'// proforma számla törlése
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _InvoiceHeader_Collection As New XPCollection(Of InvoiceHeader)(_ocur.Session, CriteriaOperator.Parse("1=2"))
If _OrderInHeader IsNot Nothing Then
Dim _InvoiceRows_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("InvoiceRows")
If _InvoiceRows_ListEditor IsNot Nothing Then
Dim _InvoiceHeaderExist_Collection As New ArrayList
For Each _InvoiceRows As InvoiceRows In _InvoiceRows_ListEditor.ListView.SelectedObjects
If _InvoiceHeaderExist_Collection.Count = 0 Then
_InvoiceHeaderExist_Collection.Add(_InvoiceRows.InvoiceHeader)
Else
Dim _Need As Boolean = True
For Each _InvoiceHeader As InvoiceHeader In _InvoiceHeaderExist_Collection
If _InvoiceRows.InvoiceHeader.Oid = _InvoiceHeader.Oid Then
_Need = False
Exit For
End If
Next
If _Need Then _InvoiceHeaderExist_Collection.Add(_InvoiceRows.InvoiceHeader)
End If
Next
For Each _InvoiceHeader As InvoiceHeader In _InvoiceHeaderExist_Collection
If _InvoiceHeader.IsProforma And String.IsNullOrEmpty(_InvoiceHeader.DocumentNumber) Then
_InvoiceHeader_Collection.Add(_InvoiceHeader)
For Each _InvoiceRows As InvoiceRows In _InvoiceHeader.InvoiceRows
If _InvoiceRows.OrderInRows IsNot Nothing Then
_InvoiceRows.OrderInRows.QTT_Invoiced -= _InvoiceRows.QTT
_InvoiceRows.OrderInRows.Save()
End If
If _InvoiceRows.OrderInRowsOther IsNot Nothing Then
_InvoiceRows.OrderInRowsOther.QTT_Invoiced -= _InvoiceRows.QTT
_InvoiceRows.OrderInRowsOther.Save()
End If
If _InvoiceRows.DeliveryNoteOutRows IsNot Nothing Then
_InvoiceRows.DeliveryNoteOutRows.QTT_Invoiced -= _InvoiceRows.QTT
_InvoiceRows.DeliveryNoteOutRows.Save()
End If
Next
End If
Next
_ocur.Delete(_InvoiceHeader_Collection)
End If
_ocur.CommitChanges()
End If
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
End Sub
Private Sub aOrderInInvoiceAdvance_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aOrderInInvoiceAdvance.Execute
'//Előlegszámla készítése előlegbekérő és p.ü. teljesítés alapján
On Error GoTo CheckError
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _OrderInHeader As OrderInHeader = TryCast(View.SelectedObjects(0), OrderInHeader)
Dim _InvoiceHeader As InvoiceHeader = _ocur.CreateObject(Of InvoiceHeader)()
Dim _InvoiceRows As InvoiceRows
Dim _CurrencyRate As Double = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).CurrencyRate)
Dim _NG As NumberGenerator
Dim _VAT As VAT
Dim _ConnectInfo_Old As String = ""
Dim _ORI_Invoice_Popup As ORI_Invoice_Popup = TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup)
If _OrderInHeader IsNot Nothing Then
Dim _PCIDetail_ListEditor As ListPropertyEditor = TryCast(View, DetailView).FindItem("PCIDetail")
Dim _PCIDetail As PCIDetail = TryCast(_PCIDetail_ListEditor.ListView.SelectedObjects(0), PCIDetail)
If _PCIDetail IsNot Nothing Then
Select Case _PCIDetail.MainType
Case "03-Cassa", "02-Bank"
'// Megvan a nyitott p.ü teljesítés, lehet kiállítani az előleg számlát
_InvoiceHeader.IsProforma = False
_InvoiceHeader.IsEditable = False
_InvoiceHeader.CustomersFrom = _OrderInHeader.CustomersFrom
_InvoiceHeader.Customers = _OrderInHeader.Customers
_InvoiceHeader.InvoiceType = _OrderInHeader.OrderInParameters.InvoiceTypeAdvanced
If _InvoiceHeader.InvoiceType.NumberGenerator IsNot Nothing Then
_NG = _InvoiceHeader.InvoiceType.NumberGenerator
_InvoiceHeader.DocumentNumber = _NG.GetNewNumber(_NG)
_InvoiceHeader.ConnectInfo = _InvoiceHeader.DocumentNumber
_PCIDetail.GLRows.ConnectInfo = _InvoiceHeader.DocumentNumber
_PCIDetail.GLRows.Save()
_ocur.Delete(_PCIDetail)
End If
_InvoiceHeader.DateCreated = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).DateCreated)
_InvoiceHeader.DateExecution = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).DateExecution)
_InvoiceHeader.Description = _ORI_Invoice_Popup.Description
_InvoiceHeader.DescriptionHeader = _ORI_Invoice_Popup.Description_Header
_InvoiceHeader.BankInformation = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).BankInformation)
_InvoiceHeader.CurrencyName = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).CurrencyName)
_InvoiceHeader.CurrencyRate = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).CurrencyRate)
_InvoiceHeader.PaymentOption = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).PaymentOption)
_InvoiceHeader.DatePayment = _InvoiceHeader.DateExecution
'-- Próbaszámla miatt el kell menteni a tényleges adatokat --------------------------------------------------------
_InvoiceHeader.Saved_Customers_Name = _OrderInHeader.Customers.Name.ToString
_InvoiceHeader.Saved_Customers_Address_Country = _OrderInHeader.Customers.Address1.Country.ToString
_InvoiceHeader.Saved_Customers_Address_ZipPostal = _OrderInHeader.Customers.Address1.ZipPostal.ToString
_InvoiceHeader.Saved_Customers_Address_Street = _OrderInHeader.Customers.Address1.Street.ToString
_InvoiceHeader.Saved_Customers_Address_City = _OrderInHeader.Customers.Address1.City.ToString
_InvoiceHeader.Saved_Customers_Address_StateProvince = _OrderInHeader.Customers.Address1.StateProvince.ToString
_InvoiceHeader.Saved_Customers_VATNumber = _OrderInHeader.Customers.VATNumber.ToString
_InvoiceHeader.Saved_Customers_VATNumberEU = _OrderInHeader.Customers.VATNumberEU.ToString
_InvoiceHeader.Saved_CustomersFrom_Name = _OrderInHeader.CustomersFrom.Name.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_ZipPostal = _OrderInHeader.CustomersFrom.Address1.ZipPostal.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_Street = _OrderInHeader.CustomersFrom.Address1.Street.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_City = _OrderInHeader.CustomersFrom.Address1.City.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_StateProvince = _OrderInHeader.CustomersFrom.Address1.StateProvince.ToString
_InvoiceHeader.Saved_CustomersFrom_VATNumber = _OrderInHeader.CustomersFrom.VATNumber.ToString
_InvoiceHeader.Saved_CustomersFrom_VATNumberEU = _OrderInHeader.CustomersFrom.VATNumberEU.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_ShortName = _InvoiceHeader.BankInformation.FullBankAccount.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_IBAN = _InvoiceHeader.BankInformation.IBAN.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_SWIFT = _InvoiceHeader.BankInformation.SWIFT.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_AccountNumber = _InvoiceHeader.BankInformation.AccountNumber.ToString
' ---- FEJLÉC ADATOK MEGADÁSÁNAK VÉGE ----------------------------------------------------------------------------------------------------
'------ Egy darab sor az átvett előleg alapján ---------------------------------------------------------------------------- ---------------
_OrderInHeader.OrderInRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
_OrderInHeader.OrderInRowsOther.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
'-----------------------------------------------------------------------------------------------------
_InvoiceRows = _ocur.CreateObject(Of InvoiceRows)()
_InvoiceRows.InvoiceHeader = _InvoiceHeader
_InvoiceRows.QTT = 1
Select Case _OrderInHeader.OrderInParameters.ExportMode
Case eExportMode.eInversVAT
_VAT = _ocur.FindObject(Of VAT)(CriteriaOperator.Parse("DefaultForInversVAT"))
Case eExportMode.eExternalEUwithVAT
_VAT = _ocur.FindObject(Of VAT)(CriteriaOperator.Parse("DefaultForBusinnes"))
Case eExportMode.eExternalEUNoVAT
_VAT = _ocur.FindObject(Of VAT)(CriteriaOperator.Parse("DefaultForExternalEUNoVAT"))
Case eExportMode.eExternalOther
_VAT = _ocur.FindObject(Of VAT)(CriteriaOperator.Parse("DefaultForExternalOther"))
Case eExportMode.eInternalwithVAT
_VAT = _ocur.FindObject(Of VAT)(CriteriaOperator.Parse("DefaultForBusinnes"))
Case Else
_VAT = _ocur.FindObject(Of VAT)(CriteriaOperator.Parse("DefaultForBusinnes"))
End Select
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
_InvoiceRows.DiscountPriceHUF = 0
_InvoiceRows.ListPriceHUF = Math.Round(Math.Abs(_PCIDetail.BallanceHUF) / (1 + _VAT.KeyValue), 2)
Else
_InvoiceRows.DiscountPriceDEV = 0
_InvoiceRows.DiscountPriceHUF = 0
_InvoiceRows.ListPriceDEV = Math.Round(Math.Abs(_PCIDetail.BallanceDEV) / (1 + _VAT.KeyValue), 2)
_InvoiceRows.ListPriceHUF = Math.Round(Math.Abs(_PCIDetail.BallanceHUF) / (1 + _VAT.KeyValue), 2)
End If
_InvoiceRows.InvoiceRowtype = eInvoiceRowType.FromManual
_InvoiceRows.VAT = _VAT
_InvoiceRows.Units = _ocur.FindObject(Of Units)(CriteriaOperator.Parse("DefaultForBusinnes=True"))
_InvoiceRows.ShortName = _OrderInHeader.OrderInParameters.AdvanceShortNameIn
_InvoiceRows.Description = String.Format(_OrderInHeader.OrderInParameters.AdvanceDescriptionIn, _OrderInHeader.DocumentNumber)
If _OrderInHeader.OrderInParameters IsNot Nothing Then
If _OrderInHeader.OrderInParameters.Controlling_InvoiceAdvance_Default IsNot Nothing Then
_InvoiceRows.Controlling = _OrderInHeader.OrderInParameters.Controlling_InvoiceAdvance_Default
End If
End If
_InvoiceRows.RowIndex = 1
_ocur.CommitChanges()
_InvoiceHeader.RecalculateInvoice(_InvoiceHeader, _ocur)
_ocur.CommitChanges()
Dim _uow_pci As New UnitOfWork(_ocur.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow_pci, _InvoiceHeader.CustomersFrom, _InvoiceHeader.Customers, 0, _InvoiceHeader.ConnectInfo)
'// Előlegszámla nyomtatása
Dim _ReportData As ReportData
Dim _ReportData_DEV As ReportData
Dim _ReportData_DEV_EU As ReportData
Dim _CurrencyName As CurrencyName
_CurrencyName = _InvoiceHeader.CurrencyName
If _InvoiceHeader IsNot Nothing Then
Dim _XAFPrintHelper_I As New XAFPrintHelper(_ocur, Frame, _InvoiceHeader.InvoiceType.ReportDataV2, CriteriaOperator.Parse("InvoiceHeader.Oid = ?", _InvoiceHeader.Oid))
_XAFPrintHelper_I.ShowPreviewV2()
End If
End Select
End If
End If
If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
End If
Exit Sub
CheckError:
Select Case Err.Number
Case 91, 13
Resume Next
Case Else
Throw New UserFriendlyException(Err.Description)
End Select
End Sub
Private Sub aGenerateInvoiceFromOrderInFinal_Execute(sender As Object, e As PopupWindowShowActionExecuteEventArgs) Handles aGenerateInvoiceFromOrderInFinal.Execute
'// Végszámla készítése előlegek beszámításával
Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
Dim _InvoiceHeader As InvoiceHeader = _ocur.CreateObject(Of InvoiceHeader)()
Dim _OrderInHeader As OrderInHeader = _ocur.GetObject(TryCast(View.SelectedObjects(0), OrderInHeader))
Dim _CurrencyRate As Double = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).CurrencyRate)
Dim _NG As NumberGenerator
Dim _InvoiceRows As InvoiceRows
Dim _OrderInRows As OrderInRows
Dim _OrderInRowsOther As OrderInRowsOther
Dim _DeliveryNoteOutRows As DeliveryNoteOutRows
Dim _InvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows As eInvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows = eInvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows.eOrderInRows
Dim _ORI_Invoice_Popup As ORI_Invoice_Popup = TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup)
On Error GoTo CheckError
' --- Ellenőrzés, hogy kell-e engedély ! --------------------------------------------------------------------------------------------------
If _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).PaymentOption).PayMode <> ePayMode.InCash Then
If _OrderInHeader.SubjectToApproval(_OrderInHeader, _ocur) And _OrderInHeader.PermissionAllowed = False Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInHeader", "PermissionNotAllowedToCreateInvoice")),
MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
End If
'// Meg kell nézni, hogy van-e mindenütt szándék !
Dim _ReadyForFinalInvoice As Boolean = False
'// Ha van kiállítva szállítólevél, akkor abból lesz a számla !
If _OrderInHeader.DeliveryNoteOutRows IsNot Nothing Then
If _OrderInHeader.DeliveryNoteOutRows.Count > 0 Then
_InvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows = eInvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows.eDeliveryNoteOutRows
Else
_InvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows = eInvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows.eOrderInRows
End If
Else
_InvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows = eInvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows.eOrderInRows
End If
If _InvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows = eInvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows.eDeliveryNoteOutRows Then
For Each _DeliveryNoteOutRows In _OrderInHeader.DeliveryNoteOutRows
If Math.Round(_DeliveryNoteOutRows.QTT_Will, 4, MidpointRounding.AwayFromZero) > 0 Then
_ReadyForFinalInvoice = True
Exit For
End If
Next
Else
For Each _OrderInRows In _OrderInHeader.OrderInRows
If Math.Round(_OrderInRows.QTT_Process, 4, MidpointRounding.AwayFromZero) > 0 Then
_ReadyForFinalInvoice = True
Exit For
End If
Next
End If
For Each _OrderInRowsOther In _OrderInHeader.OrderInRowsOther
If Math.Round(_OrderInRowsOther.QTT_Process, 4, MidpointRounding.AwayFromZero) > 0 Then
_ReadyForFinalInvoice = True
Exit For
End If
Next
If _ReadyForFinalInvoice = False Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInHeader", "NoSelectionforFinalInvoice")),
MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
'// Ha van proforma állapot akkor NE engedjen számlázni
_ReadyForFinalInvoice = True
For Each _InvoiceRows In _OrderInHeader.InvoiceRows
If _InvoiceRows.InvoiceHeader.IsProforma And String.IsNullOrEmpty(_InvoiceRows.InvoiceHeader.DocumentNumber) Then
_ReadyForFinalInvoice = False
Exit For
End If
Next
If _ReadyForFinalInvoice = False Then
MsgBox(String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions\OrderInHeader", "YesProformaInOrderInHeader")),
MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly,
String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
Exit Sub
End If
' ---- FEJLÉC ADATOK MEGADÁSA -------------------------------------------------------------------------------------------------------------
_InvoiceHeader.IsProforma = True
_InvoiceHeader.IsEditable = False
_InvoiceHeader.InvoiceType = _OrderInHeader.OrderInParameters.InvoiceType
_InvoiceHeader.CustomersFrom = _OrderInHeader.CustomersFrom
_InvoiceHeader.Customers = _OrderInHeader.Customers
If TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).IsFinalInvoice Then
_InvoiceHeader.IsEditable = False
_InvoiceHeader.IsProforma = False
_InvoiceHeader.IsStorno = False
_InvoiceHeader.ConnectInfo = _InvoiceHeader.InvoiceType.NumberGenerator.GetNewNumber(_InvoiceHeader.InvoiceType.NumberGenerator)
_InvoiceHeader.DocumentNumber = _InvoiceHeader.ConnectInfo
Else
If _InvoiceHeader.InvoiceType.NumberGeneratorProforma IsNot Nothing Then
_NG = _InvoiceHeader.InvoiceType.NumberGeneratorProforma
_InvoiceHeader.DocumentNumberProforma = _NG.GetNewNumber(_NG)
End If
End If
_InvoiceHeader.DateCreated = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).DateCreated)
_InvoiceHeader.DateExecution = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).DateExecution)
_InvoiceHeader.PaymentOption = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).PaymentOption)
If _InvoiceHeader.PaymentOption.PayMode = ePayMode.InCash Then
Else
_InvoiceHeader.BankInformation = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).BankInformation)
End If
_InvoiceHeader.Description = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).Description)
_InvoiceHeader.DescriptionHeader = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).Description_Header)
_InvoiceHeader.CurrencyRate = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).CurrencyRate)
_InvoiceHeader.CurrencyName = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).CurrencyName)
If _InvoiceHeader.PaymentOption.PayMode = ePayMode.InContinuous Then
_InvoiceHeader.DatePayment = _InvoiceHeader.DateExecution
Else
' -- Egyébként számolja ki a fizetési opcióból, hogy hány nap van a kiállítás dátuma és a fizetési határidő között
If _InvoiceHeader.PaymentOption.PayDay = 0 Then
Else
Select Case _InvoiceHeader.DatePaymentMode
Case eDatePaymentMode.eDateCreated
_InvoiceHeader.DatePayment = _InvoiceHeader.DateCreated.AddDays(_InvoiceHeader.PaymentOption.PayDay)
Case eDatePaymentMode.eDateExecution
_InvoiceHeader.DatePayment = _InvoiceHeader.DateExecution.AddDays(_InvoiceHeader.PaymentOption.PayDay)
End Select
End If
If _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).IsAPCSheet) Then
_InvoiceHeader.DatePayment = _ocur.GetObject(TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).DatePayment)
End If
End If
'-- Próbaszámla miatt el kell menteni a tényleges adatokat --------------------------------------------------------
_InvoiceHeader.Saved_Customers_Name = _OrderInHeader.Customers.Name.ToString
_InvoiceHeader.Saved_Customers_Address_Country = _OrderInHeader.Customers.Address1.Country.ToString
_InvoiceHeader.Saved_Customers_Address_ZipPostal = _OrderInHeader.Customers.Address1.ZipPostal.ToString
_InvoiceHeader.Saved_Customers_Address_Street = _OrderInHeader.Customers.Address1.Street.ToString
_InvoiceHeader.Saved_Customers_Address_City = _OrderInHeader.Customers.Address1.City.ToString
_InvoiceHeader.Saved_Customers_Address_StateProvince = _OrderInHeader.Customers.Address1.StateProvince.ToString
_InvoiceHeader.Saved_Customers_VATNumber = _OrderInHeader.Customers.VATNumber.ToString
_InvoiceHeader.Saved_Customers_VATNumberEU = _OrderInHeader.Customers.VATNumberEU.ToString
_InvoiceHeader.Saved_CustomersFrom_Name = _OrderInHeader.CustomersFrom.Name.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_ZipPostal = _OrderInHeader.CustomersFrom.Address1.ZipPostal.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_Street = _OrderInHeader.CustomersFrom.Address1.Street.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_City = _OrderInHeader.CustomersFrom.Address1.City.ToString
_InvoiceHeader.Saved_CustomersFrom_Address_StateProvince = _OrderInHeader.CustomersFrom.Address1.StateProvince.ToString
_InvoiceHeader.Saved_CustomersFrom_VATNumber = _OrderInHeader.CustomersFrom.VATNumber.ToString
_InvoiceHeader.Saved_CustomersFrom_VATNumberEU = _OrderInHeader.CustomersFrom.VATNumberEU.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_ShortName = _InvoiceHeader.BankInformation.FullBankAccount.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_IBAN = _InvoiceHeader.BankInformation.IBAN.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_SWIFT = _InvoiceHeader.BankInformation.SWIFT.ToString
_InvoiceHeader.Saved_CustomersFrom_Bank_AccountNumber = _InvoiceHeader.BankInformation.AccountNumber.ToString
_InvoiceHeader.Save()
' ---- FEJLÉC ADATOK MEGADÁSÁNAK VÉGE ----------------------------------------------------------------------------------------------------
'------ A fejléchez tartozó sorok (termék és egyéb típusok) rendezése sorindex alapján ---------------
_OrderInHeader.OrderInRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
_OrderInHeader.OrderInRowsOther.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
_OrderInHeader.DeliveryNoteOutRows.Sorting.Add(New SortProperty("RowIndex", DB.SortingDirection.Ascending))
'-----------------------------------------------------------------------------------------------------
' A fejléchez tartozó sorok átadása -----------------------------------------------------------------
Dim i As Int16 = 0
'----------------------------- Átadjuk az összes termék típusú sort --------------------------------------
If _InvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows = eInvoiceRows_Mode_DeliveryNoteOutRows_Or_OrderInRows.eOrderInRows Then
For Each _OrderInRows In _OrderInHeader.OrderInRows
If _OrderInRows.QTT_Process > 0 Then
If _OrderInRows.QTT - (_OrderInRows.QTT_Process + _OrderInRows.QTT_Invoiced) >= 0 Then
_InvoiceRows = _ocur.CreateObject(Of InvoiceRows)()
_InvoiceRows.InvoiceHeader = _InvoiceHeader
_InvoiceRows.OrderInRows = _OrderInRows
_InvoiceRows.QTT = _OrderInRows.QTT_Process
_OrderInRows.QTT_Invoiced += _OrderInRows.QTT_Process
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
_InvoiceRows.DiscountPriceHUF = _OrderInRows.DiscountPriceHUF
_InvoiceRows.ListPriceHUF = _OrderInRows.ListPriceHUF
Else
_InvoiceRows.DiscountPriceDEV = _OrderInRows.DiscountPriceDEV
_InvoiceRows.DiscountPriceHUF = _OrderInRows.DiscountPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
_InvoiceRows.ListPriceDEV = _OrderInRows.ListPriceDEV
_InvoiceRows.ListPriceHUF = _OrderInRows.ListPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
End If
_InvoiceRows.InvoiceRowtype = eInvoiceRowType.FromOrder
_InvoiceRows.VAT = _OrderInRows.VAT
_InvoiceRows.Units = _OrderInRows.Products.Units
_InvoiceRows.ShortName = _OrderInRows.Products.ShortName
_InvoiceRows.Description = _OrderInRows.Products.Description
_InvoiceRows.CustomsTariffs = _OrderInRows.Products.CustomsTariff
If _OrderInHeader.OrderInParameters IsNot Nothing Then
If _OrderInHeader.OrderInParameters.Controlling_Rows_Default IsNot Nothing Then
_InvoiceRows.Controlling = _OrderInHeader.OrderInParameters.Controlling_Rows_Default
End If
End If
_InvoiceRows.RowIndex = i
i += 1
End If
End If
Next
Else
For Each _DeliveryNoteOutRows In _OrderInHeader.DeliveryNoteOutRows
If _DeliveryNoteOutRows.QTT_Will > 0 Then
If Math.Round(_DeliveryNoteOutRows.QTT, 4, MidpointRounding.AwayFromZero) - Math.Round((_DeliveryNoteOutRows.QTT_Will + _DeliveryNoteOutRows.QTT_Invoiced), 4, MidpointRounding.AwayFromZero) >= 0 Then
_InvoiceRows = _ocur.CreateObject(Of InvoiceRows)()
_InvoiceRows.InvoiceHeader = _InvoiceHeader
_InvoiceRows.OrderInRows = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows
_InvoiceRows.QTT = _DeliveryNoteOutRows.QTT_Will
_DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.QTT_Invoiced += _DeliveryNoteOutRows.QTT_Will
_DeliveryNoteOutRows.QTT_Invoiced += _DeliveryNoteOutRows.QTT_Invoiced + _DeliveryNoteOutRows.QTT_Will
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
_InvoiceRows.DiscountPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceHUF
_InvoiceRows.ListPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceHUF
Else
_InvoiceRows.DiscountPriceDEV = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceDEV
_InvoiceRows.DiscountPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.DiscountPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
_InvoiceRows.ListPriceDEV = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceDEV
_InvoiceRows.ListPriceHUF = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.ListPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
End If
_InvoiceRows.InvoiceRowtype = eInvoiceRowType.FromOrder
_InvoiceRows.VAT = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.VAT
_InvoiceRows.Units = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.Units
_InvoiceRows.ShortName = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.ShortName
_InvoiceRows.Description = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.Description
_InvoiceRows.CustomsTariffs = _DeliveryNoteOutRows.StorageOutRowsInRows.StorageOutRows.OrderInRows.Products.CustomsTariff
_InvoiceRows.DeliveryNoteOutRows = _DeliveryNoteOutRows
If _OrderInHeader.OrderInParameters IsNot Nothing Then
If _OrderInHeader.OrderInParameters.Controlling_Rows_Default IsNot Nothing Then
_InvoiceRows.Controlling = _OrderInHeader.OrderInParameters.Controlling_Rows_Default
End If
End If
_InvoiceRows.RowIndex = i
i += 1
End If
End If
Next
End If
'----------------------------- Átadjuk az összes egyéb típusú sort --------------------------------------
For Each _OrderInRowsOther In _OrderInHeader.OrderInRowsOther
If _OrderInRowsOther.QTT_Process > 0 Then
If _OrderInRowsOther.QTT - (_OrderInRowsOther.QTT_Process + _OrderInRowsOther.QTT_Invoiced) >= 0 Then
_InvoiceRows = _ocur.CreateObject(Of InvoiceRows)()
_InvoiceRows.InvoiceHeader = _InvoiceHeader
_InvoiceRows.OrderInRowsOther = _OrderInRowsOther
_InvoiceRows.QTT = _OrderInRowsOther.QTT_Process
_OrderInRowsOther.QTT_Invoiced += _OrderInRowsOther.QTT_Process
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
_InvoiceRows.DiscountPriceHUF = _OrderInRowsOther.DiscountPriceHUF
_InvoiceRows.ListPriceHUF = _OrderInRowsOther.ListPriceHUF
Else
_InvoiceRows.DiscountPriceDEV = _OrderInRowsOther.DiscountPriceDEV
_InvoiceRows.DiscountPriceHUF = _OrderInRowsOther.DiscountPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
_InvoiceRows.ListPriceDEV = _OrderInRowsOther.ListPriceDEV
_InvoiceRows.ListPriceHUF = _OrderInRowsOther.ListPriceDEV * _CurrencyRate ' A kerekítést még meg kell beszélni
End If
_InvoiceRows.InvoiceRowtype = eInvoiceRowType.FromOrder
_InvoiceRows.VAT = _OrderInRowsOther.VAT
_InvoiceRows.Units = _OrderInRowsOther.Units
_InvoiceRows.UniqueObjects = _OrderInRowsOther.UniqueObjects
_InvoiceRows.CostHolder = _OrderInRowsOther.CostHolder
_InvoiceRows.CostPlace = _OrderInRowsOther.CostPlace
_InvoiceRows.QualityOption = _OrderInRowsOther.QualityOption
_InvoiceRows.Description = _OrderInRowsOther.Description
_InvoiceRows.ShortName = _OrderInRowsOther.ShortName
_InvoiceRows.CustomsTariffs = _OrderInRowsOther.CustomsTariffs
If _OrderInHeader.OrderInParameters IsNot Nothing Then
If _OrderInHeader.OrderInParameters.Controlling_OtherRows_Default IsNot Nothing Then
_InvoiceRows.Controlling = _OrderInHeader.OrderInParameters.Controlling_OtherRows_Default
End If
End If
_InvoiceRows.RowIndex = i
i += 1
End If
End If
Next
'// Most mínusszal a beszámított előkegek
Dim _ListView As ListPropertyEditor = TryCast(e.PopupWindow.View, DetailView).FindItem("InvoiceAdvance")
If _ListView IsNot Nothing Then
For Each _InvoiceHeader_Advance As InvoiceHeader In _ListView.ListView.SelectedObjects
If _InvoiceHeader_Advance.TotalAdvancedWill > 0 Then
For Each _InvoiceRows_Advance As InvoiceRows In _InvoiceHeader_Advance.InvoiceRows
_InvoiceRows = _ocur.CreateObject(Of InvoiceRows)()
_InvoiceRows.InvoiceHeader = _InvoiceHeader
_InvoiceRows.InvoiceRowsAdvance = _ocur.GetObject(_InvoiceRows_Advance)
_InvoiceRows.QTT = -1
_InvoiceRows.DiscountPriceDEV = 0
_InvoiceRows.DiscountPriceHUF = 0
If _InvoiceHeader.CurrencyName.ShortName = "HUF" Then
_InvoiceRows.ListPriceDEV = 0
_InvoiceRows.ListPriceHUF = _InvoiceHeader_Advance.TotalAdvancedWill / (1 + _InvoiceRows_Advance.VAT.KeyValue)
Else
_InvoiceRows.ListPriceDEV = _ocur.GetObject(_InvoiceRows_Advance.ListPriceDEV)
_InvoiceRows.ListPriceHUF = _ocur.GetObject(_InvoiceRows_Advance.ListPriceHUF)
End If
_InvoiceRows.InvoiceRowtype = eInvoiceRowType.FromOrder
_InvoiceRows.VAT = _ocur.GetObject(_InvoiceRows_Advance.VAT)
_InvoiceRows.Units = _ocur.GetObject(_InvoiceRows_Advance.Units)
_InvoiceRows.UniqueObjects = _ocur.GetObject(_InvoiceRows_Advance.UniqueObjects)
_InvoiceRows.CostHolder = _ocur.GetObject(_InvoiceRows_Advance.CostHolder)
_InvoiceRows.CostPlace = _ocur.GetObject(_InvoiceRows_Advance.CostPlace)
_InvoiceRows.QualityOption = _ocur.GetObject(_InvoiceRows_Advance.QualityOption)
_InvoiceRows.Description = String.Format(_OrderInHeader.OrderInParameters.AdvanceDescriptionOut, _InvoiceRows_Advance.InvoiceHeader.DocumentNumber)
_InvoiceRows.ShortName = _OrderInHeader.OrderInParameters.AdvanceShortNameOut '"ELŐLEG BESZÁMÍTÁSA"
_InvoiceRows.CustomsTariffs = _ocur.GetObject(_InvoiceRows_Advance.CustomsTariffs)
If _OrderInHeader.OrderInParameters IsNot Nothing Then
If _OrderInHeader.OrderInParameters.Controlling_InvoiceAdvance_Default IsNot Nothing Then
_InvoiceRows.Controlling = _OrderInHeader.OrderInParameters.Controlling_InvoiceAdvance_Default
End If
End If
_InvoiceRows.RowIndex = i
Next
End If
Next
End If
If _OrderInHeader.OrderInParameters.CostHolder IsNot Nothing Then
For Each _IR As InvoiceRows In _InvoiceHeader.InvoiceRows
If _IR.CostHolder Is Nothing Then
_IR.CostHolder = _OrderInHeader.OrderInParameters.CostHolder
End If
Next
End If
If _OrderInHeader.OrderInParameters.CostPlace IsNot Nothing Then
For Each _IR As InvoiceRows In _InvoiceHeader.InvoiceRows
If _IR.CostPlace Is Nothing Then
_IR.CostPlace = _OrderInHeader.OrderInParameters.CostPlace
End If
Next
End If
_ocur.CommitChanges()
_InvoiceHeader.RecalculateInvoice(_InvoiceHeader, _ocur)
_ocur.CommitChanges()
'Előleg javítás MySQL !!!!
Dim _SQL As String = ""
_SQL = "UPDATE InvoiceHeader t1 JOIN ("
_SQL += " Select t3.Oid,t3.DocumentNumber,MAX(t3.TotalBruttoHUF) As TotalBruttoHUF,ROUND(ABS(SUM(t1.SumPriceBruttoHUF)),0) As TotalAdvancedBruttoHUF"
_SQL += " FROM InvoiceRows t1 JOIN InvoiceRows t2 ON"
_SQL += " t1.InvoiceRowsAdvance=t2.Oid JOIN InvoiceHeader t3 On"
_SQL += " t2.InvoiceHeader=t3.Oid AND t3.IsEditable=0 AND t3.IsStorno=0 AND t3.DocumentNumber IS NOT NULL JOIN InvoiceHeader t4 ON "
_SQL += " t1.InvoiceHeader=t4.Oid And t4.IsStorno=0 And t4.IsEditable=0 And t4.DocumentNumber Is Not NULL"
_SQL += " GROUP BY t3.Oid,t3.DocumentNumber"
_SQL += " ) t2 On"
_SQL += " t1.Oid=t2.Oid"
_SQL += " Set t1.TotalAdvancedBruttoHUF=t2.TotalAdvancedBruttoHUF"
_SQL += " WHERE t1.Oid=t2.Oid"
_ocur.Session.ExecuteNonQuery(_SQL)
If TryCast(e.PopupWindow.View.SelectedObjects(0), ORI_Invoice_Popup).IsFinalInvoice Then
Dim _uow_pci As New UnitOfWork(_ocur.Session.DataLayer)
GLFunctions.ReconfigurePCI(_uow_pci, _InvoiceHeader.CustomersFrom, _InvoiceHeader.Customers, 0, _InvoiceHeader.ConnectInfo)
' --- Pénztári bizonylat ----------------------------------------------------
If _ORI_Invoice_Popup.IsLiquidAssets AndAlso _ORI_Invoice_Popup.PaymentOption.PayMode = ePayMode.InCash And _ORI_Invoice_Popup.IsFinalInvoice Then
CreateGLCassa(_InvoiceHeader, _ocur, _ORI_Invoice_Popup)
End If
Dim _XAFPrintHelper_I As New XAFPrintHelper(_ocur, Frame, _InvoiceHeader.InvoiceType.ReportDataV2, CriteriaOperator.Parse("InvoiceHeader.Oid = ?", _InvoiceHeader.Oid))
_XAFPrintHelper_I.ShowPreviewV2()
End If
Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
Exit Sub
CheckError:
If Err.Number = 91 Then Resume Next
If Err.Number = 13 Then Resume Next
If Err.Number = 5 Then Throw New UserFriendlyException(Err.Description)
End Sub
#End Region
#End Region
Private Sub RecalculateDEV(_Object As Object, _OrderInHeader As OrderInHeader)
Try
Dim _OrderInRows As OrderInRows
Dim _OrderInRowsOther As OrderInRowsOther
If _OrderInHeader IsNot Nothing Then
If _OrderInHeader.OrderInParameters.CurrencyName.ShortName <> "HUF" Then
For Each _OrderInRows In _OrderInHeader.OrderInRows
If _Object.PriceMode = ePriceMode.eDEVToHUF Then
_OrderInRows.ListPriceHUF = Math.Round(_OrderInRows.ListPriceDEV * _Object.CurrencyRate, 0, MidpointRounding.AwayFromZero)
_OrderInRows.DiscountPriceHUF = Math.Round(_OrderInRows.DiscountPriceDEV * _Object.CurrencyRate, 0, MidpointRounding.AwayFromZero)
Else
If _Object.CurrencyRate <> 0 Then
_OrderInRows.ListPriceDEV = Math.Round(_OrderInRows.ListPriceHUF / _Object.CurrencyRate, 2, MidpointRounding.AwayFromZero)
_OrderInRows.DiscountPriceDEV = Math.Round(_OrderInRows.DiscountPriceHUF / _Object.CurrencyRate, 2, MidpointRounding.AwayFromZero)
End If
End If
_OrderInRows.RecalculateRows()
Next
For Each _OrderInRowsOther In _OrderInHeader.OrderInRowsOther
If _Object.PriceMode = ePriceMode.eDEVToHUF Then
_OrderInRowsOther.ListPriceHUF = Math.Round(_OrderInRowsOther.ListPriceDEV * _Object.CurrencyRate, 0, MidpointRounding.AwayFromZero)
_OrderInRowsOther.DiscountPriceHUF = Math.Round(_OrderInRowsOther.DiscountPriceDEV * _Object.CurrencyRate, 0, MidpointRounding.AwayFromZero)
Else
If _Object.CurrencyRate <> 0 Then
_OrderInRowsOther.ListPriceDEV = Math.Round(_OrderInRowsOther.ListPriceHUF / _Object.CurrencyRate, 2, MidpointRounding.AwayFromZero)
_OrderInRowsOther.DiscountPriceDEV = Math.Round(_OrderInRowsOther.DiscountPriceHUF / _Object.CurrencyRate, 2, MidpointRounding.AwayFromZero)
End If
End If
_OrderInRowsOther.RecalculateRows()
Next
End If
End If
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.OkOnly + MsgBoxStyle.Critical, String.Format(CaptionHelper.GetLocalizedText("Exceptions\NuvolarExceptions", "MsgBoxCheckItAgain")))
End Try
End Sub
Private Sub aORI_RecalculateTotalBrutto_Execute(sender As Object, e As SimpleActionExecuteEventArgs) Handles aORI_RecalculateTotalBrutto.Execute
'Dim _ocur As Xpo.XPObjectSpace = TryCast(View.ObjectSpace, Xpo.XPObjectSpace)
'For Each _OrderInHeader As OrderInHeader In View.SelectedObjects
' _OrderInHeader.RecalculateHeaderTotalBrutto()
'Next
'_ocur.CommitChanges()
'If Frame.GetController(Of RefreshController).RefreshAction.Enabled Then
' Frame.GetController(Of RefreshController).RefreshAction.DoExecute()
'End If
End Sub
End Class