1. Strona główna
  2. Dokumentacja
  3. Integracja z Subiekt Nexo
  4. Błędy zamówień w Subiekt Nexo – weryfikacja i rozwiązania

Błędy zamówień w Subiekt Nexo – weryfikacja i rozwiązania

W systemie xSale nie wszystkie błędy dotyczące zamówień są domyślnie wyświetlane w logach zamówienia – w przeciwieństwie do integracji z systemami Comarch. W niniejszym artykule pokażemy, jak samodzielnie sprawdzić błędy powstałe podczas próby importu zamówienia do Subiekt Nexo.

Jak działa zapis błędów w xSale?

W momencie przesyłania zamówienia do systemu ERP, xSale na bieżąco monitoruje proces integracji i zapisuje informacje o ewentualnych błędach powstałych w trakcie importu. Dane te nie są jednak widoczne bezpośrednio w logu zamówienia, dlatego w przypadku problemów warto wykonać poniższe kroki w celu ich odnalezienia i analizy.

W momencie, gdy zamówienie otrzyma status „Do obsługi ręcznej”, należy przejść do aplikacji Futuriti Connector na serwerze, na którym została ona zainstalowana.

W tym celu:

  1. Zaloguj się na serwer, gdzie działa Futuriti Connector.

  2. Uruchom aplikację Futuriti Connector, a następnie kliknij „Status Futuriti Connector”

  3. Po uruchomieniu aplikacji Futuriti Connector w przeglądarce automatycznie otworzy się strona zawierająca ogólne informacje o połączeniu pomiędzy systemem xSale a Subiektem.

  4. Następnie w wyświetlonym interfejsie przejdź do zakładki „Logi”, aby uzyskać szczegółowe informacje o przetwarzanych operacjach oraz ewentualnych błędach synchronizacji.

  5. W zakładce „Logi” wyświetlane są wszystkie informacje dotyczące procesów realizowanych przez Futuriti Connector – zarówno zakończonych powodzeniem, jak i tych, które zakończyły się niepowodzeniem. Zakładka ta pozwala na bieżąco monitorować działanie integracji oraz diagnozować ewentualne błędy.

  6. W momencie, gdy zamówienie trafi do statusu „Do obsługi ręcznej”, system wyświetli odpowiedni komunikat informujący o przyczynie zatrzymania procesu. Komunikat zawiera szczegóły dotyczące problemu z zamówieniem, co umożliwia szybszą diagnozę i podjęcie odpowiednich działań naprawczych.

Na potrzeby niniejszego wpisu przesłane zostało jedno testowe zamówienie, w którym ustawiono formę płatności „PayPal”.

Warto zaznaczyć, że forma ta nie występuje w systemie Subiekt jako zdefiniowany sposób płatności. W związku z tym, podczas próby przetworzenia takiego zamówienia, system wyświetli następujący komunikat:

21.07.2025 14:22:01 - Error[638886970794015858]: Synchronizacja dokumentów
FuturitiErpConnector.UI.Features.Document.SyncDocuments.Exceptions.DocumentSynchronizationException: An error occurred during documents synchronization. Following erros (1) have occurred during synchronization process: 0: {"Error":"Nie znaleziono formy płatności w Subiekt nexo. Nazwa=PayPal"} at FuturitiErpConnector.UI.Features.Document.SyncDocuments.Service.SyncSubiektNexoDocumentService.SynchronizeAsync(SyncContext context) in c:\E\9\s\FuturitiErpConnect\FuturitiErpConnect\FuturitiErpConnector.UI\Features\Document\SyncDocuments\Service\SyncSubiektNexoDocumentService.cs:line 39 at FuturitiErpConnector.UI.Common.SyncAction.SyncApmDecorator`1.SynchronizeAsync(SyncContext context) in c:\E\9\s\FuturitiErpConnect\FuturitiErpConnect\FuturitiErpConnector.UI\Common\SyncAction\SyncApmDecorator.cs:line 40 at FuturitiErpConnector.UI.Common.SyncActions.SyncLoggingDecorator`1.SynchronizeAsync(SyncContext context) in c:\E\9\s\FuturitiErpConnect\FuturitiErpConnect\FuturitiErpConnector.UI\Common\SyncAction\SyncLoggingDecorator.cs:line 56 at Polly.CircuitBreaker.AsyncCircuitBreakerPolicy.<>c__DisplayClass8_0`1.<<ImplementationAsync>b__0>d.MoveNext() --- End of stack trace from previous location --- at Polly.CircuitBreaker.AsyncCircuitBreakerEngine.ImplementationAsync[TResult](Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext, ExceptionPredicates shouldHandleExceptionPredicates, ResultPredicates`1 shouldHandleResultPredicates, ICircuitController`1 breakerController) at Polly.CircuitBreaker.AsyncCircuitBreakerPolicy.ImplementationAsync[TResult](Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext) at Polly.AsyncPolicy.ExecuteAsync[TResult](Func`3 action, Context context, CancellationToken cancellationToken, Boolean continueOnCapturedContext) at Quartz.Core.JobRunShell.Run(CancellationToken cancellationToken) Following StackTrace (1) have occurred during synchronization process: 0: at FuturitiSubiektNexoConnector.Common.NexoApiClient.SalesOrderClient.AddSalesOrderAsync(Document salesOrder, TransactionConfig transactionConfig) in c:\E\9\s\FuturitiErpConnect\FuturitiErpConnect\FuturitiSubiektNexoConnector\Common\NexoApiClient\SalesOrderClient.cs:line 35 at FuturitiSubiektNexoConnector.Service.Documents.DocumentService.CreateSalesOrder(Document document, TransactionConfig transactionConfig) in c:\E\9\s\FuturitiErpConnect\FuturitiErpConnect\FuturitiSubiektNexoConnector\Service\Documents\DocumentService.cs:line 65 at FuturitiErpConnector.UI.Features.Document.SyncDocuments.Service.SyncDocumentServiceBase.SyncNewDocumentsToErp(ICollection`1 exceptionsThrew) in c:\E\9\s\FuturitiErpConnect\FuturitiErpConnect\FuturitiErpConnector.UI\Features\Document\SyncDocuments\Service\SyncDocumentServiceBase.cs:line 888

W tej sytuacji zamówienie należy poprawić po stronie xSale, a następnie ustawić status na „Nowe”, aby ponownie przesłało się do Subiekta Nexo. Operację należy powtórzyć dla każdego rodzaju błędów.

Najczęstsze błędy podczas importu zamówień do Subiekta Nexo

  • Nie znaleziono towaru w Subiekt nexo: Symbol=000001 – brak towaru o podanym ID lub oferta nie powiązana z towarem w xSale
  • Nie znaleziono kodu magazynu KodTestowegoMagazynu – brak magazynu o podanym kodzie
  • Nie znaleziono towaru w Subiekt nexo: Symbol=TRANSPORT – brak mapowania sposobu dostawy
  • Nie znaleziono formy płatności w Subiekt nexo. Nazwa=PayPal – brak dodanego typu płatności
  • Wystąpił błąd dostępu do danych. – w Subiekcie NEXO brak dodanych pól własnych na dokumencie ZK