Skip to main content

Limity dynamicznych pól w systemie

Mapowanie typów pól zweryfikowano dla linii 251231. Sekcje wersyjne opisują również potwierdzone zmiany w liniach 230331, 250630, 260331 i rozwijanej linii 260930.

AMODIT korzysta z czterech logicznych pul kolumn do przechowywania wartości dynamicznych pól formularza: Varchar, Text, Number i DateTime. Typ pola określa, z której puli zostanie przydzielone miejsce.

Pojemność każdej puli zależy od kolumn istniejących na konkretnym wdrożeniu. Nie ma jednej liczby, która byłaby właściwa dla wszystkich instalacji AMODIT.

Gdzie to jest

Parametry Varchar, Text, Number i DateTime są dostępne w ustawieniach systemowych AMODIT. Ekran służy administratorowi do sprawdzenia konfiguracji czterech pul używanych przez dynamiczne pola formularzy.

Ogólne przeznaczenie poszczególnych typów pól opisuje artykuł Typy pól.

Jak interpretować limit

Podczas dodawania pola AMODIT przydziela mu pierwszy wolny slot z właściwej puli w obrębie danego procesu. Jeżeli proces wykorzysta wszystkie sloty danej puli, nie można dodać kolejnego pola, które korzysta z tej puli.

Limit jest liczony osobno dla każdego procesu i każdej puli. Ten sam numer slotu może odpowiadać różnym polom biznesowym w różnych procesach, dlatego limit nie oznacza łącznej liczby pól we wszystkich procesach.

Rzeczywista pojemność wynika ze struktury bazy konkretnego wdrożenia. Może różnić się między instalacjami ze względu na wersję i historię rozbudowy systemu.

Rozbudowa pul i typy nowych kolumn

Nazwa puli Varchar jest nazwą logiczną. Nie oznacza, że każda kolumna tej puli ma ten sam typ SQL ani tę samą pojemność.

Sposób utworzenia kolumny puli Varchar MS SQL MySQL
Kolumna utworzona przez bazowy schemat NVARCHAR(256) VARCHAR(256)
Kolumna dodana przez nowszy mechanizm zwiększania puli NVARCHAR(MAX) MEDIUMTEXT

Nowsze typy kolumn zostały wprowadzone w buildach 220930.59 i 221231.19 oraz w linii 230331. Mechanizm jest obecny także w późniejszych liniach. Aktualizacja nie konwertuje istniejących kolumn i nie przenosi zapisanych w nich danych. W jednej instalacji mogą więc współistnieć starsze kolumny o długości 256 znaków i później dodane kolumny LOB.

Kolumna LOB pozwala przechować dłuższy tekst, o ile jego długości nie ogranicza konfiguracja pola lub walidacja aplikacji. Może jednak zwiększyć koszt składowania, odczytu i zmian schematu, a także ma inne możliwości indeksowania. Integracje i zapytania bazodanowe powinny sprawdzać rzeczywisty schemat zamiast wyprowadzać typ kolumny z nazwy caseVarcharN.

Dodawanie, zmniejszanie i naprawa pul

Zachowanie ustawienia zależy od wersji AMODIT:

  • w linii 251231 zwiększenie wartości dodaje kolumny, natomiast jej zmniejszenie nie usuwa istniejących kolumn;
  • od buildu 260331.24 ustawienie ma osobny ekran edycji;
  • od buildu 260331.58 przed zwiększeniem puli system sprawdza pojemność oraz spójność tabel spraw i historii spraw. Wykryta niespójność blokuje zmianę, aby nie pogłębić różnic w schemacie;
  • w rozwijanej linii 260930 dodano kontrolowaną naprawę rozbieżności przez usunięcie nadmiarowych, nieużywanych kolumn, z uwzględnieniem indeksów;
  • dalsze ograniczenia edycji pozostają w testach wewnętrznych: zmiana o jeden krok, maksymalnie o dziesięć względem bieżącej wartości i bez możliwości zejścia poniżej liczby slotów używanych przez procesy. Nie należy zakładać ich dostępności w wersji produkcyjnej przed wydaniem.

Blokada zwiększenia puli jest zabezpieczeniem spójności bazy. Nie należy jej omijać ręczną zmianą schematu; sposób naprawy trzeba dobrać do wersji oraz rzeczywistej struktury wdrożenia.

Parametry

Parametr Typy pól korzystające z puli Co zajmuje slot Wartości Domyślna
Varchar Tekstowe (krótki tekst), Pole walidowane, Hiperłącze, Lista wyboru, Odnośnik do źródła zewnętrznego oraz historyczne typy SharePoint Tekst albo tekstowy klucz wartości zewnętrznej. Liczba zależna od kolumn istniejących na wdrożeniu. Brak jednej wartości wspólnej dla wszystkich instalacji.
Text Tekstowe (długi tekst), Tabela Długi tekst. Pole Tabela rezerwuje slot, ale właściwe wiersze tabeli są odrębnymi, powiązanymi sprawami. Liczba zależna od kolumn istniejących na wdrożeniu. Brak jednej wartości wspólnej dla wszystkich instalacji.
Number Numeryczne, Kwota, Słownik, Tak/Nie, Użytkownik, Podpis, Odnośnik, Dokument Liczba, wartość Tak/Nie albo identyfikator powiązanego obiektu. Liczba zależna od kolumn istniejących na wdrożeniu. Brak jednej wartości wspólnej dla wszystkich instalacji.
DateTime Data, Data i czas Data albo data wraz z czasem. Liczba zależna od kolumn istniejących na wdrożeniu. Brak jednej wartości wspólnej dla wszystkich instalacji.

Historyczne typy SharePoint korzystające z puli Varchar to Odnośnik do elementu SharePoint i Wartość elementu listy SharePoint. Ich dostępność zależy od konfiguracji integracji i wariantu edytora formularza.

Typy, które nie korzystają z czterech pul

Następujące elementy formularza nie przechowują własnej wartości sprawy w żadnej z czterech pul:

  • Statyczny tekst,
  • Strona zewnętrzna,
  • Wywołanie metody web service — typ historyczny,
  • Tabela SQL,
  • Kod kreskowy,
  • Puste,
  • Raport,
  • Przyciski.

Pola systemowe procesu i etapu również nie są zwykłymi dynamicznymi polami formularza i nie wykorzystują numerowanych slotów tych pul.

Ważne wyjątki

Pole Tabela

Pole Tabela rezerwuje jeden slot z puli Text w procesie nadrzędnym. Wiersze tabeli są jednak odrębnymi, powiązanymi sprawami i korzystają z pul pól zdefiniowanych w procesie tabeli.

Pola korzystające z puli Number

Pula Number nie służy wyłącznie do przechowywania liczb widocznych na formularzu. Dla pól Słownik, Użytkownik, Podpis, Odnośnik i Dokument slot zawiera identyfikator powiązanego elementu. Właściwe dane tego elementu są obsługiwane osobno.

Nazwa puli a typ kolumny bazy danych

Nazwy Varchar, Text, Number i DateTime określają logiczne pule AMODIT. Nie gwarantują jednego fizycznego typu SQL we wszystkich instalacjach. Mapowanie typów pól na pule jest takie samo dla MS SQL i MySQL, natomiast fizyczne typy kolumn mogą różnić się zależnie od silnika, wersji i historii rozbudowy wdrożenia. Szczególnym przykładem jest opisana wyżej pula Varchar, w której mogą współistnieć kolumny o ograniczonej długości i kolumny LOB.

Zmiana typu pola

Akcja Zmień typ jest dostępna od buildu 250630.106. Od początku nie pozwalała wybrać pola Tabela jako typu docelowego i wymagała potwierdzenia ryzyka utraty danych.

Od buildów 250630.170 i 251231.32 oraz od wersji 260331.0 Beta wybór został ograniczony do zmian w obrębie trzech grup:

  • Tekstowe (krótki tekst), Pole walidowane, Lista wyboru i Hiperłącze;
  • Numeryczne i Kwota;
  • Data i Data i czas.

Pozostałych typów nie można zmienić przy użyciu tej akcji. Ograniczenie zapobiega konwersjom pól o różnym znaczeniu i strukturze danych. Przykładowo element wykonujący akcję nie zawiera informacji wymaganych przez podpis, takich jak autor podpisu; prosta zmiana etykiety typu mogłaby więc utworzyć pole wyglądające na poprawne, ale działające nieprawidłowo.

Grupy ograniczają ryzyko, lecz nie gwarantują bezstratnego zachowania wszystkich bieżących i historycznych wartości. Przed zmianą nadal trzeba zabezpieczyć dane, potwierdzić ostrzeżenie i zweryfikować wynik. Zmiany typu nie należy traktować jako metody przenoszenia danych między pulami.

Więcej o niedostępnej konwersji na pole Tabela opisuje artykuł Brak możliwości zmiany typu pola na tabelaryczny.

Powiązane artykuły