> ## 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.

# Wymagania integracji ERP

> Sprawdź, jakiego komputera, sieci, dostępu do bazy danych i dostępu do Omnilinkera potrzebujesz, zanim skonfigurujesz integrację ERP.

W konfigurację integracji ERP zaangażowane są dwie osoby: administrator organizacji, który pracuje w aplikacji
webowej Omnilinkera, i osoba z działu IT, która instaluje agenta ERP Sync w Twojej sieci. Na tej stronie znajdziesz
listę tego, czego potrzebuje każda z nich.

## Komputer dla agenta

Zainstaluj agenta na komputerze z Windows, który pozostaje włączony i ma dostęp do serwera bazy danych ERP. Agent
działa tylko wtedy, gdy ten komputer jest uruchomiony, dlatego serwer jest lepszym wyborem niż komputer stacjonarny
wyłączany na noc.

| Wymaganie                  | Szczegóły                                                                                                                                                                                                                                                                                                            |
| -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| System operacyjny          | 64-bitowy (x64) Windows                                                                                                                                                                                                                                                                                              |
| Środowisko .NET            | Nie trzeba niczego instalować. Agent zawiera wszystko, czego potrzebuje.                                                                                                                                                                                                                                             |
| Uprawnienia do instalacji  | Konto lokalnego administratora i PowerShell uruchomiony **jako administrator**. Instalator instaluje usługę Windows.                                                                                                                                                                                                 |
| Folder instalacyjny        | Folder poza wszystkimi profilami użytkowników, na przykład `C:\Program Files\Omnilinker\ErpSync`. Instalator nie rejestruje usługi z folderu w profilu użytkownika.                                                                                                                                                  |
| Konto usługi               | Nie trzeba go tworzyć. Usługa działa jako Lokalny system.                                                                                                                                                                                                                                                            |
| Osoby konfigurujące agenta | Członkowie lokalnej grupy **Omnilinker ERP Sync Operators** albo administratorzy, którzy uruchamiają aplikację w zasobniku z podwyższonymi uprawnieniami. Instalator tworzy grupę i dodaje do niej osobę, która instaluje agenta. Zobacz [Kto może zmieniać agenta](/pl/erp/install-agent#kto-może-zmieniać-agenta). |

## Sieć

| Kierunek       | Cel                       | Port                                                     | Po co                                                                                      |
| -------------- | ------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------ |
| Wychodzący     | `omnilinker.pl`           | 443 (HTTPS)                                              | Agent wysyła zmiany i pobiera swoją konfigurację.                                          |
| Wychodzący     | `releases.omnilinker.com` | 443 (HTTPS)                                              | Agent pobiera swoje [automatyczne aktualizacje](/pl/erp/install-agent#zaktualizuj-agenta). |
| Wychodzący     | SQL Server Twojego ERP    | 1433 albo port, którego używa Twoja instancja SQL Server | Agent odczytuje bazę danych ERP.                                                           |
| Tylko lokalnie | `localhost`               | 5555                                                     | Lokalne API agenta, z którego korzysta aplikacja w zasobniku.                              |

* Agent nie potrzebuje żadnego połączenia przychodzącego z internetu. Każde połączenie otwiera sam.
* Lokalne API nasłuchuje tylko na `localhost`, więc nie wymaga reguły zapory. Port 5555 musi być wolny na komputerze
  agenta.
* Pozostaw ustawienie `LocalApiPort` na domyślnej wartości `5555`. Aplikacja w zasobniku i karta **Usługa lokalna**
  w aplikacji webowej zawsze szukają agenta na porcie 5555. Zobacz
  [dokumentację konfiguracji](/pl/erp/configuration-reference).
* Karta **Usługa lokalna** połączenia w aplikacji webowej komunikuje się z agentem pod adresem
  `http://localhost:5555`, więc pokazuje status agenta tylko wtedy, gdy otwierasz Omnilinkera w przeglądarce na
  komputerze agenta.

## Miejsce na dysku

Agent przechowuje na swoim komputerze lokalną bazę kolejki wychodzącej (outbox), kopię swojej konfiguracji i pliki
logów. Codziennie powstaje nowy plik logu, a przechowywanych jest 30 ostatnich.

Pierwsza synchronizacja dużego ERP umieszcza w kolejce wychodzącej każdy produkt, cenę i stan magazynowy, zanim
zostaną wysłane, więc zarezerwuj na to dodatkowe miejsce.

## Login SQL Server

Agent łączy się z bazą danych ERP za pomocą wybranego przez Ciebie loginu: z uwierzytelnianiem SQL Server albo
z uwierzytelnianiem Windows. Przy uwierzytelnianiu Windows usługa łączy się jako konto, na którym działa, czyli
Lokalny system. W SQL Server to konto widać jako:

* konto domenowe komputera agenta, `<DOMAIN>\<COMPUTER>$`, gdy SQL Server działa na innym komputerze. Oba komputery
  muszą należeć do tej samej domeny albo do domen, które sobie ufają.
* `NT AUTHORITY\SYSTEM`, gdy SQL Server działa na samym komputerze agenta.

Nadaj temu loginowi opisane niżej uprawnienia w SQL Server. Jeśli nie możesz, użyj uwierzytelniania SQL Server.

To, czego potrzebuje login, zależy od trybu wykrywania zmian w połączeniu.

### Skanowanie skrótów (domyślnie)

Skanowanie skrótów tylko odczytuje dane. Login potrzebuje dostępu do odczytu bazy danych ERP, na przykład członkostwa
w roli `db_datareader`. W tym trybie agent nie wprowadza żadnych zmian w bazie danych ERP.

### Śledzenie zmian WFM\_INT (Wapro)

Śledzenie zmian WFM\_INT korzysta z wbudowanego w Wapro mechanizmu integracji. Gdy zarejestrujesz je w aplikacji
w zasobniku, po wyrażeniu zgody, agent zapisuje dane w tabelach mechanizmu Wapro `WFM_INT_*`. Nigdy nie zapisuje
niczego w Twoich tabelach biznesowych, takich jak artykuły, ceny czy magazyny.

Oprócz dostępu do odczytu login potrzebuje tych uprawnień:

| Tabela                                                                                                                                                                 | Uprawnienia                  | Co robi agent                                                                                                                                                                                                |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `WFM_INT_SYSTEM`                                                                                                                                                       | `INSERT`, `DELETE`           | Dodaje jeden wiersz o nazwie `OMNILINKER`, który rejestruje Omnilinkera jako odbiorcę. Wyrejestrowanie go usuwa.                                                                                             |
| `WFM_INT_SYSTEM_TABLICE`                                                                                                                                               | `INSERT`, `DELETE`           | Dodaje jeden wiersz subskrypcji dla każdej śledzonej tabeli. Wyrejestrowanie je usuwa.                                                                                                                       |
| `WFM_INT_ARTYKUL`, `WFM_INT_CENA`, `WFM_INT_CENA_ARTYKULU`, `WFM_INT_MAGAZYN`, `WFM_INT_KOD_KRESKOWY`, `WFM_INT_KATEGORIA_ARTYKULU`, `WFM_INT_KATEGORIA_ARTYKULU_TREE` | `INSERT`, `UPDATE`, `DELETE` | Przy rejestracji dodaje jeden wiersz śledzenia dla każdego istniejącego rekordu, aby wszystko zostało wysłane raz. Po każdej partii oznacza przetworzone wiersze. Wyrejestrowanie usuwa wiersze Omnilinkera. |

Agent zmienia tylko wiersze należące do rejestracji `OMNILINKER`. Wierszy innych systemów, które korzystają z tego
samego mechanizmu, nie dotyka.

```sql theme={null}
-- Read access (enough for Hash scan)
ALTER ROLE db_datareader ADD MEMBER [<agent-login>];

-- Extra rights for WFM_INT change tracking
GRANT INSERT, DELETE ON dbo.WFM_INT_SYSTEM TO [<agent-login>];
GRANT INSERT, DELETE ON dbo.WFM_INT_SYSTEM_TABLICE TO [<agent-login>];
GRANT INSERT, UPDATE, DELETE ON dbo.WFM_INT_ARTYKUL TO [<agent-login>];
GRANT INSERT, UPDATE, DELETE ON dbo.WFM_INT_CENA TO [<agent-login>];
GRANT INSERT, UPDATE, DELETE ON dbo.WFM_INT_CENA_ARTYKULU TO [<agent-login>];
GRANT INSERT, UPDATE, DELETE ON dbo.WFM_INT_MAGAZYN TO [<agent-login>];
GRANT INSERT, UPDATE, DELETE ON dbo.WFM_INT_KOD_KRESKOWY TO [<agent-login>];
GRANT INSERT, UPDATE, DELETE ON dbo.WFM_INT_KATEGORIA_ARTYKULU TO [<agent-login>];
GRANT INSERT, UPDATE, DELETE ON dbo.WFM_INT_KATEGORIA_ARTYKULU_TREE TO [<agent-login>];
```

Agent wykonuje też kontrole stanu, które odczytują metadane wyzwalaczy (`sys.triggers`) dla śledzonych tabel oraz
ustawienie serwera `nested triggers` (`sys.configurations`).

Jeśli Twoja baza danych Wapro zawiera więcej niż jedną firmę, przygotuj identyfikator firmy (`ID_FIRMY`). Wpisujesz go
w agencie. Zobacz [Wapro](/pl/erp/providers/wapro).

## Dostęp do Omnilinkera

### Funkcja integracji ERP

Integracja ERP jest domyślnie wyłączona. Omnilinker włącza ją dla Twojej organizacji na prośbę. Dopóki nie jest
włączona, menu **Integracja ERP** się nie pojawia. Zobacz [Moduły i ich dostępność](/pl/administration/features).

### Uprawnienia administratora organizacji

Osoba, która konfiguruje połączenie, potrzebuje tych uprawnień z grupy **Integracja ERP**:

| Uprawnienie                                   | Potrzebne, aby                                                    |
| --------------------------------------------- | ----------------------------------------------------------------- |
| **Połączenia ERP**                            | Widzieć **Integracja ERP** > **Panel** i **Połączenia**.          |
| **Tworzenie połączeń ERP**                    | Utworzyć połączenie.                                              |
| **Generowanie klucza API agenta**             | Wygenerować klucz, którym loguje się agent.                       |
| **Edycja połączeń ERP**                       | Zmieniać ustawienia połączenia, na przykład tryb śledzenia zmian. |
| **Zarządzanie konfiguracjami synchronizacji** | Wybierać, co jest synchronizowane.                                |
| **Zarządzanie mapowaniami pól**               | Mapować pola ERP na pola Omnilinkera.                             |
| **Zarządzanie mapowaniami encji**             | Mapować poziomy cen i magazyny z ERP.                             |
| **Logi synchronizacji**                       | Widzieć **Integracja ERP** > **Logi synchronizacji**.             |
| **Status agenta**                             | Widzieć kartę **Agent** połączenia.                               |

### Dostęp samego agenta

Nie tworzysz dla agenta użytkownika ani nie przypisujesz mu uprawnień. Gdy generujesz klucz API agenta, Omnilinker
tworzy dla połączenia osobne konto serwisowe i nadaje mu tylko te uprawnienia, których potrzebuje synchronizacja.
Zobacz [Tworzenie połączenia](/pl/erp/create-connection#wygeneruj-klucz-api-agenta).

## Lista kontrolna

* [ ] Omnilinker włączył integrację ERP dla Twojej organizacji.
* [ ] Administrator organizacji ma wymienione wyżej uprawnienia.
* [ ] Jest 64-bitowy komputer z Windows, który pozostaje włączony i ma dostęp do serwera bazy danych ERP.
* [ ] Na tym komputerze jest konto lokalnego administratora do instalacji.
* [ ] Znasz konta Windows osób, które będą konfigurować agenta, żeby dodać je do grupy
  **Omnilinker ERP Sync Operators**.
* [ ] Z tego komputera jest wychodzący dostęp HTTPS (port 443) do `omnilinker.pl` i `releases.omnilinker.com`.
* [ ] Z tego komputera jest dostęp sieciowy do portu SQL Server bazy danych ERP.
* [ ] Port 5555 na tym komputerze jest wolny.
* [ ] Jest login SQL Server z dostępem do odczytu bazy danych ERP. Przy uwierzytelnianiu Windows: login dla konta
  komputera agenta.
* [ ] Jeśli będziesz używać śledzenia zmian WFM\_INT: login ma dodatkowe uprawnienia do tabel `WFM_INT_*`.
* [ ] Znasz nazwę serwera bazy danych ERP, nazwę bazy danych i, w przypadku wielofirmowej bazy Wapro, identyfikator
  firmy.

Następnie [utwórz połączenie](/pl/erp/create-connection).
