Konfiguracja pól obiektów aplikacji
Opis ustawień pól w kreatorze formularzy obiektów: widoczność, edytowalność, nazwa instancji, kolumny tabel, obiekty zagnieżdżone i nadpisania per aplikacja.
1. Ustawienia pola
Ustawienie | Co robi | Domyślnie | Gdzie dostępne |
|---|---|---|---|
Edytowalna | Pole można zmieniać na formularzu instancji. Wyłączone = tylko do odczytu. | tak | definicja, nadpisanie aplikacji |
Ukryte na podglądzie | Pole nie jest wyświetlane w trybie podglądu instancji. W edycji i przy tworzeniu instancji jest widoczne i można je wypełnić. | nie | definicja, nadpisanie aplikacji |
Wyświetlaj jako kolumna w tabeli obiektów aplikacji | Pole jest kolumną w tabeli instancji obiektu. | nie | definicja, nadpisanie aplikacji |
Uwzględnij w generowanej nazwie instancji | Wartość pola wchodzi do nazwy instancji. | nie | tylko definicja |
Ustawienia dotyczą pól z wartością (tekst, liczba, data, lista wyboru itd.). Pola zagnieżdżone, grupy, obrazy, awatary i przyciski procesu ich nie mają.
Pole ukryte na podglądzie
Podgląd: pole nie jest wyświetlane, a pola poniżej przesuwają się w górę. Wiersz znika tylko wtedy, gdy nie stoi w nim żadne widoczne pole:
Położenie ukrytego pola | Efekt na podglądzie |
|---|---|
samo w wierszu (lub tylko z innymi ukrytymi) | wiersz znika, pola poniżej przesuwają się w górę |
obok widocznego pola w tym samym wierszu | w jego miejscu zostaje puste pole |
wewnątrz rozwiniętej grupy | wiersz zostaje (ramka grupy się nie zmienia) |
Wiersze, które w kreatorze celowo zostawiono puste, zachowują swoją wysokość.
- Edycja i tworzenie instancji: pole jest widoczne normalnie.
- Tabele: ukryte pole nigdy nie jest kolumną, ani w tabeli instancji, ani w tabeli obiektu zagnieżdżonego, nawet gdy ma zaznaczone „Wyświetlaj jako kolumna”.
- Obiekt zagnieżdżony jako formularz: ukryte pola nie są wyświetlane w panelach powiązanych instancji (tylko do odczytu). W panelu nowej, jeszcze niezapisanej instancji są widoczne.
- Wartość: jest zapisywana i może budować nazwę instancji.
- Kreator: ukryte pola są przyszarzone na kanwie.
2. Reguły walidacji przy zapisie
Reguła | Kiedy jest sprawdzana |
|---|---|
Pole wymagane musi być edytowalne. Może być ukryte na podglądzie. | zapis definicji i zapis nadpisań aplikacji |
Pola nie można oznaczyć jako wymagane, jeśli w którejś aplikacji jest nieedytowalne. Komunikat podaje nazwy tych aplikacji. | zapis definicji |
Co najmniej jedno pole nazwy instancji musi być edytowalne. Wszystkie pola nazwy mogą być ukryte na podglądzie. | zapis definicji, osobno dla każdej aplikacji, do której obiekt jest przypisany, z uwzględnieniem jej nadpisań |
Pole zagnieżdżone nie może być wymagane. | zapis definicji |
Pole zagnieżdżone w trybie Tabela musi mieć wybraną co najmniej jedną kolumnę. Tryb Formularz nie wymaga kolumn. | zapis formularza w kreatorze oraz zapis definicji przez API (zbiorczy i pojedynczego pola) |
3. Nadpisania per aplikacja (obiekty współdzielone)
Obiekt współdzielony może być przypisany do wielu aplikacji. O ustawieniach jego pól decyduje definicja obiektu, chyba że aplikacja je nadpisze.
- Co można nadpisać: Edytowalna, Ukryte na podglądzie, Wyświetlaj jako kolumna.
- Czego nie można nadpisać: pól nazwy instancji (kreator pokazuje informację, że konfiguruje się je w definicji), nazwy i etykiety pola, układu formularza oraz żadnych ustawień pól zagnieżdżonych (obiekt docelowy, tryb powiązania, sposób wyświetlania, kolumny, ramka, etykieta).
- Kiedy powstaje nadpisanie: tylko wtedy, gdy w aplikacji ustawi się wartość inną niż w definicji. Przypisanie obiektu do aplikacji ani dodanie nowego pola niczego nie kopiuje, więc aplikacja widzi bieżącą definicję.
- Zapisane nadpisanie obowiązuje, dopóki ktoś go nie usunie. Działa także wtedy, gdy definicja później zmieni się na tę samą wartość, a potem z powrotem.
- Przywróć wartość z definicji: przycisk przy nadpisanym ustawieniu usuwa nadpisanie, a pole znów podąża za definicją.
- Aplikacja-właściciel obiektu zawsze używa samej definicji.
- Odpięcie obiektu od aplikacji usuwa wszystkie jego nadpisania w tej aplikacji. Po ponownym przypięciu obiekt startuje od czystej definicji.
- Te same reguły co w sekcji 2: nie można np. zablokować edycji pola wymaganego ani ostatniego edytowalnego pola nazwy.
4. Pole obiektu zagnieżdżonego
Ustawienia
Ustawienie | Opcje | Domyślnie | Uwagi |
|---|---|---|---|
Obiekt docelowy | dowolny obiekt oprócz bieżącego | brak, trzeba wybrać | Po zapisie nie można go zmienić. Niedozwolone jest zagnieżdżenie obiektu w sobie i cykl zagnieżdżeń (A → B → A). |
Tryb powiązania | Powiązane ręcznie / Dopasowane po wartości pola | Powiązane ręcznie | Po zapisie nie można go zmienić (patrz niżej). |
Sposób wyświetlania | Tabela / Formularz | Tabela |
|
Kolumny tabeli | pola obiektu docelowego typu: tekst, tekst wieloliniowy, tekst sformatowany, liczba, kwota, data, data i czas, lista wyboru, lista wielokrotnego wyboru, wartość logiczna | brak — trzeba wybrać co najmniej jedną | Tylko w trybie Tabela. Pola ukryte w definicji obiektu docelowego są wyszarzone: kolumna pojawi się tylko w aplikacjach, które je odkryją. Zestaw kolumn jest wspólny dla wszystkich aplikacji, a aplikacja może kolumnę usunąć, ukrywając pole obiektu docelowego. Jeśli ukryje wszystkie wybrane pola, tabela nie będzie miała widocznych kolumn z danymi. Brak wyboru nie włącza automatycznego doboru kolumn. |
Ukryj ramkę | tak / nie | nie | Tylko w trybie Formularz. Panele powiązanych instancji są bez obramowania i tła. |
Ukryj etykietę | tak / nie | nie | Tylko w trybie Formularz. Nad listą nie ma nazwy pola. |
Obiekt docelowy a aplikacje i nadpisania
- Instancje obiektu zagnieżdżonego zawsze pochodzą z tej samej aplikacji, w której otwarto instancję nadrzędną.
- Automatyczne dopinanie: przypięcie obiektu nadrzędnego dopina do tej samej aplikacji brakujące obiekty docelowe, także na kolejnych poziomach zagnieżdżenia. Zapis definicji z polami zagnieżdżonymi również uzupełnia te przypisania we wszystkich aplikacjach używających obiektu. Dotyczy to zapisu całego formularza oraz utworzenia lub aktualizacji pojedynczego pola zagnieżdżonego przez API.
- Ustawienia dopinanych obiektów: nowe przypisanie otrzymuje ustawienie „Wyświetlaj na liście obiektów” z przypisania obiektu nadrzędnego. Istniejące przypisania i nadpisania pól pozostają bez zmian; nowe przypisanie nie tworzy nadpisań pól.
- Obiekt własny innej aplikacji nie może zostać automatycznie dopięty. Jeśli występuje w zależnościach, przypięcie obiektu nadrzędnego lub zapis jego definicji kończy się błędem i cała operacja jest wycofywana. Obiekty własne bieżącej aplikacji są dozwolone, a ich zależności również są dopinane.
- Lista obiektów docelowych: w kreatorze otwartym w kontekście aplikacji zawiera obiekty już przypisane do niej. Obiekt współdzielony edytowany poza aplikacją może wskazać dowolny obiekt, z uwzględnieniem ograniczenia dotyczącego właściciela opisanego powyżej.
- Odpięcie używanego obiektu: kreator ostrzega i podaje nazwy obiektów w tej aplikacji, które używają go jako zagnieżdżonego. Można potwierdzić odpięcie; ich pola zagnieżdżone będą wtedy pokazywać błąd wczytywania do ponownego przypięcia obiektu. Jest to ostrzeżenie w interfejsie, a nie blokada API. Odpięcie obiektu nadrzędnego nie odpina automatycznie jego zależności.
- Nadpisania obiektu docelowego w bieżącej aplikacji obowiązują także w polu zagnieżdżonym: pola ukryte w tej aplikacji nie są kolumnami tabeli ani nie są widoczne w panelach powiązanych instancji, a edytowalność pól w panelu nowej instancji wynika z ustawień tej aplikacji.
- Usunięcie obiektu docelowego usuwa pola zagnieżdżone, które na niego wskazywały, we wszystkich innych obiektach.
Tryb „Powiązane ręcznie”
Powiązania są zapisywane przy instancji nadrzędnej. Możliwości zależą od sposobu wyświetlania:
Sposób wyświetlania | Edycja instancji nadrzędnej | Podgląd instancji nadrzędnej |
|---|---|---|
Tabela | powiązanie istniejącej instancji z listy, odłączenie (akcja w wierszu); nie można tworzyć nowych | kliknięcie wiersza otwiera instancję zagnieżdżoną, a powrót prowadzi do instancji nadrzędnej |
Formularz | powiązanie istniejącej instancji, odłączenie, dodanie nowej (pusty panel do wypełnienia) | panele powiązanych instancji tylko do odczytu |
- Nowe instancje dodane w trybie Formularz są tworzone dopiero przy zapisie instancji nadrzędnej. Obowiązują wtedy wymagane pola obiektu docelowego. Jeśli zapis instancji nadrzędnej się nie powiedzie, utworzone w tym zapisie nowe instancje są wycofywane.
- Panele powiązanych (już istniejących) instancji są zawsze tylko do odczytu. Instancję zmienia się, otwierając ją bezpośrednio.
- Zagnieżdżenia wielopoziomowe: zarządzać powiązaniami można tylko na pierwszym poziomie. Obiekty zagnieżdżone w obiekcie zagnieżdżonym są tylko do podglądu. Podgląd w trybie Formularz sięga maksymalnie 3 poziomów, a głębiej wyświetla się komunikat „Osiągnięto limit zagnieżdżenia podglądu”.
Tryb „Dopasowane po wartości pola”
Lista zawiera te instancje obiektu docelowego, których pole docelowe ma tę samą wartość co pole źródłowe instancji nadrzędnej.
- Pole źródłowe: pole bieżącego obiektu. Może to być pole dodane w tym samym zapisie formularza.
- Pole docelowe: pole obiektu docelowego tego samego typu co źródłowe.
- Dozwolone typy: tekst, liczba, lista wyboru, data, data i czas.
- Porównanie wartości: liczby są porównywane po wartości (123 = 123,00). Pusta wartość źródłowa, w tym pusty tekst, niczego nie dopasowuje.
- Zakres: dopasowywane są tylko instancje z tej samej aplikacji.
- Tylko do odczytu: nie można powiązać, odłączyć ani utworzyć instancji. W trybie edycji nad listą jest informacja o automatycznym dopasowaniu.
- Nowa instancja: dopasowanie pojawia się dopiero po zapisaniu instancji nadrzędnej (do tego czasu widoczna jest informacja).
- Odświeżanie: po zapisie instancji z nową wartością pola źródłowego lista odświeża się automatycznie.
- Import instancji: kolumna takiego pola jest pomijana, bo nie ma czego importować.
- Ochrona pól powiązania:
- pola używanego jako źródłowe lub docelowe nie można usunąć ani zmienić jego typu, chyba że w tym samym zapisie usuwa się też pole zagnieżdżone;
- trybu i pól powiązania nie można zmienić po zapisie: trzeba usunąć pole zagnieżdżone i dodać je na nowo.
Usuwanie instancji z obiektami zagnieżdżonymi
- Opcja „Usuń także obiekty zagnieżdżone w usuwanej instancji” usuwa też instancje dopasowane po wartości pola, ale tylko z tej samej aplikacji i tylko obiektu docelowego.
- Jeśli wśród obiektów zagnieżdżonych są instancje dopasowane po wartości, okno usuwania ostrzega, że znikną one także z innych instancji o tej samej wartości.
