Skocz do zawartości

Damian Kopyciński

Użytkownik
  • Liczba zawartości

    3
  • Rejestracja

  • Ostatnia wizyta

Posty dodane przez Damian Kopyciński

  1. InsERT nexo 34.0.0 (4222)

    Przechodzimy z Subiekta GT na Nexo, piszę alternatywną implementację i napotkałem problematyczną nieścisłość.

     

    Próba wybrania adresu dostawy 'Zamawiającego' poprzez 'Wybierz inny adres dostawy' na jeden z dodatkowych adresów 'do wysyłki' klienta zamawiającego powoduje zmianę dostawy na 'Wprowadzony na dokumencie' i w ten sposób w modelu obiektowym ginie referencja do Dokument.MiejsceDostawyZewnetrzne

     

    Nie byłoby to problematyczne, ale co gorsza adres 'Wprowadzony na dokumencie' nie ma szczegółów tj. Miejscowosc, Ulica, Kod, itd., a wszystko ląduje do pól Linia1, Linia2, Linia3.

    Pytanie: Czy można to(używanie szczegółowego adresu dostawy wprowadzanego na dokumencie) włączyć? Nie znalazłem w konfiguracji.

     

    Zmiana MiejsceDostawyZewnetrzne z poziomu Sfery na dowolny adres zamawiającego działa poprawnie, również wyświetla się poprawnie w UI, więc wygląda to na błąd 'wyboru innego adresu dostawy'. Na błąd wskazuje też info widoczne po zaznaczeniu 'Pokaż szczegóły' - w nieaktywnych polach tekstowych: "do wysyłki" a z boku nazwa wybranego adresu oraz fakt, że ręczna zmiana treści adresu nie resetuje pola z nazwą adresu sugerując dalsze powiązanie z nim.

     

    Nasi klienci to w dużej mierze instalatorzy, którzy zamawiając towar wysyłają go od razu w miejsce instalacji, bez potrzeby umieszczania odbiorcy na dokumencie sprzedaży.

    Adresy dostawy z dokumentów są źródłem dla naszego modułu wysyłkowego napisanego z myślą o szczegółowych adresach SubiektaGT. Adresy zbite w linie tekstu to dla nas krok wstecz względem GT, tym większe moje zdumienie i sugestia by wprowadzić możliwość używania adresów szczegółowych.

    Nawet InPost od tego odchodzi i w dokumentacji ShipX informuje że "Atrybut line1 i line2 jest jeszcze wspierany, jednak zalecane jest używanie street i building_number."

     

    Nieco ubolewamy też nad usunięciem telefonu z adresu dostawy, licząc że może w przyszłości wprowadzicie pola własne dla adresów dodatkowych. Wtedy można by umieścić tam również e-mail i paczkomat ;)

     

    Sugeruję też umieszczenie przycisku 'Dodaj' w oknie 'Wybierz inny adres dostawy' albo zamiast tego przy wypełnianiu 'Wprowadzony na dokumencie' np. checkbox 'Dodaj do adresów Zamawiającego/Odbiorcy/...'

     

    Ale nie to najważniejsze, prosiłbym głównie o odpowiedź czy w.w. problem wyboru innego adresu dostawy niszczącego ref. to rzeczywiście błąd, czy może tak już zostanie?

  2. Subiekt Nexo PRO Prezentacyjny, nexoSDK_34.0.0.4222, VB.NET, Framework 4.6.1

     

    W związku z planowaną migracją z Subiekta GT tworzę bibliotekę z alternatywnym rozwiązaniem dla Subiekta Nexo, ale z jakiegoś powodu występuje błąd przy wywołaniu metody Polacz: System.InvalidOperationException: „Brak bieżącej aplikacji” 

            ConnectionManager = New Sfera.MenedzerPolaczen()
            ConnectionManager.DostepDoUI = True
            Dim pName = "/UruchomionePrzezInsLauncher"
            If Environment.GetCommandLineArgs().Any(Function(a) String.Compare(a, pName, True) = 0) Then
                ConnectionData = Sfera.DanePolaczenia.Odbierz()
            Else
                ConnectionData = Sfera.DanePolaczenia.Jawne(serwer:="(local)\SQLEXPRESS", baza:="Nexo_MBS", False, uzytkownikSerwera:="xxx", hasloUzytkownikaSerwera:="xxx")
            End If
            Nexo = ConnectionManager.Polacz(ConnectionData, InsERT.Mox.Product.ProductId.Subiekt)

    Dodam, że Subiekt nexo jest uruchomiony.

    Do Solution(rozwiązania głównego) dołączyłem nowy projekt, Biblioteka klas (.NET Framework).

    W referencjach nowego projektu dodano:

    InsERT.Moria.API

    InsERT.Moria.ModelDanych

    InsERT.Moria.Narzedzia

    InsERT.Moria.Security.Core

    InsERT.Moria.Sfera

    InsERT.Mox.Core

    InsERT.Mox.EntityFramework.Core

    InsERT.Mox.EntityFrameworkSupport

     

    Co może być przyczyną błędu? Jestem tym bardziej zmieszany, że wcześniej utworzyłem testowy Solution (Aplikacja Windows Forms .NET Framework) zawierający identyczny kod i referencje, tam nie ma problemu z łączeniem(chociaż trwa to aż 10 sekund) i pobieraniem danych z bazy przy użyciu sfery.

     

    Dodam również, że dołączenie do rozwiązania głównego nowego projektu typu Aplikacja Windows Forms (.NET Framework) i próba połączenia ze Sferą po utworzeniu instancji okna generuje ten sam błąd. Ustawienie tego projektu jako startowy dla aplikacji również nie pomaga.

     

    Załączam szczegóły błędu:

       w InsERT.Moria.Sfera.UI.Configuration.SferaUIModule.ConfigureApplication(IInjectionContainer unityContainer, IUnityContainer unity, LaunchMessage message)
       w InsERT.Moria.Sfera.MenedzerPolaczen.qC8=(UnityAdapter container, IUnityContainer unity, LaunchMessage launchMessage, Boolean ui)
       w InsERT.Moria.Sfera.MenedzerPolaczen.Polacz(DanePolaczenia danePolaczenia, ProductId produkt, Nullable`1 dodatkowyProdukt1, Nullable`1 dodatkowyProdukt2, Nullable`1 dodatkowyProdukt3, Nullable`1 dodatkowyProdukt4, Nullable`1 dodatkowyProdukt5)
       w NexoDALTest.Form1.Form1_Shown(Object sender, EventArgs e) w C:\svn_repos\mSOH2\Projekt\mSOH2\NexoDALTest\Form1.vb:wiersz 48
       w System.Windows.Forms.Form.OnShown(EventArgs e)
       w System.Windows.Forms.Form.CallShownEvent()
       w System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
       w System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
       w System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       w System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       w System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       w System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
       w System.Windows.Forms.Control.InvokeMarshaledCallbacks()
       w System.Windows.Forms.Control.WndProc(Message& m)
       w System.Windows.Forms.ScrollableControl.WndProc(Message& m)
       w System.Windows.Forms.Form.WndProc(Message& m)
       w System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
       w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
       w System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
       w System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
       w System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
       w System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       w System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       w Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
       w Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
       w Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
       w mSOH2.My.MyApplication.Main(String[] Args) w :wiersz 81

     

×
×
  • Dodaj nową pozycję...