-
DOKUMENTACJA SYSTEMU
-
-
Dla użytkowników
-
-
- Business Intelligence
- Tworzenie raportu
- Uruchamianie reguły ręcznej dla wielu spraw
- Raporty BI - typ raportu "Planowanie zasobów"
- Operacje na raportach - rejestrowanie aktywności zmian w konfiguracji raportu
- Włączanie/wyłączanie możliwości eksportu danych do pliku Excel z poziomu raportu tabelarycznego
-
-
Dla twórców
-
-
- Interfejs systemu AMODIT - część 1, lista spraw, okno główne systemu
- Interfejs systemu AMODIT - część 2, formularz sprawy
- Interfejs systemu AMODIT - część 3, lista raportów
- Interfejs systemu AMODIT - część 4, raport
- Interfejs systemu AMODIT - część 5, użytkownicy
- Interfejs systemu AMODIT - część 6, grupy
- Interfejs systemu AMODIT - część 7, słowniki
- Interfejs systemu AMODIT - część 8, ustawienia systemowe
- Interfejs systemu AMODIT - część 9, logi systemowe
- Już nie wysyłamy, ale dodajemy komentarze :-)
- Ukrywanie na formularzu identyfikatora sprawy
-
-
-
- Przenoszenie definicji procesu miedzy środowiskami
- Unknown procedure
- Ustawienia procesu
- Źródło utworzenia sprawy
- Możliwość zablokowania edycji dokumentów z poziomu ustawień procesu
- Rejestrowanie zdarzeń związanych z podglądem lub pobieraniem dokumentów
- Częściowe wyłączenie wyszukiwania pełno tekstowego per proces
- Ukrywanie na formularzu identyfikatora sprawy
-
- Articles coming soon
-
-
- Dodawanie pól do formularza z poziomu sprawy
- Dodawanie pól na formularzu
- Dodawanie, usuwanie, przenoszenie pól na formularzu
- Graficzny edytor formularza
- Sekcja
- Rozróżnienie pól lub kolumn o takich samych nazwach podczas konfiguracji raportu
- Zmiana sposobu wyświetlania nazw technicznych i wyświetlanych pól w raportach w przypadku duplikatów nazw
- Silnik reguł - konstrukcja językowa [nazwa pola odnośnik].[nazwa pola]
- Brak możliwości zmiany typu pola na tabelaryczny
- Blokada edycji sekcji 3- lub 4-kolumnowych w edytorze graficznym formularza
-
-
- Blokowanie oraz zezwalanie na dodawanie plików z wybranymi rozszerzeniami
- Pole - Dokument
- Wydzielanie dokumentów
- Możliwość zablokowania edycji dokumentów z poziomu ustawień procesu
- TrustCenterSetSigningPeriod()
- GetAttachmentFromTemplate()
- ConvertFileToPDFEx()
- Parametr systemowy - "Path for files banned for security reasons"
- Maksymalny rozmiar pliku w AMODIT
-
-
-
- Język skryptowy reguł
- Pola systemowe dla każdej sprawy
- Reguła okresowa dla procesu
- Reguły tabeli
- Typy reguł biznesowych
- Tytuł sprawy
- Użycie parametrów w regułach
- Lista typów reguł procesu i opcji ich konfiguracji
- Jak sterować przepływem zdarzeń, korzystając z instrukcji warunkowej "if ... else ..."?
- Reguła okresowa według własnego harmonogramu
- How to disable a process rule from running
- Potwierdzenie wykonania reguły ręcznej
- Potwierdzenie wykonania reguły ręcznej - część 2
- Reguła okresowa dla procesu według własnego harmonogramu
-
-
- CallRest i CallWebSite
- ERP_GetDocumentExportStatus
- ExecuteSQL()
- FindUsersInAD()
- foreachobject
- GetSystemParameterValue
- GetUserDataFromAD
- GetXML
- Integracja z systemami bankowymi (przelewy masowe)
- JsonPath
- RemoteExecuteSQL()
- XmlDecode
- XmlEncode
- XPath
- GetJSON
- Function GetJSON() - how it works
- Integracja z usługą e-Doręczenia Poczty Polskiej
- Zewnętrzne źródła danych - typ połączenia "File"
- OpenAIExecuteQuery()
- Eksport - import ustawień parametrów integracji z innymi systemami
- Połączenia nazwane do baz danych
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Integracja DocuSign z Amodit - Rozwiązanie dla Istniejących Użytkowników
- Show all articles ( 8 ) Collapse Articles
-
- AttachmentsCount
- ConditionalGet
- ConditionalMax
- ConditionalMin
- ConditionalSetTableRowsSum
- ConditionalSum
- CountConnectedClosed
- CountConnectedOpen
- CountDocuments
- CountRows
- DateDiff
- DayDiff
- GetExchangeRate
- HourDiff
- IsNumber
- Max
- Min
- MonthDiff
- NextNumber()
- Round
- Sum
- ToNumber
- WorkDayDiff
- YearDiff
- Ograniczenie precyzji liczb w polach typu numerycznego
- RegisterNextNumber()
- FindAndRegisterNextNumber()
- FindNextNumberByDate()
- GetLastNumber()
- GetNumbersList()
- GetSortValue()
- RemoveCaseFromNextNumber()
- RemoveNextNumber()
- Renumerate()
- ResetNextNumber()
- Show all articles ( 20 ) Collapse Articles
-
- CheckOverlappingDates
- CurrentDateTime
- DateAdd
- DateDiff
- DatePart
- DateTime
- DayDiff
- DeleteDeadline
- HourDiff
- MonthDiff
- SendCalendarMessage()
- SetReminder
- Today
- WorkDayDiff
- YearDiff
- SetDateFilter()
- Show all articles ( 1 ) Collapse Articles
-
- AddTableRow
- CollapseSection
- CopyTableData
- CountRows
- DisableField
- DisableRow
- EnableField
- EnableRow
- ExpandSection
- FieldIsCorrect
- FieldIsIncorrect
- FieldIsNotRequired
- FieldIsRequired
- FieldOriginalValue
- FieldValueChanged
- FillFieldsFromString
- FillFromSkanujTo
- FillTableWithDictionary
- Get
- HideColumn
- HideField
- HideRow
- HideSection
- IsEmpty
- IsFormValid
- IsUniqueValue
- IsValidFieldValue
- NextNumber()
- RemoveTableRow
- SaveCase
- SendCasePrintMail
- Set
- SetDictionaryFilter
- SetFieldAlias
- SetFieldInfo
- SetListChoices
- SetReferenceFilter
- SetTemplate
- SetUserFieldSettings
- SetUserFilter
- ShowColumn
- ShowField
- ShowRow
- ShowSection
- SignCase
- SignField
- StartProgress
- StopProgress
- ToggleField
- ToggleSection
- SetAttachmentFieldSettings
- AddCasePrint
- Blokada edycji sekcji 3- lub 4-kolumnowych w edytorze graficznym formularza
- Show all articles ( 38 ) Collapse Articles
-
- AddTableRow
- ConditionalGet
- ConditionalSet
- CopyTableData
- CountRows
- DisableRow
- EnableRow
- FillTableWithDictionary
- foreachrow
- forrow
- Get
- GetFromPrevRow
- HideColumn
- HideField
- HideRow
- Max
- Min
- RemoveTableRow
- Set
- ShowColumn
- ShowRow
- SortTable
- Sum
- GetJsonFromCsv()
- Show all articles ( 9 ) Collapse Articles
-
- EndsWith
- foreachstring
- FormatValue
- GetAttachmentContent
- GetComments
- IndexOf
- IsNumber
- Length
- NextNumber()
- NumberToMoneyText
- RegExp
- ReplaceRegionalLetters
- StartsWith
- StringContains
- StringFormat
- StringReplace
- StripHTML
- Substring
- ToLower
- ToNumber
- ToUpper
- Trim
- Validate
- ValidatePLNIP
- XmlDecode
- XmlEncode
- XPath
- StringToBase64
- GetJsonFromCsv()
- Base64ToString()
- Char()
- Show all articles ( 16 ) Collapse Articles
-
- AddAttachmentFromTemplate
- AddBarcode
- AddFileToSharepoint
- AttachmentsCount
- Blokowanie oraz zezwalanie na dodawanie plików z wybranymi rozszerzeniami
- ChangeAttachmentName
- ConvertFileToPDF
- CountDocuments
- DeleteAttachment
- DeleteAttachmentFromOCR
- FillDataFromOCR
- FillFromSkanujTo
- GetAttachmentContent
- GetAttachmentData
- GetBarcodes
- GetDictionaryDescription
- GetOfficeOnlineServerLink
- GetQRcodes
- HideAllTemplates
- HideTemplate
- MergeFilesToPDF
- SendAttachmentToOCR
- SendMessageWithAttachments
- SetTemplate
- SetTemplateFileName
- ShowTemplate
- TrustCenterAddNewSigners
- TrustCenterCancelSigning
- TrustCenterCheckStatus
- TrustCenterFinishSigning
- TrustCenterGetSignedBy
- TrustCenterGetSignedDocument
- TrustCenterGetSigners
- TrustCenterSendToSign
- SetAttachmentFieldSettings
- Wydzielanie dokumentów
- MoveAttachmentToCase
- CopyAttachmentToCase
- GetExcelData()
- AddCasePrint
- AddFileToList
- CreateAttachmentFromBase64
- CreateZip
- DownloadFile
- ExtractPagesFromDocument
- ExportReportToExcel
- GetAttachmentFromTemplate()
- ConvertFileToPDFEx()
- Parametr systemowy - "Path for files banned for security reasons"
- Maksymalny rozmiar pliku w AMODIT
- AddAttachment
- AmoditGetAttachmentContent
- Show all articles ( 37 ) Collapse Articles
-
- Podpis elektroniczny AMODIT wpisany do rejestru NBP
- TrustCenterAddNewSigners
- TrustCenterCancelSigning
- TrustCenterCheckStatus
- TrustCenterFinishSigning
- TrustCenterGetSignedBy
- TrustCenterGetSignedDocument
- TrustCenterGetSigners
- TrustCenterSendToSign
- TrustCenterSetSigningPeriod()
- TrustCenterSendToSignEx()
- TrustCenterEditSignersEx()
- TrustCenterGetSignersData()
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Integracja DocuSign z Amodit - Rozwiązanie dla Istniejących Użytkowników
-
- AddComment
- AssignProcedure
- CancelSignature
- CaseCreator
- CaseForwarder
- CaseOwner
- CaseProcessingTime
- CaseStatusId
- ChangeDeadline
- ChangeStage
- CheckAllRequiredParams
- CloseCase
- CopyAndAssignCase
- CopyCase
- CreateCase()
- CurrentStage
- CurrentUser
- DeleteCase
- DeleteDeadline
- FieldIsCorrect
- FieldIsIncorrect
- FieldIsNotRequired
- FieldIsRequired
- FireRules
- forcase
- ForwardCase
- GetDeadline
- GrantTemporaryAccessToCase
- IsFormValid
- IsPrint
- MailHeaderValue
- RedirectToCase()
- RedirectToUrl()
- SaveCase
- SetReminder
- ShowMessage
- SignCase
- SignField
- TerminateTemporaryAccessToCase
- Potwierdzenie wykonania reguły ręcznej
- Confirm()
- Potwierdzenie wykonania reguły ręcznej - część 2
- Ustawianie przypomnienia
- AddCaseEvent
- Show all articles ( 29 ) Collapse Articles
-
- AddProfilerEvent
- CallFunction
- CallRest i CallWebSite
- ERP_GetDocumentExportStatus
- ERP_PutDocumentInBufor
- ExecuteSQL()
- GetSystemParameterValue
- GetXML
- RemoteExecuteSQL()
- WriteToSystemLog()
- GetJSON
- try {...} catch {...}
- AddNews
- Silnik reguł - konstrukcja językowa [nazwa pola odnośnik].[nazwa pola]
- Zewnętrzne źródła danych - typ połączenia "File"
- OpenAIExecuteQuery()
- GetJsonFromCsv()
- Eksport - import ustawień parametrów integracji z innymi systemami
- Wyłączanie spraw z mechanizmu zastępstw
- CreateObject()
- AddObjectToList()
- RegisterNextNumber()
- FindAndRegisterNextNumber()
- FindNextNumberByDate()
- GetLastNumber()
- GetNumbersList()
- GetSortValue()
- RemoveCaseFromNextNumber()
- Wyłączenie niewykorzystywanych snipet’ów w edytorze reguł
- RemoveNextNumber()
- Renumerate()
- ResetNextNumber()
- Base64ToString()
- AddCaseEvent
- Show all articles ( 19 ) Collapse Articles
-
- AddCC
- AddCON
- AddUserToRole
- CaseCreator
- CaseForwarder
- CaseOwner
- ClearCC
- ClearCON
- CurrentUser
- FindUsersInAD()
- FullName
- GetAllUsers
- GetCC
- GetCON
- GetEmail
- GetExtOrganizationData
- GetManager
- GetManagers
- GetSubordinate
- GetUserData
- GetUserDataFromAD
- GetUsersFromRole
- GrantTemporaryAccessToCase
- IsCurrentUserOrDeputy
- IsDeputyOf
- IsGroupMember
- RemoveCC
- RemoveCON
- RemoveUserFromRole
- SetUserFilter
- UserIsExternal
- UsersOfGroup
- Przełączanie konta użytkownika
- Blokowanie edycji parametrów w profilu użytkownika
- AddUsersToGroup()
- RemoveUsersFromGroup()
- SetGroupMembers()
- Show all articles ( 22 ) Collapse Articles
-
-
- Raporty BI - typ raportu "Planowanie zasobów"
- Zewnętrzne źródła danych - typ połączenia "File"
- Operacje na raportach - rejestrowanie aktywności zmian w konfiguracji raportu
- Raporty BI - typ raportu "Tabela"
- Włączanie/wyłączanie możliwości eksportu danych do pliku Excel z poziomu raportu tabelarycznego
- Przekroczenie limitu ilości rekordów przy pobieraniu danych do pliku Excel z poziomu raportu
- Raporty BI - typ raportu "kanban"
- Raporty BI - typ raportu "treemap"
- Raporty BI - typ raportu kolumnowy pionowy lub poziomy
- Raporty BI - typ raportu pivot
- Raporty BI - typ raportu liniowy (wykres)
- Raporty BI - typ raportu kalendarz
- Raporty BI - typ raportu Gantt
-
- Articles coming soon
-
-
-
- Często zadawane pytania dotyczące tworzenia spraw na podstawie maila
- Dzielenie dokumentów przy pomocy kodów kreskowych
- Jak przygotować proces do współpracy z OCR skanuj.to?
- Konfigurowanie uruchamiania spraw na podstawie maila
- Zakładanie nowych spraw na podstawie maila lub skanu
- Zakładanie spraw na podstawie skanów i wypełnianie pól formularza danymi z tych skanów
- Źródło utworzenia sprawy
- Ustawienia poczty przychodzącej
-
- Dostęp tymczasowy
- Jak sterować przepływem zdarzeń, korzystając z instrukcji warunkowej "if ... else ..."?
- Przekazywanie sprawy wg reguł lub bez
- Reguły ręczne - przyciski akcji
- Sprawa zamknięta, dane na formularzu i działanie reguł
- Swobodne przekazywanie sprawy na kolejny etap
- Typy reguł biznesowych
- Lista typów reguł procesu i opcji ich konfiguracji
- Uruchamianie reguły ręcznej dla wielu spraw
- Potwierdzenie wykonania reguły ręcznej
- Confirm()
- Potwierdzenie wykonania reguły ręcznej - część 2
-
- Geolokalizacja
- Jak wyświetlić tylko część "czasu" w polu typu Data i czas ?
- Jak zmienić pole tekstowe w pole typu "password"
- Wydzielanie dokumentów
- Jak obsługiwane jest wysyłanie maili w AMODIT?
- Współpraca AMODIT z MS Excel
- Weryfikacja kontrahenta w Wykazie Podatnika VAT
- What to check when a text message/SMS does not come out from AMODIT
- Możliwość zablokowania edycji dokumentów z poziomu ustawień procesu
- Brak możliwości zmiany typu pola na tabelaryczny
- CreateObject()
- AddObjectToList()
- Przyciski akcji na formularzu sprawy - pole typu "Przyciski"
- Przełączanie konta użytkownika
- Częściowe wyłączenie wyszukiwania pełno tekstowego per proces
-
-
-
- Organizowanie zbierania podpisów
- Jak skonfigurować proces wysyłający dokumenty do podpisu?
- TrustCenterAddNewSigners
- TrustCenterCancelSigning
- TrustCenterCheckStatus
- TrustCenterFinishSigning
- TrustCenterGetSignedBy
- TrustCenterGetSignedDocument
- TrustCenterGetSigners
- TrustCenterSendToSign
- Integracja z podpisem kwalifikowanym SimplySign Certum by Asseco
- TrustCenterSetSigningPeriod()
- Integracja Autenti z Amodit - Rozwiązanie dla Polskich Organizacji
-
- Articles coming soon
-
-
Dla administratorów
-
- AMODIT w środowisku wielodomenowym
- Edycja danych użytkownika
- Organizacja zewnętrzna zapraszanie użytkowników
- Struktura organizacyjna
- Synchronizacja z Active Directory
- Uprawnienia w systemie AMODIT
- Użytkownicy
- Zakładanie konta użytkownika przez administratora
- Zakładanie nowej organizacji zewnętrznej
- Zarządzanie grupami użytkowników
- Zarządzanie kontem użytkownika
- Zastępstwa i nieobecności
- Zmiana hasła
- How to synchronize group members from an external source
- Parametr systemowy - EnableEditingDataOfSyncUsers
- Wyświetlanie adresu IP użytkownika
- Zdarzenia związane z logowaniem się użytkownika
- Przełączanie konta użytkownika
- Możliwość wyłączenia podstawowego obszaru "Wszystkie procesy"
- Blokowanie edycji parametrów w profilu użytkownika
- AddUsersToGroup()
- RemoveUsersFromGroup()
- SetGroupMembers()
- Show all articles ( 8 ) Collapse Articles
-
- Integracja ze skrzynką gmail
- Jak obsługiwane jest wysyłanie maili w AMODIT?
- Konfigurowanie uruchamiania spraw na podstawie maila
- Powiadomienia
- Ustawienia poczty przychodzącej
- Poczta przychodząca z outlook.office365.com
- Wyłączenie rejestrowania wpisów w tabeli usermail
- Parametr systemowy - "Path for files banned for security reasons"
- Link do logo organizacji wysyłanego w mailu
-
- Blokowanie oraz zezwalanie na dodawanie plików z wybranymi rozszerzeniami
- Ustawienia systemowe -Interfejs użytkownika
- Zarządzanie kodem licencyjnym w systemie AMODIT
- Logowanie się do systemu AMODIT (mechanizm podstawowy)
- Organizacja list procesów, raportów lub pozycji menu w kategorie (foldery) lub zakładki
- Parametry "User Profile Access" i "Manager Profile Access"
- Usługi
- Ustawienia systemowe - Ogólne
- Zadania
- Zezwalanie na wyświetlanie treści HTML w polach tekstowych
- What to check when a text message/SMS does not come out from AMODIT
- Antiforgery - ochrona przed atakami CSRF
- Parametr systemowy - EnableEditingDataOfSyncUsers
- Eksport - import ustawień parametrów integracji z innymi systemami
- Wyłączenie rejestrowania wpisów w tabeli usermail
- Konfiguracja wyszukiwania pełnotekstowego
- Logowanie z wykorzystaniem Multi Factor Authentication
- Połączenia nazwane do baz danych
- Przełączanie konta użytkownika
- Parametr systemowy - "Path for files banned for security reasons"
- Konfiguracja konta AppOnly w SharePoint
- Limity dynamicznych pól w systemie
- Show all articles ( 7 ) Collapse Articles
-
-
- Bezpieczeństwo systemu AMODIT - autoryzacja i autentykacja
- Bezpieczeństwo systemu AMODIT - zasady minimalnych uprawnień
- Logowanie się do systemu AMODIT (mechanizm podstawowy)
- Logowanie się do systemu AMODIT kontami m.in. Microsoft, Facebook, Google (mechanizmy dodatkowe)
- Parametry "User Profile Access" i "Manager Profile Access"
- Synchronizacja kont użytkowników z AzureAD
- Synchronizacja z Active Directory
- Uprawnienia w systemie AMODIT
- Parametr systemowy - EnableEditingDataOfSyncUsers
- Wyświetlanie adresu IP użytkownika
- Zdarzenia związane z logowaniem się użytkownika
- Logowanie z wykorzystaniem Multi Factor Authentication
- Przełączanie konta użytkownika
- Możliwość wyłączenia podstawowego obszaru "Wszystkie procesy"
- Blokowanie edycji parametrów w profilu użytkownika
-
- Blokowanie oraz zezwalanie na dodawanie plików z wybranymi rozszerzeniami
- Dodatkowe zabezpieczenia aplikacji webowej AMODIT
- Zezwalanie na wyświetlanie treści HTML w polach tekstowych
- Skanowanie antywirusowe wgrywanych dokumentów
- Antiforgery - ochrona przed atakami CSRF
- Logowanie z wykorzystaniem Multi Factor Authentication
- Parametr systemowy - "Path for files banned for security reasons"
-
- "Łagodne" kończenie zadań w momencie zatrzymywania usługi AMODAsynchronousService
- 4Eyes rule
- Bezpieczeństwo systemu AMODIT na etapie projektowania i tworzenia rozwiązań
- Monitor wydajności systemu AMODIT
- Transparentność w systemie AMODIT
- Uprawnienia w systemie AMODIT
- Systemowe źródła danych
- Raporty systemowe
- How to set up access levels to AMODIT WebAPI
- Operacje na raportach - rejestrowanie aktywności zmian w konfiguracji raportu
- Wyświetlanie adresu IP użytkownika
- Wyłączenie rejestrowania wpisów w tabeli usermail
- Logowanie z wykorzystaniem Multi Factor Authentication
- Połączenia nazwane do baz danych
- Rejestrowanie zdarzeń związanych z podglądem lub pobieraniem dokumentów
- Częściowe wyłączenie wyszukiwania pełno tekstowego per proces
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Włączanie/wyłączanie możliwości eksportu danych do pliku Excel z poziomu raportu tabelarycznego
- Przekroczenie limitu ilości rekordów przy pobieraniu danych do pliku Excel z poziomu raportu
- Maksymalny rozmiar pliku w AMODIT
- Link do logo organizacji wysyłanego w mailu
- Show all articles ( 6 ) Collapse Articles
-
-
-
Dla integratorów
-
- CallRest i CallWebSite
- Excel jako zewnętrzne źródło danych
- Excel jako źródło danych dla słownika zewnętrznego
- Integracja z bazą VIES (Potwierdzenie numeru VAT)
- Integracja z Krajowym Systemem e-Faktur poprzez KSeF Connector
- Integracja z systemami bankowymi (przelewy masowe)
- Moduł e-Nadawca w AMODIT
- Wymiana danych z systemami zewnętrznymi
- Źródło utworzenia sprawy
- Integracja z podpisem kwalifikowanym SimplySign Certum by Asseco
- Integracja z firmą kurierską FEDEX
- Integracja z firmą kurierską DHL
- Bankowe przelewy zagraniczne
- Zestawienie integracji dostępnych w AMODIT
- What to check when a text message/SMS does not come out from AMODIT
- Integracja z usługą e-Doręczenia Poczty Polskiej
- Zewnętrzne źródła danych - typ połączenia "File"
- OpenAIExecuteQuery()
- Eksport - import ustawień parametrów integracji z innymi systemami
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Konfiguracja konta AppOnly w SharePoint
- Integracja DocuSign z Amodit - Rozwiązanie dla Istniejących Użytkowników
- Integracja Autenti z Amodit - Rozwiązanie dla Polskich Organizacji
- Show all articles ( 8 ) Collapse Articles
-
Dla instalatorów
-
- Aktualne wersje
- Ile serwerów jest potrzebnych?
- Zarządzanie kodem licencyjnym w systemie AMODIT
- Konfiguracja kluczowych parametrów
- Procedury aktualizacji komponentów serwerów Windows i bazy danych, tzw. certyfikacja OS
- Przygotowanie serwera aplikacyjnego do instalacji
- Przygotowanie serwera bazy danych do instalacji
- Wirtualizacja serwerów
- Zalecane parametry serwerów
- Instalacja Platformy AMODIT
- Problemy po instalacji usługi AMODITAsynchronousService
- Konfiguracja wyszukiwania pełnotekstowego
- Połączenia nazwane do baz danych
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Maksymalny rozmiar pliku w AMODIT
-
- Aktualizacja Platformy AMODIT i .NET FRAMEWORK
- Aktualizowanie Platformy AMODIT
- Aktualne wersje
- Procedury aktualizacji komponentów serwerów Windows i bazy danych, tzw. certyfikacja OS
- Problemy po instalacji usługi AMODITAsynchronousService
- Eksport - import ustawień parametrów integracji z innymi systemami
- Konfiguracja wyszukiwania pełnotekstowego
- Maksymalny rozmiar pliku w AMODIT
-
- Header Content Security Policy
- Konfiguracja farmy serwerów frontend AMODIT
- Konfiguracja środowiska testowego i produkcyjnego na jednym serwerze aplikacyjnym
- Odbudowa indeksu wyszukiwania pełnotekstowego Lucene
- Eksport - import ustawień parametrów integracji z innymi systemami
- Przekroczenie limitu ilości rekordów przy pobieraniu danych do pliku Excel z poziomu raportu
- Konfiguracja konta AppOnly w SharePoint
-
-
Do uporządkowania
- Mapa rozwoju AMODIT TrustCenter
- Lista zmian w aplikacji SignApp
- Jak ponownie wysłać maila do osoby podpisującej dokument w systemie Trust Center
-
- Dezaktywacja baz AMODIT na chmurze
- Historia zmian Platformy AMODIT
- Lista artykułów na wiki - nowości lub aktualizacje
-
- OCR w AMODIT
- Automatyczne odczytywanie danych z faktur (OCR)
- Kody kreskowe - generowanie i odczytywanie
- Obsługa zastępstw w AMODIT
- Integracja z systemami bankowymi (przelewy masowe)
- Business Intelligence
- Podpisywanie dokumentów w systemie AMODIT z wykorzystaniem podpisu kwalifikowanego
- Instalacja programu Amodit SignApp
-
- Articles coming soon
Limity dynamicznych pól w systemie
Wprowadzenie
Platforma AMODIT oferuje szerokie możliwości definiowania różnorodnych typów pól na formularzach – od prostych pól tekstowych, przez listy wyboru, aż po złożone pola odnośników czy dokumentów. Jednak każde pole formularza musi zostać odpowiednio zmapowane na struktury w bazie danych, co bezpośrednio wpływa na limity liczby pól, które można utworzyć w konkretnej implementacji.
Zrozumienie mechanizmu mapowania typów pól na struktury bazodanowe jest kluczowe dla efektywnego zarządzania zasobami systemu. Ograniczenia wynikają z limitów technicznych konkretnych silników baz danych – MySQL oraz MS SQL Server – na których może działać AMODIT.
Często dostajemy pytania: „Ile mogę dodać pól do procesu?” Odpowiedź zależy nie tylko od liczby pól, ale przede wszystkim od typu bazy danych (MySQL vs MS SQL) i typów pól które chce się dodać.
Mechanizm reprezentacji pól w bazie danych
Grupy typów pól w AMODIT
AMODIT organizuje wszystkie dostępne typy pól formularza w cztery podstawowe grupy, które odpowiadają typom danych w bazie danych:
- VARCHAR – dla krótkich tekstów i wartości o ograniczonej długości
- TEXT – dla długich tekstów o znacznie większej pojemności
- NUMBER – dla wartości liczbowych oraz referencji do innych rekordów w innych tabelach
- DATETIME – dla dat i czasu
Każda z tych grup ma przypisane konkretne typy pól dostępne w interfejsie projektanta formularzy.
Mapowanie typów pól na grupy bazodanowe
Poniższa tabela przedstawia szczegółowe przypisanie typów pól do grup:
Grupa | Typy pól obsługiwane przez grupę |
---|---|
Varchar | Krótki tekst, Pole walidowane, Hiperłącze, Lista wyboru, Odnośnik do źródła zewnętrznego, Wyszukiwanie elementu listy SharePoint (przestarzałe), Wartość elementu listy SharePoint (przestarzałe) |
Text | Długi tekst, Tabela |
Number | Liczba, Kwota, Słownik, Tak/Nie, Użytkownik, Podpis, Odnośnik, Dokument |
DateTime | Data, Data i czas |
Uwaga: Następujące typy pól nie mają fizycznej reprezentacji w bazie danych i nie wpływają na limity liczby kolumn: Statyczny tekst, Strona zewnętrzna, Tabela SQL, Kod kreskowy, Puste, Raport osadzony, Przycisk, Wywołanie metody webservice (przestarzałe).
Różnice w implementacji między wersjami AMODIT
Sposób mapowania grup na konkretne typy kolumn w bazie danych różni się w zależności od:
- Silnika bazy danych (MySQL vs MS SQL Server)
- Wersji systemu AMODIT
Implementacja w starszych wersjach AMODIT
Nazwa | MySQL | MS SQL |
---|---|---|
VARCHAR | varchar(255) | nvarchar(256) |
TEXT | text | nvarchar(max) |
NUMBER | decimal(14,4) | decimal(14,4) |
DateTime | datetime | datetime |
Implementacja w nowszych wersjach AMODIT
Nazwa | MySQL | MS SQL |
---|---|---|
VARCHAR | mediumtext | nvarchar(max) |
TEXT | text | nvarchar(max) |
NUMBER | decimal(14,4) | decimal(14,4) |
DateTime | datetime | datetime |
Znaczenie zmian w nowszych wersjach
Najważniejszą zmianą między wersjami jest sposób implementacji grupy VARCHAR:
- W starszych wersjach używany był typ varchar(255) i nvarchar(256) co znacząco wpływało na limity liczby pól tego typu w bazie danych
- W nowszych wersjach: zastąpienie typami mediumtext (MySQL) i nvarchar(max) (MS SQL) znacznie zmieniło kalkulację limitów liczby pól
Ta zmiana ma znaczenie dla możliwości definiowania pól z grupy VARCHAR w systemie – umożliwia utworzenie znacznie większej liczby pól typu VARCHAR niż w starszych wersjach.
Instalacje „mieszane” – współistnienie starych i nowych typów
Aktualizacja systemu AMODIT do nowszej wersji nie zmienia już istniejących pól VARCHAR. Zmiana dotyczy tylko sytuacji zwiększania limitu pól. Utworzenie nowych kolumn w bazie danych odbywa się już z użyciem nowego typu np. mediumtext.
Praktyczne konsekwencje:
- Kolumny VARCHAR utworzone przed aktualizacją: nadal pozostają jako varchar(255) (MySQL) lub nvarchar(256) (MS SQL Server)
- Kolumny VARCHAR dodawane po aktualizacji: są tworzone jako mediumtext (MySQL) lub nvarchar(max) (MS SQL Server)
Rezultat: W jednej instalacji AMODIT mogą współistnieć kolumny bazodanowe w różnych formatach – część pól wykorzystuje starą reprezentację, a część nową reprezentację. Oznacza to, że rzeczywiste możliwości konkretnej instalacji zależą od:
- Kiedy została przeprowadzona aktualizacja systemu
- Ile pól VARCHAR było już utworzonych przed aktualizacją
- Ile nowych pól VARCHAR zostało dodanych po aktualizacji
Limity typów pól w AMODIT
Ograniczenia na poziomie systemu AMODIT
Obecnie AMODIT nie ma wbudowanego ograniczenia liczby dodawanych kolumn. System pozwala na dodawanie pól aż do momentu osiągnięcia limitów technicznych bazy danych. W momencie gdy baza nie będzie w stanie dodać nowej kolumny, zostanie to zakomunikowane użytkownikowi poprzez komunikat błędu.
Ta zasada oznacza, że głównym czynnikiem ograniczającym są limity techniczne silnika bazy danych – nie mechanizmy kontrolne AMODIT.
MySQL – Ograniczenia i możliwości
Podstawowe limity MySQL (InnoDB)
Limit | Wartość | Opis |
---|---|---|
Kolumny w tabeli | 1017 kolumn | Wszystkie kolumny łącznie (systemowe + dynamiczne) |
Rozmiar rekordu | dane inline ≤ 8 126 B | To co może zostać zapisane w ramach jednego rekordu głównego |
Rozmiary typów pól w MySQL
Starsze instalacje AMODIT na MySQL:
Typ pola | Rozmiar w rekordzie | Uwagi |
---|---|---|
VARCHAR(255) | 765 bajtów | UTF-8: każdy znak = 3 bajty × 255 |
TEXT | 20 bajtów | Wskaźnik do treści przechowywanej osobno |
DECIMAL(14,4) | 7 bajtów | Standardowy NUMBER w AMODIT |
DATETIME | 5 bajtów | Stała wielkość |
Nowsze instalacje AMODIT na MySQL (MEDIUMTEXT):
Typ pola | Rozmiar w rekordzie | Uwagi |
---|---|---|
MEDIUMTEXT | 22 bajty | Wskaźnik do treści przechowywanej osobno |
TEXT | 22 bajty | Wskaźnik do treści przechowywanej osobno |
DECIMAL(14,4) | 7 bajtów | Standardowy NUMBER w AMODIT |
DATETIME | 5 bajtów | Stała wielkość |
MS SQL Server – Ograniczenia i możliwości
Podstawowe limity MS SQL Server
Limit | Wartość | Opis |
---|---|---|
Kolumny w tabeli | 1024 kolumny | Wszystkie kolumny łącznie (systemowe + dynamiczne) |
Rozmiar rekordu | 8060 bajtów | To co może zostać zapisane w ramach jednego rekordu głównego |
Rozmiary typów pól w MS SQL Server
Starsze instalacje AMODIT na MS SQL:
Typ pola | Rozmiar w rekordzie | Uwagi |
---|---|---|
NVARCHAR(256) | 512 bajtów | 2 bajty na znak (Unicode) × 256 znaków |
NVARCHAR(MAX) | max 24 bajty | MS SQL Server automatycznie zarządza przechowywaniem w ROW_OVERFLOW_DATA |
DECIMAL(14,4) | 9 bajtów | Standardowy NUMBER w AMODIT |
DATETIME | 8 bajtów | Stała wielkość |
Nowsze instalacje AMODIT na MS SQL (NVARCHAR(MAX)):
Typ pola | Rozmiar w rekordzie | Uwagi |
---|---|---|
NVARCHAR(MAX) | max 24 bajty | MS SQL Server automatycznie zarządza przechowywaniem w ROW_OVERFLOW_DATA |
NVARCHAR(MAX) | max 24 bajty | Jak wyżej – oba typy używają tego samego mechanizmu |
DECIMAL(14,4) | 9 bajtów | Standardowy NUMBER w AMODIT |
DATETIME | 8 bajtów | Stała wielkość |
Mechanizmy optymalizacji przechowywania danych
Dlaczego proste kalkulacje nie działają
Oba silniki baz danych – MySQL InnoDB i MS SQL Server – implementują zaawansowane mechanizmy automatycznego zarządzania przechowywaniem danych, które sprawiają, że tradyjne kalkulacje typu „rozmiar pola × liczba pól = wykorzystanie przestrzeni” nie odzwierciedlają rzeczywistości.
Mechanizmy overflow w MySQL InnoDB
MySQL InnoDB wykorzystuje overflow pages (strony przepełnienia). Baza MySQL z której korzysta AMODIT skonfigurowana jest w formacie DYNAMIC co oznacza może przechowywać całe długie kolumny w overflow pages, pozostawiając tylko 20-bajtowy wskaźnik w rekordzie głównym
Kluczowa zasada: gdy rekord staje się zbyt długi, MySQL automatycznie wybiera najdłuższe kolumny i przenosi je do overflow pages, aż rekord główny zmieści się w limicie strony (~8KB).
Mechanizmy overflow w MS SQL Server
MS SQL Server używa ROW_OVERFLOW_DATA allocation units:
- Kolumna NVARCHAR(MAX) i podobne są automatycznie przenoszone do osobnych stron gdy rekord przekracza 8060 bajtów
- W rekordzie głównym pozostaje 24-bajtowy wskaźnik do rzeczywistych danych
- MS SQL inteligentnie zarządza tym, które kolumny przenieść, aby zoptymalizować wydajność
Praktyczne implikacje dla AMODIT
Co to oznacza dla planowania procesów:
- Nie można stosować prostych kalkulacji typu „10 pól VARCHAR × 765 bajtów = przekroczenie limitu”
- Oba silniki baz danych automatycznie optymalizują przechowywanie danych bez ingerencji użytkownika
- Rzeczywiste limity są znacznie wyższe niż wynikałoby z teoretycznych kalkulacji rozmiaru rekordu
- Głównym ogranicznikiem staje się limit liczby kolumn (1017 dla MySQL, 1024 dla MS SQL) a nie rozmiar rekordu
Najlepsze praktyki zarządzania polami w AMODIT
Zasada nieodwracalności dodawania pól
Kluczowa zasada: W AMODIT nie ma możliwości „cofnięcia” dodania kolumny. Oznacza to, że:
- Raz dodanej kolumny nie da się usunąć z bazy danych
- Nie można zamienić istniejącej kolumny na inny typ
- Kolumny pozostają w bazie danych na stałe, nawet jeśli pole zostanie usunięte z formularza
Strategiczne podejście do dodawania pól
Ze względu na nieodwracalność procesu, trzeba być niezwykle rozważnym przy dodawaniu i rozszerzaniu zakresu kolumn:
❌ Błędne podejście:
- Dodawanie pól „masowo”, np. 20 kolumn jednego typu „na zapas”
- Tworzenie pól „na wyrost” bez konkretnego zastosowania
- Eksperymentowanie z różnymi typami pól w środowisku produkcyjnym
✅ Prawidłowe podejście:
- Dodawanie tyle pól ile jest potrzebnych w danym momencie (np. 1 lub 2)
- Dokładne zaplanowanie struktury formularza przed implementacją
- Testowanie różnych opcji w środowisku deweloperskim
- Postupowe rozszerzanie funkcjonalności w miarę rzeczywistych potrzeb
Planowanie długoterminowe
Rekomendacje dla administratorów:
- Analiza wymagań – dokładne określenie potrzeb biznesowych przed dodawaniem pól
- Dokumentacja struktury – prowadzenie rejestru dodanych pól i ich przeznaczenia
- Monitoring wykorzystania – regularne sprawdzanie które pola są rzeczywiście wykorzystywane
- Środowisko testowe – zawsze testowanie nowych struktur przed wdrożeniem na produkcji
- Backup przed zmianami – zabezpieczenie danych przed każdą większą modyfikacją struktury
Wnioski – zaawansowane mechanizmy optymalizacji baz danych
Analiza limitów pól w systemie AMODIT ujawnia, że obie wykorzystywane bazy danych – MySQL InnoDB oraz MS SQL Server – posiadają zaawansowane mechanizmy zarządzania zajętością rekordu, które automatycznie optymalizują balans między pojemnością danych, wydajnością oraz zajętością przestrzeni dyskowej.
MySQL InnoDB stosuje overflow pages (przechowywanie off-page) z różnymi formatami rekordów (COMPACT, DYNAMIC, COMPRESSED), gdzie długie kolumny VARCHAR, TEXT i BLOB są automatycznie przenoszone do osobnych stron z pozostawieniem 20-bajtowych wskaźników w rekordzie głównym.
MS SQL Server wykorzystuje analogiczne mechanizmy ROW_OVERFLOW_DATA allocation units oraz LOB_DATA pages, automatycznie przenosząc kolumny NVARCHAR(MAX), VARCHAR(MAX) i podobne do osobnych stron z 24-bajtowymi wskaźnikami gdy rekord przekracza limit 8060 bajtów.
Dodatkowo obie bazy implementują intelligent column selection (inteligentny wybór kolumn do przeniesienia), adaptive compression (adaptacyjną kompresję), dynamic threshold management (dynamiczne zarządzanie progami) oraz page-level optimization (optymalizację na poziomie stron). Te mechanizmy sprawiają, że praktyczne limity liczby pól w nowszych wersjach AMODIT są znacznie wyższe niż wynikałoby to z prostej kalkulacji rozmiaru rekordu, umożliwiając tworzenie procesów z setkami pól tekstowych bez znaczącego wpływu na wydajność systemu.
Kluczowe wnioski praktyczne:
- Limity są określane przez silnik bazy danych, nie przez system AMODIT
- Mechanizmy overflow umożliwiają znacznie większą liczbę pól niż sugerowałyby teoretyczne kalkulacje
- Nieodwracalność dodawania pól wymaga przemyślanego podejścia do projektowania struktur
- Dostępne narzędzia (AMODIT DatabaseAdmin) umożliwiają optymalizację istniejących instalacji
- Najlepsze praktyki zarządzania polami są kluczowe dla długoterminowej efektywności systemu