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
251231zwiększenie wartości dodaje kolumny, natomiast jej zmniejszenie nie usuwa istniejących kolumn; - od buildu
260331.24ustawienie ma osobny ekran edycji; - od buildu
260331.58przed 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
260930dodano 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.
