Możliwość modyfikacji interfejsu w Comarch MES (Nowy interfejs)
W wersji 2025.0 Comarch MES (Nowy interfejs) został udostępniony mechanizm umożliwiający modyfikację interfejsu MES od strony programistycznej.
Modyfikacji interfejsu można wykonać w pliku: hydra.js.Plik hydra.js znajduje się w \nginx\wwwroot\assets\.
Swoje dodatki, należy umieszczać w folderze addOns. Folder znajduje się w: \nginx\wwwroot\assets\
Dodatkowy folder SampleParametrizedApp po wypakowaniu pliku SampleParametrizedApp.7z należy w całości wgrać do \api\mes-app\.
W podkatalogu constants folderu addOns, znajduje się plik componentsNames.js z nazwami komponentów angularowych, na których zapięta została hydra (konkretnie w metodach ngOnInit i ngOnDestroy).
Własny kod źródłowy piszemy w plikach .js (nazwy można nadawać dowolne, choć sugerujemy, aby były skojarzone z nazwami komponentów, pod który się podpinamy), a następnie podpinamy je w pliku hydra.js w metodach callbackOnInit i ew. callbackOnDestroy.
Wszystkie dodatkowe pliki .js należy dołączać do pliku index.html w znaczniku <script> przed załadowaniem modułów w standardzie.
Dołączone przykłady to proste modyfikacje do komponentu logowania (plik login.js) i komponentu dla list operacji (plik allOperationsList.js).
- login.js podmienia nazwę istniejącego przycisku do logowania
- allOperationsList.js podmienia nazwy przycisków do generowania dokumentów PW, RW na listach operacji, dodaje customowy przycisk w dolnej sekcji pod lista i po naciśnięciu wywołuje zewnętrzną aplikację w nowym procesie (funkcja analogiczna do działania na starym interfejsie).
Nowy proces o nazwie „ExecutableAssembly.exe” trzeba zamykać ręcznie po każdym naciśnięciu customowego przycisku (zasada analogiczna jak w starym interfejsie).
W przykładzie aplikacja wygeneruje plik tekstowy z przekazanymi do niej parametrami wejściowymi (tutaj id zalogowanego w MES operatora).
Hydra umożliwia dostęp do store’a poprzez obiekt globalny: window[’store’] – możemy się analogicznie odwołać do niego w dowolnym pliku .js.
Przykład wykorzystania store’a do odczytania ustawień konfiguracyjnych po zalogowaniu (w tym id zalogowanego operatora) umieszczony jest w pliku allOperationsList.js.
Aktualnie zawartość plików hydra.js, login.js i allOperationsList.js jest wykomentowana, aby skorzystać z funkcji hydry należy je w całości odkomentować. Przy odkomentowaniu zwrócić uwagę, aby zachować wielkość liter w nazwach, które były zakomentowane. Jeśli wystąpi niezgodność znaków, to aplikacja się nie uruchomi (w przeglądarce pojawią się wyświetlone na czerwono komunikatu typu: error).
Jeśli programista MES’a chce korzystać z hydry w trybie developerskim, to dodatkowo musi w pliku angular.json dodać każdy nowy plik .js do tablicy w sekcji „externalDependencies” – nie będą one kompilowane przez polecenie ng serve, tylko dolączane jako dodatkowe moduly ES6.
Użycie przykładowych plików w Comarch MES
Aby użyć przykładowych plików należy:
- odkomentować zawartość pliku hydra.js
- odkomentować zawartość plików .js z folderu addOns (obu, jeśli odkomentowany cały plik hydra)
Dla ułatwienia odkomentowania powyższych plików można otworzyć je np. za pomocą Visual Studio Code i po zaznaczeniu wykomentowanych wierszy użyć: CTRL + /
- odświeżyć aplikację MES.
Użycie własnych plików w w Comarch MES
Aby użyć własnego pliku .js należy:
- Stworzyć plik .js o odpowiedniej strukturze (polecane zasugerowanie się plikiem login.js)
- Upewnić się czy komponent który chcemy modyfikować znajduje się na liście w pliku componentsNames.js
- Umieścić własny plik .js w folderze addOns
- W pliku hydra.js dodać import funkcji oraz case dla nowej funkcji w callbackOnInit i opcjonalnie w callbackOnDestroy (jeśli mamy >1 funkcji dla jednego komponentu to nie należy rozdzielać ich za pomocą „break”
- W pliku index.html (z folderu wwwroot) należy dołączyć plik .js w znaczniku <script>
- Odświeżyć aplikację MES