-
Liczba zawartości
3 -
Rejestracja
-
Ostatnia wizyta
Posty dodane przez Damian Kopyciński
-
-
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
[Błąd][Sugestia][Pytanie] Adres dostawy na dokumencie bez szczegółów
w Sprawy techniczne
Napisano
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?