Instrukcja modyfikacji interfejsu Comarch MES 2025.0

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:

  1. Stworzyć plik .js o odpowiedniej strukturze (polecane zasugerowanie się plikiem login.js)
  2. Upewnić się czy komponent który chcemy modyfikować znajduje się na liście w pliku componentsNames.js
  3. Umieścić własny plik .js w folderze addOns
  4. 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”
  5. W pliku index.html (z folderu wwwroot) należy dołączyć plik .js w znaczniku <script>
  6. Odświeżyć aplikację MES

Czy ten artykuł był pomocny?