Comarch ERP XL Instrukcja instalacji
Proces instalacji
Uruchomienie pliku instalacyjnego Comarch ERP XL Web.exe rozpoczyna proces instalacji systemu.

W kolejnym kroku użytkownik może wybrać typ instalacji:
- Instalacja typowa (zalecana) – instalowane są wszystkie domyślne funkcje
- Instalacja niestandardowa – użytkownik może wybrać funkcje do zainstalowania

Następnie należy wskazać katalog instalacyjny.

Kolejny etap to podanie parametrów konfiguracyjnych takich jak:
- Port, na którym uruchamiany ma być program
- Nazwa serwera SQL, na którym zainstalowana jest baza danych programu Comarch ERP XL
- Nazwa bazy danych programu Comarch ERP XL
- Parametry logowania do SQL
- Konto dla usług Windows

Po naciśnięciu przycisku Dalej wyświetlony zostaje ekran, na którym można uruchomić instalację zgodnie z ustawionymi we wcześniejszych krokach parametrami.

Po rozpoczęciu instalacji wyświetlany jest stan procesu instalacyjnego.

Na zakończenie wyświetlany jest ekran z informacją o zakończeniu procesu instalacji.

Uruchomienie
Ekran logowania
Po wpisaniu w przeglądarce nazwy hosta, na którym zainstalowany został Comarch ERP XL oraz portu wskazanego podczas instalacji, np. https://localhost:8000, zostanie wyświetlony ekran logowania się do programu.
Po wpisaniu identyfikatora operatora oraz hasła program Comarch ERP XL zostanie uruchomiony w przeglądarce.
Comarch ERP XL Podręcznik użytkownika
Logowanie
Ekran logowania
Po uruchomieniu w przeglądarce programu Comarch ERP XL wyświetlony zostaje ekran logowania jak poniżej.

Dane użytkownika
W polu Użytkownik należy wpisać identyfikator operatora zdefiniowanego w programie Comarch ERP XL, w polu Hasło należy wprowadzić hasło wpisanego operatora.
Informacje o bazie danych i wersji programu
U dołu ekranu logowania wyświetlana jest informacja z nazwą bazy danych, do której loguje się użytkownik oraz numer wersji programu.
Ekran główny programu
Po zalogowaniu się do programu wyświetlany jest ekran startowy jak poniżej.

Na ekranie programu można wyróżnić trzy podstawowe elementy:
- Panel boczny nawigacji
- Panel górny nawigacji
- Ekran główny aplikacji
Panel boczny nawigacji
W panelu bocznym nawigacji wyświetlane są przyciski pozwalające na przejście do wybranego obszaru programu.
W pierwszej wersji dostępne są następujące obszary:
- Ekran startowy
- Kontrahenci
- Towary
- Zamówienia sprzedaży


Za pomocą przycisku można zwijać/rozwijać panel boczny.


Panel górny nawigacji
W panelu górnym nawigacji dostępne są następujące przyciski:
- Pomoc
- Informacje o operatorze

Pomoc
Naciśnięcie przycisku Pomoc powoduje otwarcie okna, w którym wyświetlana jest informacja o programie oraz dostępne są przekierowania do stron pomocy dla programu Comarch ERP XL oraz stron społeczności Comarch ERP.

Informacje o operatorze
Na przycisku z informacją o operatorze wyświetlana jest nazwa centrum, do którego zalogowany jest operator oraz identyfikator i nazwisko operatora.
Po rozwinięciu przycisku Operator ma dostępną opcję wylogowania się z programu.

Lista zamówień sprzedaży
Układ listy zamówień
Po naciśnięciu w panelu bocznym przycisku Zamówienia sprzedaży na ekranie głównym aplikacji wyświetlana jest lista zamówień sprzedaży.

Na liście wyświetlane są wszystkie dokumenty widoczne w centrum, w którym zalogowany jest użytkownik.
Lista zawiera następujące kolumny:
- Dokument
- Status
- Stan realizacji
- Nabywca
- Adres nabywcy
- Data wystawienia
- Data realizacji
- Cecha transakcji
Powiązania pomiędzy Stanem dokumentu a Statusem i Stanem realizacji prezentuje poniższa tabela:
Stan w standardowym interfejsie
Status w interfejsie webowym
Stan realizacji w interfejsie webowym
Niepotwierdzone
Niezatwierdzony
–
Potwierdzone
Zatwierdzony
Do realizacji
W realizacji
Zatwierdzony
W realizacji
Zrealizowane
Zamknięty
Zrealizowany
Odrzucone
Anulowany
Niezrealizowany
Anulowane potwierdzone
Anulowany
Niezrealizowany
Zamknięte potwierdzone
Zamknięty
Niezrealizowany
Zamknięte w realizacji
Zamknięty
Częściowo zrealizowany
Korygowane potwierdzone
Korygowany
Do realizacji
Korygowane w realizacji
Korygowany
W realizacji
Obsługa listy zamówień
Na liście użytkownik może wykonywać następujące operacje:
- Sortowanie
- Kliknięcie w nagłówek kolumny powoduje posortowanie listy rosnąco wg danej kolumny, kolejne kliknięcie sortowanie malejąco
- Kolumna, wg której posortowana jest lista oraz kierunek sortowania odpowiednio wyróżnione są w nagłówku


- Zmiana szerokości kolumn
- Ustalenie ilości dokumentów wyświetlanych na stronie
- Przechodzenie pomiędzy stronami listy
Dodawanie zamówienia sprzedaży
Układ formularza zamówienia
Po naciśnięciu na liście zamówień przycisku Dodaj wyświetlony zostaje formularz nowego zamówienia sprzedaży.

Formularz składa się z następujących elementów:
- Nagłówek
- Sekcje:
- Kontrahent
- Dane nagłówkowe
- Pozycje zamówienia
- Stopka
Pola obowiązkowe do wypełnienia oznaczone są gwiazdką.
Pomiędzy sekcjami formularza można poruszać się za pomocą nawigacji dostępnej z prawej strony:

Nagłówek zamówienia
W nagłówku zamówienia wyświetlane są następujące elementy:
- Przycisk Wróć do listy zamówień sprzedaży pozwalający na wyjście z formularza zamówienia
- Status zamówienia
- Numer zamówienia

Numer zamówienia generowany jest po dodaniu kontrahenta na dokument. Przed dodaniem kontrahenta w miejscu numeru wyświetlany jest opis Numer zamówienia.
Dodawanie kontrahenta na zamówienie
Po ustawieniu kursora w polu Wybierz kontrahenta użytkownik ma możliwość dodania kontrahenta na zamówienie.
Istnieją dwa sposoby na dodanie kontrahenta:
- Wpisanie akronimu, numeru NIP lub numeru karty kontrahenta i wciśnięcie <Enter>

-
- Jeżeli nie zostanie znaleziony kontrahent o wpisanym akronimie, NIP lub numerze karty, w polu zostanie wyświetlony stosowny błąd

- Wybór kontrahenta z listy wyświetlonej w kontrolce po wprowadzeniu co najmniej 3 znaków

-
- Na liście wyświetlanych jest pierwszych 10 kontrahentów, którzy w akronimie, nazwie, numerze karty lub numerze NIP mają wprowadzoną w polu wartość
- Jeżeli wpisana w polu wartość występuje na większej niż 10 liczbie kontrahentów, pod listą wyświetlony zostaje przycisk Pokaż więcej wyników pozwalający na wyświetlenie kolejnych 10 kontrahentów

-
- Jeżeli nie zostanie odnaleziony kontrahent, to pojawi się stosowna informacja oraz przycisk Wyczyść pozwalający usunąć wprowadzoną wartość

Nabywca i odbiorca na zamówieniu
Po wybraniu kontrahenta w zależności od ustawień na kartotece kontrahenta na dokument pobierane są dane nabywcy i odbiorcy.
- Jeżeli spełnione są następujące warunki:
- Wybrany kontrahent jest ustawiony na kartotece jako kontrahent główny
- Wybrany kontrahent nie ma adresu wysyłkowego
To:
-
- Kontrahent jest ustawiany jako Nabywca i jako Odbiorca
- Aktualny adres kontrahenta ustawiony jest jako Adres Nabywcy oraz jako Adres odbiorcy
- Przełącznik Inne dane odbiorcy pozostaje wyłączony
- Dane Odbiorcy nie są wyświetlane (są identyczne, jak dane Nabywcy):

- Jeżeli spełnione są następujące warunki:
- Wybrany kontrahent jest ustawiony na kartotece jako kontrahent główny
- Wybrany kontrahent ma adres wysyłkowy
To:
-
- Kontrahent jest ustawiany jako Nabywca i jako Odbiorca
- Aktualny adres kontrahenta ustawiony jest jako Adres Nabywcy
- Adres wysyłkowy kontrahenta ustawiony jest jako Adres odbiorcy
- Przełącznik Inne dane odbiorcy zostaje włączony
- Dane Odbiorcy są wyświetlane:

- Jeżeli spełnione są następujące warunki:
- Wybrany kontrahent ma na kartotece ustawionego innego kontrahenta głównego
- Wybrany kontrahent nie ma adresu wysyłkowego
To:
-
- Wybrany kontrahent jest ustawiany jako Odbiorca
- Kontrahent główny z kartoteki wybranego kontrahenta jest ustawiany jako Nabywca
- Aktualny adres kontrahenta głównego z kartoteki wybranego kontrahenta ustawiony jest jako Adres Nabywcy
- Aktualny adres wybranego kontrahenta ustawiony jest jako Adres odbiorcy
- Przełącznik Inne dane odbiorcy zostaje włączony
- Dane Odbiorcy są wyświetlane:

- Jeżeli spełnione są następujące warunki:
- Wybrany kontrahent ma na kartotece ustawionego innego kontrahenta głównego
- Wybrany kontrahent ma adres wysyłkowy
To:
-
- Wybrany kontrahent jest ustawiany jako Odbiorca
- Kontrahent główny z kartoteki wybranego kontrahenta jest ustawiany jako Nabywca
- Aktualny adres kontrahenta głównego z kartoteki wybranego kontrahenta ustawiony jest jako Adres Nabywcy
- Adres wysyłkowy wybranego kontrahenta ustawiony jest jako Adres odbiorcy
- Przełącznik Inne dane odbiorcy zostaje włączony
- Dane Odbiorcy są wyświetlane:

Dane nagłówkowe
Na formularzu nowo dodawanego zamówienia przed dodaniem kontrahenta na dokument w sekcji Dane nagłówkowe wyświetlane są następujące pola:
- Centrum – nazwa centrum, w którym zalogowany jest operator będącego automatycznie właścicielem dokumentu
- Odpowiedzialny – identyfikator zalogowanego operatora
- Numer obcy

Po dodaniu kontrahenta na zamówienie w sekcja Dane nagłówkowe zostaje uzupełniona o następujące pola:
- Data wystawienia – data bieżąca
- Data aktywacji rezerwacji – ustalana na podstawie parametrów na definicji dokumentu ZS
- Data ważności – ustalana na podstawie parametrów na definicji dokumentu ZS
- Termin realizacji – ustalany na podstawie parametrów na definicji dokumentu ZS
- Dni od daty wystawienia – wyliczane na podstawie terminu realizacji

Pozycje zamówienia
Pozycje zamówienia przed dodaniem kontrahenta
Na formularzu nowo dodawanego zamówienia sprzedaży przed dodaniem kontrahenta na dokument w sekcji Pozycje wyświetlane są wyłącznie nagłówki kolumn i nie ma możliwości dodania pozycji.
Wyświetlany jest także stosowny komunikat informujący, że dodanie pozycji będzie możliwe po wybraniu kontrahenta.

Pozycje zamówienia po dodaniu kontrahenta
Po wybraniu kontrahenta w sekcji Pozycje zostaje wyświetlony wiersz, w którym można dodawać pozycje do zamówienia.

Układ listy pozycji zamówienia
Lista pozycji zamówienia sprzedaży zawiera następujące kolumny:
- Lp. – numer kolejny pozycji
- Towar – kod i nazwa towaru
- Ilość – ilość towaru w zamawianej jednostce
- Jm. – jednostka miary zamawianego towaru
- Cena netto – uzgodniona cena netto pozycji
- Cena brutto – uzgodniona cena brutto pozycji
- Wartość netto – wartość netto pozycji
- Wartość brutto – wartość brutto pozycji
- Waluta – waluta pozycji
- Rabat – wartość procentowa rabatu udzielonego na pozycji
Dodawanie pozycji na zamówienie
Po ustawieniu kursora w polu Towar użytkownik ma możliwość dodania pozycji na zamówienie.
Istnieją dwa sposoby na dodanie pozycji:
- Wpisanie kodu lub EAN towaru i wciśnięcie <Enter>

-
- Jeżeli nie zostanie znaleziony towar o wpisanym kodzie lub EAN, w polu zostanie wyświetlony stosowny błąd oraz przycisk Wyczyść usuwający wprowadzoną wartość.

- Wybór towaru z listy wyświetlonej w kontrolce po wprowadzeniu co najmniej 3 znaków

-
- Na liście wyświetlanych jest pierwszych 10 towarów, które w kodzie, nazwie lub EAN mają wprowadzoną w polu wartość
- Jeżeli wpisana w polu wartość występuje na większej niż 10 liczbie towarów, pod listą wyświetlony zostaje przycisk Pokaż więcej wyników pozwalający na wyświetlenie kolejnych 10 towarów

-
- Jeżeli nie zostanie odnaleziony towar, to pojawi się stosowna informacja oraz przycisk Wyczyść pozwalający usunąć wprowadzoną wartość

Wiersz do dodawania nowej pozycji wyświetlany jest zawsze jako pierwszy.

Pobieranie danych o towarze na pozycje zamówienia
Po wybraniu towaru na pozycję zamówienia pobierane są następujące dane z kartoteki towaru:
- Jednostka miary:
- Jeżeli na kartotece towaru zdefiniowana jest jednostka pomocnicza i jest ona ustawiona jako proponowana do sprzedaży, to ta jednostka zostanie pobrana na zamówienie
- Jeżeli na kartotece towaru nie ma jednostki pomocniczej proponowanej do sprzedaży, to na dokument pobrana zostanie jednostka podstawowa towaru
- Cena towaru:
- Na zamówienie pobierana jest domyślna cena z kartoteki towaru
Zapisywanie zamówienia
W stopce zamówienia znajduje się przycisk pozwalający na zapisanie dokumentu.

Po naciśnięciu przycisku weryfikowane jest, czy obowiązkowe pola zostały uzupełnione oraz czy dane na dokumencie są poprawne – jeżeli na zamówieniu występuje błąd, wyświetlany jest stosowny komunikat, pole, w którym występuje błąd jest odpowiednio podświetlane a przycisk Zapisz jest dezaktywowany aż do usunięcia błędu.

Jeżeli próba zapisu zakończy się sukcesem, system wraca do listy zamówień sprzedaży.
Architektura rozwiązania
Opis
Architektura Comarch ERP XL wydziela część dostępu do danych (backend) od części prezentacyjnej (frontend). W ramach części prezentacyjnej dostarczany jest interfejs WWW, który jest serwowany przy wykorzystaniu serwera nginx. Dodatkowo nginx służy jako API gateway i load balancer, rozdzielając zapytania do warstwy danych, do odpowiednich mikroserwisów. Sama warstwa danych składa się z wielu mikroserwisów odpowiadających za wybrane funkcjonalności systemu. Dzięki takiej architekturze możliwe jest skalowanie horyzontalne aplikacji oraz łatwe aktualizowanie pojedynczych serwisów przy zachowaniu ciągłości pracy. Aby mikroserwisy były osiągalne z poziomu frontendu, aby mogły się ze sobą komunikować oraz aby można było rozdzielać do nich ruch – konieczny jest mechanizm rejestracji serwisów, czyli Service Discovery. Służy do tego Consul – czyli repozytorium serwisów.
W konsekwencji do działania XL’a w wersji Web konieczne są aktywne procesy: nginx, consul, consul-template oraz procesy samych mikroserwisów (obecnie XL.Authorization, XL.Customers, XL.Orders, XL.Users oraz XL.Articles).
Proces uruchamiania Comarch ERP XL składa się zatem z uruchomienia usługi Consul, następnie uruchomienia mikroserwisów (które zarejestrują swój adres i port w Consul’u) – na tym etapie mamy już dostępne nowe Rest API dla XL’a. Następnie do uruchomienia frontend potrzebne jest jeszcze uruchomienie serwera nginx oraz usługi consul-template, której zadaniem jest odczytanie adresów i portów mikroserwisów z repozytorium Consul’a, oraz zapisanie ich w konfiguracji nginx. Jeżeli uruchomimy wiele instancji tego samego mikroserwisu, to nginx będzie przekierowywał żądania równomiernie do każdej instancji (tzw. metoda Round-Robin). Również w ramach wewnętrznej komunikacji między mikroserwisami funkcjonuje load balancing oparty o repozytorium Consul.
Przy domyślnej instalacji stan serwisów można monitorować z poziomu strony http://localhost:8500/. Dodatkowo wszystkie błędy i ostrzeżenia samych mikroserwisów są logowane w zdarzeniach systemowych Windows w sekcji “Aplikacja”. Natomiast logi z warstwy prezentacji znajdują się w katalogu serwera nginx w podkatalogu logs. Ponieważ cała komunikacja wymaga zabezpieczenia przed nieautoryzowanym dostępem wdrożono wykorzystanie protokołu https. Aby to było możliwe konieczne jest posiadanie certyfikatu ssl – podczas instalacji jest kreowany certyfikat podpisany samodzielnie o nazwie localhost_xlweb. W przypadku potrzeby udostępnienia programu w sieci publicznej zalecane jest zakupienie certyfikatu w jednym z zaufanych centrów certyfikacji.
