Instalacja konektora¶
Konektor instaluje się jednym instalatorem Windows na maszynie z programem ERP. Kreator pyta o dane połączenia z bazą, resztę konfiguruje sam.
Zanim zaczniesz¶
Przygotuj następujące informacje:
| Potrzebne | Skąd wziąć |
|---|---|
| Nazwa instancji SQL Server | domyślnie (local)\InsERTGT dla Subiekta GT, (local)\INSERTNEXO dla nexo, (local)\PCMARKET dla PC-Marketu, a wartość faktyczną potwierdza SQL Server Configuration Manager |
| Nazwa bazy podmiotu | nazwa firmy lub bazy w programie ERP |
| Konto z uprawnieniem administratora instancji SQL | potrzebne tylko, jeśli instalator ma sam założyć konto dostępowe |
| Login i hasło operatora ERP | tylko przy włączaniu zapisu do Subiekta GT lub nexo, przy czym to konto operatora programu, nie konto SQL |
| Adres API panelu MobiSkan WMS | tylko przy synchronizacji z panelem |
Sprawdź też, czy klient ma wykupione płatne dodatki potrzebne do zapisu. Zestawienie: Konektory ERP.
Wymagania maszyny¶
| Element | Wymaganie |
|---|---|
| System | Windows x64 |
| Program ERP | zainstalowany na tej maszynie albo dostępny w sieci lokalnej wraz z jego serwerem SQL |
| Środowisko uruchomieniowe | Subiekt GT i nexo: nic nie trzeba instalować, instalator niesie komplet plików. PC-Market: wymagane ASP.NET Core Runtime 8.0 |
| Uprawnienia | instalator uruchamiany z uprawnieniami administratora Windows |
| Sesja użytkownika | wymagana tylko dla zapisu przez Sferę: zalogowany użytkownik z uruchomioną aplikacją zasobnika |
Przebieg instalacji¶
Uruchom instalator i przejdź przez kolejne strony kreatora.
1. Połączenie z bazą danych ERP¶
Kreator pyta o serwer SQL i nazwę podmiotu. Pole loginu jest wstępnie wypełnione propozycją konta tylko do odczytu, a pole hasła zostaje puste - instalator sam wygeneruje dla niego bezpieczne, losowe hasło w tle. Wymagane są wyłącznie serwer i nazwa podmiotu.
Na tej samej stronie jest przełącznik automatycznego nadania dostępu do bazy. Gdy jest zaznaczony, instalator sam utworzy podane konto SQL (albo zaktualizuje jego hasło, jeśli już istnieje) i nada mu prawo odczytu na bazie podmiotu. Jeśli pole loginu zostawisz puste, konektor będzie korzystał z uwierzytelniania Windows, a instalator nada prawo odczytu kontu, na którym działa usługa.
Ten krok wymaga, żeby konto Windows uruchamiające instalator miało uprawnienia administratora instancji SQL. Jeśli ich nie ma, krok jest pomijany z ostrzeżeniem, a reszta instalacji kończy się normalnie. Dostęp trzeba wtedy nadać ręcznie.
Odznacz przełącznik, jeśli dostęp do bazy nada administrator klienta samodzielnie.
2. Zapis do ERP (opcjonalnie, Subiekt GT i nexo)¶
Przełącznik włączający zapis. Zaznaczenie go powoduje, że instalator utworzy dodatkowe, dedykowane konto SQL z prawem zapisu, wymagane przez interfejs automatyzacji producenta.
Włączaj to tylko, gdy klient ma wykupiony i aktywny dodatek producenta (Sfera GT albo Sfera nexo). Bez niego zapis i tak nie zadziała, a konektor będzie zgłaszał, że operacja jest niedostępna.
Konektor PC-Market nie ma tej strony, bo producent nie udostępnia mechanizmu zapisu.
3. Dane operatora ERP (tylko przy włączonym zapisie)¶
Login i hasło operatora programu ERP. To konto z listy operatorów programu handlowego, a nie konto SQL ani konto Windows.
4. Synchronizacja z panelem MobiSkan WMS (tylko Subiekt GT)¶
Adres API panelu, na przykład http://192.168.1.10:3000. Pozostawienie pustego pola wyłącza wysyłanie danych do panelu. Konektor nadal odpowiada na zapytania terminala i panelu.
Kreator konektora Subiekt nexo i PC-Market nie ma tej strony. W nexo adres panelu ustawia się po instalacji, w oknie Konfiguracja MobiSkan WMS aplikacji zasobnika. Konektor PC-Market nie współpracuje z panelem w ogóle.
5. Zakończenie¶
Instalator kopiuje pliki i uruchamia konfigurację. W konektorze PC-Market kreator na koniec wypisuje adres, token i pozostałe dane parowania, a następnie otwiera obraz kodu QR wygenerowany przez uruchomioną już usługę. Sparuj terminal od razu na tym ekranie, ponieważ ten konektor nie ma aplikacji zasobnika, która pokazałaby kod ponownie. Jeśli usługa nie zdąży wystartować w kilkanaście sekund, kreator poda ścieżkę pliku z kodem oraz dane do wpisania ręcznie - kod powstaje ponownie przy każdym starcie usługi.
Co robi instalator¶
| Krok | Efekt |
|---|---|
| Token parowania | generuje losowy token albo, przy reinstalacji, ponownie używa istniejącego |
| Certyfikat TLS | generuje certyfikat samopodpisany o długiej ważności albo, przy reinstalacji, zachowuje istniejący |
| Konto SQL do odczytu | opcjonalnie tworzy konto z prawem odczytu na bazie podmiotu |
| Konto SQL do zapisu | opcjonalnie, przy włączonym zapisie, tworzy osobne konto z uprawnieniami wymaganymi przez interfejs producenta |
| Plik konfiguracyjny | zapisuje ustawienia i sekrety w chronionym katalogu danych programu, poza katalogiem instalacji, i szyfruje w nim hasła oraz token |
| Zapora Windows | dodaje regułę zezwalającą na ruch przychodzący na porcie konektora, wyłącznie w sieciach domenowych i prywatnych oraz wyłącznie z podsieci lokalnej |
| Usługa Windows | rejestruje usługę ze startem automatycznym na dedykowanym koncie usługi i uruchamia ją |
| Aplikacja zasobnika | rejestruje ją w autostarcie i uruchamia raz po instalacji (Subiekt GT i nexo) |
Katalog instalacji to %ProgramFiles%\MobiSkan z podkatalogiem właściwym dla danego konektora. Pliki programu są tam, ale ustawienia z hasłami i certyfikat leżą osobno, w %ProgramData%\MobiSkan z podkatalogiem dla danego konektora. Uprawnienia do tego katalogu instalator zawęża do administratorów, konta systemowego i konta usługi, więc zwykły użytkownik komputera nie odczyta haseł ani tokenu parowania. Same wartości są dodatkowo zaszyfrowane w powiązaniu z tą maszyną - kopia pliku przeniesiona na inny komputer jest bezużyteczna.
Konektor działa na dedykowanym koncie usługi Windows, a nie na koncie systemowym o pełnych uprawnieniach. Dostęp do bazy ERP i do katalogu z ustawieniami nadaje mu instalator jawnie.
Reguła zapory jest zawężona celowo. Konektor jest przeznaczony do sieci lokalnej klienta, więc otwarcie portu również w profilu publicznym (hotspot, sieć hotelowa, obca sieć biurowa) udostępniałoby katalog towarów, kontrahentów wraz z numerami NIP i stany magazynowe każdemu w tym samym segmencie sieci.
Certyfikat wystawiany przez instalator obejmuje nazwę komputera oraz jego adres IP w sieci lokalnej. Dzięki temu sondę stanu konektora da się otworzyć w przeglądarce także po adresie IP, bez błędu niezgodności nazwy.
Konta dostępowe do bazy ERP¶
Konektor korzysta z dwóch rozdzielonych kont SQL i nigdy nie łączy ich w jedno.
| Konto | Rola | Kiedy powstaje |
|---|---|---|
| Konto odczytu | prawo odczytu na bazie podmiotu, obsługuje cały odczyt danych | zawsze, gdy zaznaczono automatyczne nadanie dostępu |
| Konto zapisu | uprawnienia wymagane przez interfejs automatyzacji producenta, używane wyłącznie przez ten interfejs | tylko przy włączonym zapisie |
Konto zapisu ma szersze uprawnienia, bo interfejs automatyzacji uruchamia pełnoprawną sesję programu ERP, która loguje się do bazy jak zwykły klient programu. Konto tylko do odczytu do tego nie wystarcza. Program handlowy nie rozdziela uprawnień na poziomie serwera SQL, więc nie da się tego zawęzić.
Oba konta powstają wyłącznie na jawną zgodę zaznaczoną w kreatorze. Poza ich utworzeniem instalator nie zmienia niczego w bazie ani w konfiguracji programu ERP.
Uruchomienie zapisu do ERP¶
Zapis można włączyć przy instalacji albo później, z aplikacji zasobnika systemowego.
- Kliknij prawym przyciskiem ikonę konektora w zasobniku systemowym i wybierz Konfiguracja ogólna.
- Zaznacz pole włączające zapis przez Sferę.
- Podaj login i hasło operatora programu ERP.
- Zatwierdź. System poprosi o podniesienie uprawnień, ponieważ operacja zakłada lub odświeża konto SQL i restartuje usługę konektora.
Wyłączenie zapisu tym samym oknem usuwa ustawienia zapisu i dodatkowo blokuje możliwość zalogowania się kontem SQL utworzonym na potrzeby zapisu. Konto nie jest kasowane, tylko wyłączane, więc ponowne włączenie zapisu przywraca je automatycznie.
Aby zapis faktycznie działał, muszą być spełnione trzy warunki jednocześnie:
- klient ma aktywną licencję dodatku producenta (Sfera GT albo nexo PRO ze Sferą),
- na maszynie jest zalogowany użytkownik z działającą aplikacją zasobnika,
- pakiet instalacyjny został zbudowany na maszynie z zainstalowanym programem ERP, tak aby zawierał wsparcie dla interfejsu producenta.
Jeśli którykolwiek warunek nie jest spełniony, konektor odpowiada na próbę zapisu komunikatem o niedostępności operacji, a nie błędem. Odczyt działa niezależnie od tego.
Pole włączające zapis jest nieaktywne, gdy pakiet instalacyjny zbudowano bez wsparcia dla interfejsu producenta. W takiej sytuacji potrzebny jest pakiet zbudowany na maszynie z programem ERP.
Menu aplikacji zasobnika¶
Ikona konektora w zasobniku systemowym (Subiekt GT i Subiekt nexo) otwiera prawym przyciskiem menu z czterema pozycjami:
| Pozycja | Do czego służy |
|---|---|
| Pokaż kod QR do sparowania MobiSkan Kolektor | Kod QR do zeskanowania terminalem, ten sam co przy pierwszym parowaniu. Okno podaje pod kodem dokładną nazwę ekranu w aplikacji, na którym należy go zeskanować |
| Konfiguracja MobiSkan WMS | Dane, które wpisuje się w panelu przy parowaniu (adres, port, token), oraz adres panelu, do którego konektor wysyła dokumenty i katalog |
| Konfiguracja ogólna | Włączenie zapisu do programu ERP i dane operatora |
| O programie | Wersja konektora, producent i adres strony |
Numer wersji z okna "O programie" to ten sam numer, który panel pokazuje po użyciu przycisku Testuj połączenie - warto go podać przy każdym zgłoszeniu serwisowym.
Zmiana konfiguracji po instalacji¶
Zmiany wprowadzone w oknach aplikacji zasobnika są zapisywane i usługa jest restartowana automatycznie. Zmiany wprowadzone ręcznie w pliku konfiguracyjnym wymagają samodzielnego zrestartowania usługi konektora, ponieważ konektor wczytuje ustawienia wyłącznie przy starcie.
Plik konfiguracyjny wymaga uprawnień administratora, ponieważ leży w chronionym katalogu danych. Aplikacja zasobnika sama go nie czyta - dane parowania i ustawienia pobiera od usługi, więc działa na zwykłym koncie użytkownika bez dostępu do haseł.
Reinstalacja i deinstalacja¶
Ponowne uruchomienie instalatora nad istniejącą instalacją jest bezstratne: token parowania, certyfikat, konfiguracja zapisu i adres panelu są zachowywane, więc sparowane terminale i panel nie wymagają ponownego parowania. To zalecany sposób aktualizacji konektora.
Deinstalacja zatrzymuje i usuwa usługę, zamyka aplikację zasobnika, usuwa regułę zapory oraz kasuje zarówno katalog instalacji, jak i katalog danych z ustawieniami i certyfikatem.
Na koniec deinstalator pyta, czy usunąć z serwera SQL konta założone przez instalator. Odpowiedź "Nie" zostawia je nietknięte - wybierz ją, jeśli korzysta z nich inna instalacja. Usuwane są wyłącznie konta utworzone przez instalator, więc konto wpisane ręcznie w kreatorze zostaje niezależnie od odpowiedzi. Przy deinstalacji cichej pytanie nie pada i konta zostają.