Ograniczenie liczby atrybutów

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2020.1.x; autor: Piotr Poniedziałek

 

Wprowadzenie

Z każdą wersją W BPS, pojawiają się nowe funkcjonalności, które pozwalają na wdrażanie coraz bardziej skomplikowanych i rozbudowanych procesów. Często jednak rozwinięcie procesu, wiąże się ze zwiększeniem liczby wykorzystanych atrybutów, mimo, że nie zawsze jest to konieczne. Więcej informacji na temat można znaleźć w artykule WEBCON BPS – Ograniczenia ilość pól i kolumn.

Artykuł ten podsumowuje ograniczenia ilościowe atrybutów w wersji WEBCON BPS 2020 oraz przedstawia dobre praktyki w planowaniu i konfiguracji procesów – tak aby tych limitów nie osiągnąć.

Wszystkie poniższe ograniczenia wynikają bezpośrednio ze struktur tabel SQL: WFElements (dla pól formularza) oraz WFElementDetails (dla list pozycji).

Tabele limitów

Pola globalne formularza

Limit globalnych pól formularza, dotyczy całej konfiguracji systemu. Oznacza to, że niezależnie od liczby procesów, obiegów i ich atrybutów może istnieć tylko tyle pól globalnych, ile zostało podanych w tabeli poniżej.

Typ pola globalnego Maksymalna ilość
Data 5
Tekstowe 10
Wyboru 10

Pola formularza

Poniższe zestawienie odnosi się do limitów pojedynczego procesu. Liczba obiegów w procesie nie wpływa na limity poszczególnych rodzajów pól.

Typ pola Maksymalna ilość
Tekstowe 80
Tekstowe – wielowierszowe 25
Liczba całkowita 30 (łącznie)*
Ankietowe – ocena w skali
Liczba zmiennoprzecinkowa 50
Wyboru 90 (łącznie)*
Ankietowe – wybór opcji
Data 50
Tak / Nie 20
Osoby 15
Wiersz danych (SQL Row) Bez ograniczeń
Tabela danych (SQL Grid) Bez ograniczeń
Wykres Bez ograniczeń
Mapa Google 3
Wykres Gantta 2
Grafik urlopowy 1
Podsumowanie urlopów 1
Kontrolka użytkownika (SDK) Bez ograniczeń
Lista pozycji Bez ograniczeń

*Pola ankietowe dzielą limity z innymi rodzajami pól formularza, ponieważ są jedynie reprezentacją tych rodzajów atrybutów. Jeżeli w procesie istnieje już 30 pól liczb całkowitych, niemożliwe jest dodanie pola ankietowego (oceny w skali). To samo dotyczy pól wyboru oraz pól ankietowych (wybór opcji).

Kolumny listy pozycji

Chociaż liczba list pozycji na formularzu nie jest ograniczona, każdy z typów kolumn listy pozycji również posiada limit. W tym wypadku natomiast, liczba typów kolumn jest dodatkowo ograniczona przez sumowanie kolumn tekstowych z kolumnami wyboru. Połączenie takie pozostawia jednak możliwość decyzji, których kolumn powinno być więcej w konfigurowanej liście pozycji.

Typ kolumny Maksymalna ilość
Tekst – wiele wierszy 5
Liczba zmiennoprzecinkowa 30
Tekst oraz pole wyboru (niezależnie od jego rodzaju)* W sumie 40
Wiersz danych (SQL Select) 5

*W przypadku listy pozycji, pola tekstowe oraz pola wyboru przechowywane są w kolumnach tego samego rodzaju (DET_AttX) pod jednym typem danych – varchar.

 

Dobre praktyki

Istnieje kilka sposób na upewnienie się, że limity pól nie zostaną osiągnięte. Poniżej znajduje się lista technik, pozwalająca na takie planowanie i konfigurację procesów, aby nie osiągnąć limitów atrybutów, a nawet aby pozostawić pewien margines na ewentualną rozbudowę procesu lub pola techniczne.

  • Wykorzystanie pól globalnych – jeśli niektóre pola pojawiają się w wielu procesach oraz spełniają podobną funkcję, warto rozważyć zamianę pojedynczych pól formularza w pola globalne. Dobrym przykładem zastosowania pola globalnego jest pole „Kontrahent”, który zwykle jest wybierany w wielu procesach, ale posiada ten sam zbiór danych. Dodatkowo, ustawienia pola globalnego można nadpisać w obrębie każdego procesu.
  • W przypadku, gdy pola formularza pełnią wyłącznie funkcję informacyjną (np. wyświetla dane z innego obiegu), powinny zostać zastąpione przez atrybuty typu wiersz danych lub tablica danych. Atrybuty te nie posiadają ograniczeń a przy okazji mogą znacznie zmniejszyć czas ładowania formularza (np. gdy zastępują listę pozycji).
  • Jeśli główny obieg systemu jest bardzo skomplikowany oraz jest wspierany przez kilka obiegów zależnych, można rozdzielić je na dwa oddzielne, ale wciąż powiązane procesy.
  • Warto upewnić się czy utworzenie pól, które służą jedynie do obliczania innych atrybutów lub sterowania akcjami (np. pola techniczne) jest uzasadnione. W większości przypadków wartość z takiego pola (jeśli nie jest wykorzystywana w wielu miejscach) można bezpośrednio pobrać i zapisać w regułach biznesowych.
  • Tak samo jak w pkt. 2, zamiast tabeli danych można skorzystać z listy pozycji, która zastąpi kilka pól formularza kolumnami. Jednak regularne stosowanie tej metody i dodawanie wielu list pozycji w celu obejścia limitów może znacznie wydłużyć czas ładowania formularza oraz utrudnić realizację innych funkcji systemu.

Ogólne uwagi do powyższych porad i limitów:

Pomimo tego, że listy pozycji oraz tabele danych nie posiadają ograniczeń, wykorzystanie ich w nadmiarze może doprowadzić do znacznego wydłużenia ładowania formularza i redukcji wydajności. Szczególnie jeśli lista pozycji posiada wiele wierszy, a tabela danych wywołuje skomplikowane zapytanie.

Grupy atrybutów oraz panele wraz z zakładkami w żaden sposób nie wpływają na ograniczenia pól formularza.

Tryb działania oraz podtyp pola wyboru nie mają wpływu na limit.

Podsumowanie

Jak widać istnieje wiele technik i możliwości minimalizowania liczby atrybutów w pojedynczych procesach. Wielkie znaczenie ma również odpowiednie zaplanowanie systemu i rozdzielenie jego logicznych części składowych między zależne procesy. Stosując się do powyższych zaleceń, obecne limity atrybutów powinny być wystarczające nawet dla najbardziej skomplikowanych systemów.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *