Dynamics 365 Bug Zone: Aplikacja mobilna, wstążka oraz JavaScript

Bez kategorii, CRM BugZone, Dynamics 365, Dynamics 365 Mobile App, Dynamics CRM

Dawno, dawno temu, w nie tak całkiem odległej galaktyce, żyła sobie aplikacja zbudowana w oparciu o platformę Dynamics CRM. Aplikacja składała się z kilku niestandardowych encji, z których jedna posiadała dostosowaną wstążkę. Omawiane dostosowanie polegało na dodaniu kilku niestandardowych przycisków, prezentowaniu ich użytkownikowi aplikacji zgodnie z regułami zdefiniowanymi w bibliotekach JavaScript oraz uzupełnianiu stosownych danych na formatce CRM w momencie naciśnięcia przycisku (również za pomocą kodu JS).

Całość działała pięknie w interfejsie przeglądarkowym i wraz z niżej podpisanym przetrwała aktualizacje CRM od wersji 2011, a skończywszy na najnowszej, zwanej już Dynamics 365. Wszystko wyglądało wspaniale do momentu, w którym pojawiło się wymagania dotyczące udostępnienia ww. funkcjonalności w ramach klienta mobilnego Dynamics 365. Okazało się bowiem, że omawiana aplikacja mobilna* nie jest w stanie skorzystać z bibliotek JavaScript, które odpowiadają za widoczność elementów wstążki oraz akcje wykonywane po naciśnięciu umieszczonego na tejże wstążce (która to BTW, wstążką już od dawna nie jest) przycisku.

Zachowanie aplikacji jest następujące:

  1. W przypadku reguł widoczności – jeżeli przycisk posiadał będzie podpiętą, zaimplementowaną w języku JavaScript regułę, to nie pojawi się on nigdy na mobilnej formatce.
  2. W przypadku akcji polegającej na uruchomieniu kodu w języku JavaScript po naciśnięciu przycisku – nic się nie wydarzy. Będziemy mogli klikać w interfejsie w nieskończoność i nie uświadczymy żadnego efektu tej operacji. Ani wykonania zaimplementowanej logiki… Ani komunikatu o błędzie… Ani pocałunku w d…

Pozwolę sobie wspomnieć o tym, że ten sam kod „podpięty” pod zdarzenia na formatce systemu (OnLoad, OnChange, itp.) wykonuje się wewnątrz aplikacji mobilnej bezproblemowo.

W przypadku reguł widoczności możemy na szczęście częściowo zastąpić zaszytą w kodzie JS logikę regułami zdefiniowanymi wewnątrz pliku dostosowań w formacie XML (RibbonDiff) oraz w kodzie wykonywanym po stronie serwera. Dla operacji wykonywanej po naciśnięciu przycisku nie przychodzi mi niestety do głowy żadne obejście. Możemy co najwyżej <ironia>przekierować użytkownika do wersji systemu uruchamianej w przeglądarce i niech tam sobie biedak wyklika, co tylko chce… :/</ironia>.

Ergo, dla systemów posiadających zaimplementowaną niestandardową, uruchamianą za pomocą przycisków na wstążce Dynamics 365 logikę – klient mobilny tejże aplikacji jest w obecnej wersji narzędziem bezużytecznym. Panowie programiści z MS – duża skucha.

*W wersji iOS oraz Windows Phone. Klienta androidowego nie testowałem.

Total Views: 404 ,