Formularze mobilne w WEBCON BPS

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2016.1.x; Autor: Aleksander Bruks

Wstęp

W  wersji 2016.1 WEBCON BPS wprowadziliśmy możliwość tworzenia formularzy dedykowanych dla urządzeń mobilnych. Każdy z formularzy może mieć swój mobilny odpowiednik różniący się od formularza klasycznego między innymi układem pól. Obecnie formularze mobilne wyświetlane są w aplikacjach mobilnych WEBCON BPS przygotowanych na 3 najważniejsze platformy.

 

Czym jest formularz?

Dla przypomnienia i ujednoznacznienia: "formularz" jest to reprezentacja jednego z obiegów (w połączeniu z "typem formularza") w procesie, w danym kroku obiegu. Na formularz składają się atrybuty na nim pokazywane – na potrzeby artykułu nazywane "polami", ich położenie w układzie graficznym formularza, czyli kolejność i obszar formularza (góra, lewo, prawo, dół), ustawienia widoczności, edytowalności i inne ustawienia pól, jak również konfiguracja samego formularza. Na konfigurację formularza składają się między innymi skrypty JavaScript, które wykonują się, gdy formularz jest wyświetlany, ustawienia widoczności przycisków na górnej belce formularza, tryb edycji, ustawienia związane z załącznikami, ustawienia dostępności ścieżek przejścia.

 

Formularze mobilne

Każdy dotychczas utworzony w systemie BPS formularz – formularz domyślny dla obiegu, formularze powiązane z konkretnymi krokami, a nawet niedomyślne formularze kroków – jest teraz powiązany z formularzem mobilnym.

Formularz mobilny obiegu i formularz mobilny kroku w Designer Studio.

 

Należy dodać, że dopóki administrator procesu nie widzi potrzeby dopasowania formularza mobilnego jest on odwzorowaniem zwykłego formularza (w BPS Studio "formularz klasyczny") w danym obiegu czy kroku. W Designer Studio formularz mobilny pokazywany jest w nieco inny sposób niż formularz klasyczny – różnica polega między innymi na zastosowaniu układu jednokolumnowego w podglądzie formularza, co daje lepsze wyobrażenie o tym, jak formularz będzie wyglądał na urządzeniach z małym ekranem. Dostępny jest także podgląd formularza mobilnego w przeglądarce internetowej, w takiej formie, w jakiej będzie pokazywany na urządzeniu mobilnym. Podgląd można wywołać tylko wtedy, gdy w procesie nie ma żadnych niezapisanych zmian.

Podgląd formularza mobilnego w przeglądarce.

 

Chcąc zmienić kolejność lub widoczność pól lub inne ustawienia na formularzu mobilnym należy "zerwać dziedziczenie"  formularza mobilnego. Można to zrobić używając przycisku „Zerwij dziedziczenie” wyświetlanego w graficznym designerze formularza lub próbując przeciągnąć pole na inną pozycję – Designer Studio zapyta wtedy, czy użytkownik chce zerwać dziedziczenie.

W tym miejscu należy wyjaśnić jak działa dziedziczenie układu i innych ustawień formularzy pomiędzy klasycznym (tak nazywamy zwykłe formularze, nie-mobilne) formularzem obiegu, mobilnym formularzem obiegu oraz formularzami klasycznymi kroków i ich mobilnymi odpowiednikami.

Pierwszym etapem dziedziczenia jest dziedziczenie kolejności atrybutów w grupach z drzewa atrybutów na klasyczny formularz globalny (obiegu). O ile dziedziczenie nie jest zerwane, zmiana kolejności atrybutów w grupie (lub zakładce) spowoduje zmianę kolejności tych atrybutów na dziedziczącym formularzu obiegu i odwrotnie.

Idąc dalej klasyczne formularze kroków mogą dziedziczyć kolejność pól i kilka innych ustawień z klasycznego formularza globalnego (obiegu), mobilny formularz globalny może dziedziczyć z klasycznego formularza globalnego oraz mobilne formularze kroków mogą dziedziczyć z mobilnego formularza  .

Jeśli zerwiemy dziedziczenie mobilnego formularza obiegu, to ten formularz stanie się zupełnie niezależny od klasycznego formularza obiegu, jak również mobilne formularze kroków staną się niezależne od klasycznych formularzy kroków. W tej sytuacji widoczność pól ustawia się niezależnie dla formularzy mobilnych, natomiast układ pól na mobilnych formularzach kroków odpowiada kolejności pól na mobilnym formularzu obiegu.

Możliwe jest również zerwanie dziedziczenia mobilnego formularza kroku. Umożliwia to niezależną od klasycznego czy mobilnego formularza obiegu zmianę układu pól i ustawień na danym kroku. Nie jest możliwe zerwanie dziedziczenia między formularzem niedomyślnym kroku (czyli tym dodanym w danym kroku manualnie) i jego formularzem domyślnym.

Dygresja: Dopóki formularz mobilny obiegu, ani żaden z formularzy mobilnych kroków nie ma zerwanego dziedziczenia ustawienia tego formularza i ustawienia pól na nim wyświetlanych nie są materializowane w bazie danych systemu BPS.

 

Skrypty JavaScript na formularzach mobilnych

Nieco inaczej działa nadpisywanie skryptów JS, które można zdefiniować na każdym z formularzy. Nadpisywanie skryptów działa tylko między formularzem klasycznym i mobilnym, to znaczy skrypt z formularza klasycznego kroku może być nadpisany przez skrypt formularza mobilnego kroku i skrypty zdefiniowane na formularzach globalnych nie są przez nie nadpisywane. Skrypty z formularza obiegu i formularzy kroków wykonują się niezależnie, a ściśle określonej kolejności. Szczegóły można znaleźć w artykule https://kb.webcon.pl/javascript-kolejnosc-wykonywania-w-8-3/. Każdy ze skryptów można nadpisać bez zrywania dziedziczenia formularza, można też wyłączyć skrypty na formularzu mobilnym wybierając opcję "nadpisz" i pozostawiając pole na pole ze skryptem puste. Nie jest jednak możliwe zdefiniowanie innych skryptów dla formularzy niedomyślnych.

Skrypty JS na globalnym formularzu mobilnym: pierwszy dziedziczony z formularza klasycznego, drugi nadpisany, trzeci nadpisany jako pusty.

 

Dygresja: Skrypty formularza mobilnego przechowywane są w tym samym wierszu w tabeli bazy danych co skrypty formularza klasycznego, w innych kolumnach. Nawet jeśli formularz mobilny został zapisany do bazy danych, kolumny ze skryptami w opowiadającym mu wierszu tabeli będą puste.

 

Przykład wykorzystania

Wyobraźmy sobie obieg służący do obsługi przesyłek kurierskich, od etapu nadania paczki przez klienta firmy aż po dostarczenie owej paczki przez kuriera do odbiorcy, a potem także ewentualne awizowanie paczki czy reklamację usługi złożonej przez klienta-nadawcę lub odbiorcę. W takim hipotetycznym obiegu można wykorzystać opisane funkcjonalności.

  1. Kurier dostarczający paczkę do odbiorcy będzie używał aplikacji mobilnej. W kroku „paczka w dostarczeniu” kurier może używać mobilnej wersji formularza, na której widoczne będą tylko nazwa nadawcy i kontakt do niego, numer paczki oraz dane odbiorcy i mapa, dodatkowo pokazane na samej górze formularza. Kurier nie musi natomiast widzieć na formularzu pełnych danych nadawcy ani swoich własnych danych, do których z kolei chce mieć dostęp kierownik działu dostarczania paczek.
  2. Kurier dostarczający paczkę może użyć ścieżki „Dostarczono” do której tylko na urządzeniu mobilnym podpięty jest skrypt JS pobierający z urządzenia mobilnego koordynaty GPS miejsca, w którym znajduje się kurier.
  3. Kurier może użyć kroku „Przedstaw do podpisu odbiorcy”, w którym na formularzu widoczne są tylko numer paczki i pole, w którym odbiorca może złożyć podpis używając ekranu dotykowego (o ile powstałby taki atrybut).