> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omnilinker.pl/llms.txt
> Use this file to discover all available pages before exploring further.

# Monitorowanie synchronizacji ERP w Omnilinkerze

> Sprawdź w aplikacji webowej Omnilinkera, czy agent ERP Sync jest online i czy zmiany z Twojego ERP docierają na miejsce.

Omnilinker pokazuje dwa rodzaje informacji o połączeniu ERP:

* **Czy agent działa.** Agent ERP Sync wysyła do Omnilinkera sygnał kontrolny (heartbeat) co 60 sekund. Karta
  **Agent** połączenia pokazuje, kiedy dotarł ostatni.
* **Co się stało z każdą zmianą.** Każda zmiana wysłana przez agenta jest zapisywana jako wpis logu synchronizacji.
  Strony **Logi synchronizacji** i panel podsumowują te wpisy.

Aby zobaczyć, co robi sam agent na komputerze, na którym działa, użyj [aplikacji w zasobniku](/pl/erp/tray-app).

## Gdzie szukać

Wszystko znajdziesz w pozycji **Integracja ERP** w menu głównym:

| Pozycja menu            | Trasa                          | Co pokazuje                                                          | Uprawnienie         |
| ----------------------- | ------------------------------ | -------------------------------------------------------------------- | ------------------- |
| **Panel**               | `/erp-integration/dashboard`   | Sumy dla wszystkich połączeń i najnowsze wpisy logu synchronizacji.  | Połączenia ERP      |
| **Połączenia**          | `/erp-integration/connections` | Twoje połączenia. Otwórz jedno, aby zobaczyć jego szczegóły i karty. | Połączenia ERP      |
| **Logi synchronizacji** | `/erp-integration/sync-logs`   | Wpisy logu synchronizacji wszystkich połączeń.                       | Logi synchronizacji |

Menu **Integracja ERP** pojawia się tylko wtedy, gdy funkcja integracji ERP jest włączona dla Twojej organizacji.
Zobacz [Moduły i ich dostępność](/pl/administration/features).

## Panel

**Integracja ERP** > **Panel** otwiera **Panel integracji ERP**. Dane wczytują się raz, przy otwarciu strony. Aby
wczytać je ponownie, kliknij **Odśwież** na karcie **Przegląd połączeń**.

Cztery karty u góry liczą wpisy logu synchronizacji Twoich **aktywnych** połączeń z całego okresu:

| Karta                         | Co pokazuje                                                                                                                                                                                   |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Aktywne połączenia**        | Liczbę aktywnych połączeń, a pod nią **z `<n>` wszystkich**. Kliknij kartę, aby otworzyć **Połączenia**.                                                                                      |
| **Zsynchronizowane produkty** | Liczbę wpisów logu synchronizacji ze statusem **Zakończone**. Wbrew nazwie liczy wszystkie typy encji (produkty, marki, poziomy cen, ceny, magazyny, stany magazynowe), a nie tylko produkty. |
| **Wskaźnik powodzenia**       | Wpisy **Zakończone** jako procent wszystkich wpisów. Zielony od 90%, bursztynowy od 70%, czerwony poniżej 70%. Gdy nie ma wpisów, pokazuje 100%.                                              |
| **Nieudane operacje**         | Liczbę wpisów ze statusem **Nieudane**. Gdy jest większa od zera, kliknij kartę, aby otworzyć **Logi synchronizacji**.                                                                        |

<Note>
  Karta Nieudane operacje otwiera **Logi synchronizacji** bez filtra. Aby zobaczyć tylko nieudane wpisy, ustaw tam
  **Status** na **Nieudane**.
</Note>

**Przegląd połączeń** pokazuje do sześciu połączeń w postaci kart. Każda karta zawiera nazwę połączenia, jego
dostawcę, plakietkę **Aktywne** lub **Nieaktywne** i czas ostatniej udanej synchronizacji. Kropka przed nazwą jest
szara dla nieaktywnego połączenia, bursztynowa, gdy połączenie nigdy nie było synchronizowane lub ostatnia
synchronizacja była ponad 24 godziny temu, a w pozostałych przypadkach zielona. Kliknij kartę, aby otworzyć
połączenie. **Zobacz wszystkie** otwiera **Połączenia**.

<Warning>
  Agent obecnie nie aktualizuje czasu ostatniej udanej synchronizacji. Pokazuje on **Nigdy**, nawet gdy zmiany
  docierają normalnie, a kropka pozostaje bursztynowa. Aby ocenić, czy synchronizacja działa, sprawdź
  [kartę Agent](#karta-agent) połączenia i [logi synchronizacji](#logi-synchronizacji).
</Warning>

Przycisk synchronizacji na karcie aktywnego połączenia działa tak samo jak **Uruchom synchronizację** na stronie
połączenia. Zobacz [ostrzeżenie poniżej](#szczegóły-połączenia).

**Ostatnia aktywność** pokazuje 10 najnowszych wpisów logu synchronizacji ze wszystkich połączeń, z kolumnami
**Znacznik czasu**, **Połączenie**, **Typ encji**, **Kierunek** (**Z ERP** lub **Do ERP**) i **Status**. Sekcja jest
ukryta, gdy nie ma wpisów. **Zobacz wszystkie** otwiera **Logi synchronizacji**.

## Połączenia

**Integracja ERP** > **Połączenia** pokazuje listę Twoich połączeń z kolumnami:

| Kolumna                     | Co pokazuje                                                                                            |
| --------------------------- | ------------------------------------------------------------------------------------------------------ |
| **Nazwa**                   | Nazwę połączenia.                                                                                      |
| **Dostawca**                | System ERP, na przykład **Wapro**.                                                                     |
| **Status**                  | **Aktywne** lub **Nieaktywne**.                                                                        |
| **Ostatnia synchronizacja** | Czas ostatniej udanej synchronizacji albo **Nigdy**. Agent obecnie jej nie aktualizuje (zobacz wyżej). |

**Status** mówi tylko, czy połączenie jest włączone. Połączenie **Aktywne**, którego agent jest offline, nadal ma
status **Aktywne**. Aby sprawdzić, czy agent działa, otwórz połączenie i zajrzyj na kartę **Agent**.

Połączenie **Nieaktywne** nie przyjmuje niczego od agenta: jego sygnały kontrolne i zmiany są odrzucane, dopóki
ponownie go nie aktywujesz. Aby włączyć lub wyłączyć połączenie, otwórz menu **Akcje** w jego wierszu i kliknij
**Aktywuj** lub **Dezaktywuj** (wymaga uprawnienia Edycja połączeń ERP).

## Szczegóły połączenia

Kliknij **Szczegóły** w menu **Akcje** połączenia albo kartę połączenia w panelu, aby otworzyć stronę połączenia.
Karta nagłówka pokazuje **Dostawca**, **Status** (**Aktywne** lub **Nieaktywne**), **Ostatnia synchronizacja**
i opis. Pod nią znajdują się karty.

<Warning>
  **Uruchom synchronizację** u góry strony (oraz przycisk synchronizacji na kartach w panelu) wyświetla komunikat
  „Synchronizacja została uruchomiona”, ale nie powoduje żadnej akcji agenta. Aby agent od razu wyszukał zmiany,
  użyj **Sync Now** w [aplikacji w zasobniku](/pl/erp/tray-app#sync-now-wstrzymywanie-i-wznawianie) albo wywołaj
  `POST /api/sync/now` w [lokalnym API](/pl/erp/local-api) agenta.
</Warning>

| Karta                           | Do czego służy                                                                                                                          | Kiedy jest widoczna                                |
| ------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| **Konfiguracja synchronizacji** | Które typy encji są synchronizowane i w jaki sposób. Zobacz [Konfiguracja synchronizacji](/pl/erp/sync-configuration).                  | Zawsze                                             |
| **Mapowania pól**               | Jak pola ERP są mapowane na pola katalogu. Zobacz [Mapowanie pól](/pl/erp/field-mappings).                                              | Zawsze                                             |
| **Mapowania**                   | Mapowanie poziomów cen i magazynów ERP na poziomy cen i magazyny w Omnilinkerze. Zobacz [Elementy słownikowe](/pl/erp/reference-items). | Masz uprawnienia Dane słownikowe i Mapowania encji |
| **Logi synchronizacji**         | Wpisy logu synchronizacji tego połączenia. Zobacz [Logi synchronizacji](#logi-synchronizacji).                                          | Zawsze                                             |
| **Agent**                       | Sygnał kontrolny, wersje i możliwości agenta, tak jak ostatnio zgłosił je Omnilinkerowi.                                                | Masz uprawnienie Status agenta                     |
| **Usługa lokalna**              | Bieżący stan agenta odczytywany z Twojego komputera.                                                                                    | Zawsze                                             |

### Karta Agent

Karta **Agent** (**Agent lokalny**) pokazuje, co agent zgłosił w ostatnim sygnale kontrolnym. To widok agenta od
strony Omnilinkera, więc działa na każdym komputerze. Dane wczytują się przy otwarciu karty; aby wczytać je ponownie,
kliknij **Odśwież**.

Dopóki agent nie połączy się po raz pierwszy, karta pokazuje komunikat **Żaden agent jeszcze się nie połączył**.

| Pole                                | Co pokazuje                                                                                                                                              |
| ----------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Stan**                            | **Online**, jeśli ostatni sygnał kontrolny ma najwyżej 3 minuty, w przeciwnym razie **Offline**.                                                         |
| **Ostatni sygnał kontrolny**        | Ile czasu minęło od ostatniego sygnału, na przykład **2 min temu**. Najedź kursorem, aby zobaczyć dokładny czas.                                         |
| **Śledzenie zmian**                 | Tryb wykrywania zmian, którego agent faktycznie używa: **Skanowanie skrótów** lub **Śledzenie zmian WFM\_INT**. Zobacz [Wapro](/pl/erp/providers/wapro). |
| **Dostawca**                        | Klucz dostawcy ERP, na przykład `Wapro`.                                                                                                                 |
| **Wersja agenta**                   | Numer wersji agenta.                                                                                                                                     |
| **Zastosowana wersja konfiguracji** | Wersja konfiguracji połączenia, której używa agent.                                                                                                      |
| **Wtyczki**                         | Wtyczki dostawców w agencie i ich wersje.                                                                                                                |
| **Wersja ERP**                      | Informacje o wersji odczytane przez agenta z bazy danych ERP. Widoczne tylko, jeśli zostały zgłoszone.                                                   |
| **Możliwości**                      | Co obsługuje ERP, w postaci etykiet: znacznik wyboru oznacza obsługiwane, krzyżyk nieobsługiwane. Widoczne tylko, jeśli zostały zgłoszone.               |

Agent wysyła sygnał kontrolny co 60 sekund, więc przy sprawnym agencie nie zobaczysz tu więcej niż około minuty.

**Gdy agent jest offline.** **Offline** oznacza, że Omnilinker nie otrzymał sygnału kontrolnego od ponad 3 minut.
Agent może być zatrzymany, może nie mieć dostępu do `omnilinker.pl` albo może być odrzucany przez Omnilinkera
(unieważniony klucz API, nieaktywne połączenie lub zbyt stara wersja agenta). **Ostatni sygnał kontrolny** pokazuje,
kiedy to się zaczęło. Zobacz [Rozwiązywanie problemów](/pl/erp/troubleshooting).

**Rozbieżność konfiguracji.** Gdy zmieniasz ustawienia połączenia, jego wersja konfiguracji rośnie. Jeśli agent wciąż
używa starszej wersji, karta pokazuje komunikat **Wykryto rozbieżność konfiguracji**: „Agent działa na wersji
konfiguracji `<n>`, ale aktualna wersja to `<m>`.” Agent zauważa zmianę przy następnym sygnale kontrolnym i pobiera
nową konfigurację. Jeśli komunikat nie znika przez dłużej niż kilka minut, agent jest prawdopodobnie offline.

**Gdy wersja agenta jest zbyt stara.** Omnilinker może ustalić minimalną obsługiwaną wersję agenta. Starszy agent jest
odrzucany przy każdym żądaniu z błędem „Agent version `<version>` is no longer supported (minimum supported version:
`<minimum>`). Please update the ERP Sync agent.” Tego komunikatu nie zobaczysz w aplikacji webowej. Zobaczysz
natomiast, że:

* **Stan** zmienia się na **Offline**, a **Ostatni sygnał kontrolny** przestaje się zmieniać, bo sygnały kontrolne
  też są odrzucane.
* **Wersja agenta** nadal pokazuje starą wersję, z ostatniego przyjętego sygnału kontrolnego.

Sam komunikat błędu znajdziesz w pliku logu agenta. Agent [aktualizuje się sam](/pl/erp/install-agent#zaktualizuj-agenta)
w nocy, gdy pojawi się nowsza wersja. Jeśli karta nadal pokazuje **Offline**, zaktualizuj go ręcznie. Zobacz też
[Rozwiązywanie problemów](/pl/erp/troubleshooting).

### Karta Usługa lokalna

Karta **Usługa lokalna** odczytuje stan agenta bezpośrednio z jego [lokalnego API](/pl/erp/local-api) pod adresem
`http://localhost:5555`, z przeglądarki, której używasz. Odświeża się co 5 sekund.

Ponieważ korzysta z `localhost`, pokazuje agenta tylko wtedy, gdy otworzysz Omnilinkera w przeglądarce **na
komputerze, na którym zainstalowany jest agent**. Na każdym innym komputerze pokazuje komunikat
**Lokalna usługa synchronizacji niedostępna**. To normalne i nie oznacza, że agent nie działa; użyj wtedy
[karty Agent](#karta-agent). Kroki instalacji pokazane pod tym komunikatem są ogólne. Aby zainstalować agenta,
postępuj zgodnie z instrukcją [Instalacja agenta](/pl/erp/install-agent).

Gdy agent jest osiągalny, karta pokazuje:

* **Status usługi**: stan agenta (**Bezczynny**, **Synchronizacja**, **Wstrzymano**, **Błąd**, **Uruchamianie**
  lub **Zatrzymywanie**), **Połączenie z chmurą** i **Połączenie z ERP** (**Połączony** lub **Rozłączony**),
  **Ostatnia synchronizacja** i **Następna synchronizacja** (albo **Nie zaplanowano**).
* **Ostatni błąd**, jeśli wystąpił.
* **Synchronizuj teraz**, **Wstrzymaj** (podczas synchronizacji), **Wznów** (gdy synchronizacja jest wstrzymana)
  i **Odśwież**. Te przyciski działają na agenta na tym komputerze.
* **Statystyki kolejki wysyłania**: zdarzenia **Oczekujące**, **Wysłane**, **Nieudane** i **Ponawiane** w lokalnej
  kolejce agenta.
* **Statystyki encji**: dla każdego typu encji zdarzenia w kolejce: **Razem**, **Zsynchronizowane**, **Oczekujące**
  i **Nieudane**.
* **Ostatnia aktywność**: 10 najnowszych wpisów logu agenta, z kolumnami **Znacznik czasu**, **Poziom**
  i **Wiadomość**.
* **Wersja usługi**: wersja agenta.

Karta oczekuje lokalnego API na porcie 5555. Jeśli zmieniono `LocalApiPort`, nie połączy się z agentem. Zobacz
[opis konfiguracji](/pl/erp/configuration-reference).

## Logi synchronizacji

Dla każdej zmiany od agenta, którą Omnilinker przetwarza, tworzony jest wpis logu synchronizacji. Każdy wpis zawiera:

| Pole                   | Znaczenie                                                                                                      |
| ---------------------- | -------------------------------------------------------------------------------------------------------------- |
| Typ encji              | **Produkt**, **Marka**, **Poziom cen**, **Cena produktu**, **Magazyn**, **Stan magazynowy** lub skład zestawu. |
| Kierunek               | **Z ERP** dla zmian pochodzących z Twojego ERP.                                                                |
| Operacja               | **Utworzenie**, **Aktualizacja** lub **Usunięcie**.                                                            |
| Status                 | Zobacz tabelę poniżej.                                                                                         |
| Identyfikator encji    | Czytelny identyfikator, na przykład SKU, jeśli jest dostępny.                                                  |
| ID encji ERP           | Identyfikator rekordu w ERP.                                                                                   |
| Komunikat błędu        | Dlaczego wpis się nie powiódł lub został pominięty.                                                            |
| Ponowienia             | Ile razy użyto **Ponów** dla tego wpisu.                                                                       |
| Dane zmian             | Dane otrzymane od agenta.                                                                                      |
| Rozpoczęto, zakończono | Kiedy Omnilinker rozpoczął i zakończył przetwarzanie zmiany.                                                   |

**Statusy**

| Status            | Znaczenie                                                            |
| ----------------- | -------------------------------------------------------------------- |
| **Oczekujące**    | Czeka na przetworzenie.                                              |
| **Przetwarzanie** | W trakcie przetwarzania (w tabelach wyświetlane jako **W trakcie**). |
| **Zakończone**    | Zastosowane w Omnilinkerze.                                          |
| **Nieudane**      | Nie udało się zastosować. Komunikat błędu podaje przyczynę.          |
| **Pominięte**     | Celowo niezastosowane. Komunikat błędu zawiera powód.                |

Tabele nie pokazują plakietki statusu dla wpisów **Pominięte**. Aby je rozróżnić, sprawdź komunikat błędu.

Najczęstsze powody statusu **Pominięte**. Powód jest zapisywany jako kod:

| Kod                                                                                                                                   | Znaczenie                                                   | Co zrobić                                                                                          |
| ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------- | -------------------------------------------------------------------------------------------------- |
| `ErpIntegration:Skip:ProductNotMapped`                                                                                                | Produkt nie jest jeszcze powiązany z produktem w katalogu.  | Poczekaj, aż zsynchronizuje się sam produkt, albo sprawdź [mapowanie pól](/pl/erp/field-mappings). |
| `ErpIntegration:Skip:PriceLevelNotMapped`                                                                                             | Poziom cen ERP nie jest zmapowany na poziom cen w katalogu. | Zmapuj go na karcie **Mapowania**. Zobacz [Elementy słownikowe](/pl/erp/reference-items).          |
| `ErpIntegration:Skip:WarehouseNotMapped`                                                                                              | Magazyn ERP nie jest zmapowany na magazyn w Omnilinkerze.   | Zmapuj go na karcie **Mapowania**.                                                                 |
| `ErpIntegration:Skip:DerivedPriceLevel`                                                                                               | Pochodny poziom cen. Takie poziomy nigdy nie są mapowane.   | Nic.                                                                                               |
| `ErpIntegration:Skip:BundleComponentsNotMapped`, `ErpIntegration:Skip:BundleNotABundle`, `ErpIntegration:Skip:BundleNestedNotAllowed` | Nie udało się zastosować składu zestawu.                    | Zobacz [Wapro](/pl/erp/providers/wapro).                                                           |
| „Conflict resolution: incoming data is not newer”                                                                                     | Omnilinker ma już nowsze dane tego rekordu.                 | Nic.                                                                                               |

Gdy Omnilinker nie może przetworzyć zmiany z ERP z powodu błędu, nie zapisuje wpisu **Nieudane**. Odrzuca zmianę,
a agent wysyła ją ponownie później. Takie błędy pojawiają się w logu agenta, a nie tutaj. Zobacz
[Rozwiązywanie problemów](/pl/erp/troubleshooting).

### Strona Logi synchronizacji

**Integracja ERP** > **Logi synchronizacji** pokazuje wpisy wszystkich Twoich połączeń, od najnowszych, po 20 na
stronie.

* **Połączenie**: **Wszystkie połączenia** lub jedno połączenie.
* **Status**: **Wszystkie statusy** lub jeden status.

Kolumny to **Znacznik czasu**, **Połączenie**, **Typ encji**, **Operacja**, **Status**, **Błąd** i **Akcje**. Najedź
kursorem na plakietkę **Błąd**, aby przeczytać komunikat.

### Karta Logi synchronizacji

Karta **Logi synchronizacji** połączenia pokazuje tylko wpisy tego połączenia i ma więcej narzędzi.

Karty podsumowania pokazują **Total Operations** (z całego okresu), **Zakończone** ze wskaźnikiem powodzenia
(**Success Rate**), **Nieudane** (kliknij, aby pokazać tylko nieudane wpisy) oraz **In Progress** (oczekujące
i przetwarzane).

Filtry i narzędzia:

* **STATUS**: **Wszystkie**, **Zakończone**, **Nieudane**, **Oczekujące** lub **Przetwarzanie**.
* Zakres czasu: **Ostatnie 24 godziny**, **Ostatnie 7 dni**, **Ostatnie 30 dni**, **Ostatnie 90 dni** lub
  **Cały czas** (domyślnie).
* **Search Entity ID...**: wyszukuje wpisy po identyfikatorze encji lub ID encji ERP.
* **Eksportuj CSV** (ikona pobierania): pobiera wpisy pasujące do filtrów jako plik CSV.
* **Wyczyść** (wymaga uprawnienia Usuwanie logów synchronizacji): usuwa wpisy starsze niż podana liczba dni,
  domyślnie 30. Kliknij **Podgląd**, aby zobaczyć, ile wpisów zostanie usuniętych, a potem **Usuń logi**. Tej
  operacji nie można cofnąć.

Kolumny to **Type**, **Operacja**, **Entity ID**, **Status**, **Ponowienia**, **Time** i **Akcje**. Przy wpisie
z komunikatem błędu kliknij ikonę błędu, aby otworzyć okno **Szczegóły logu synchronizacji** z pełnym
**Komunikat błędu**, **Dane zmian** i przyciskami do ich skopiowania.

Zaznacz wpisy polami wyboru, aby użyć przycisku **Ponów wybrane** (dla nieudanych wpisów) lub **Usuń wybrane**
(wymaga uprawnienia Usuwanie logów synchronizacji).

### Ponawianie

Przycisk **Ponów** jest dostępny dla wpisów **Nieudane** (wymaga uprawnienia Ręczne uruchamianie synchronizacji),
najwyżej 3 razy dla jednego wpisu. Przywraca wpisowi status **Oczekujące** i zwiększa o jeden liczbę
**Ponowienia**.

<Warning>
  Ponowienie obecnie nie przetwarza zmiany jeszcze raz. Wpis pozostaje **Oczekujące**. Aby zmiana została
  zastosowana ponownie, zmień rekord w ERP, tak aby agent wysłał go jeszcze raz.
</Warning>

## Powiązane strony

<CardGroup cols={2}>
  <Card title="Aplikacja w zasobniku" icon="monitor" href="/pl/erp/tray-app">
    Obserwuj agenta i steruj nim na komputerze, na którym działa.
  </Card>

  <Card title="Rozwiązywanie problemów" icon="life-buoy" href="/pl/erp/troubleshooting">
    Napraw agenta offline, odrzucane klucze i zmiany, które nie docierają.
  </Card>
</CardGroup>
