Ten poradnik prowadzi od relacji między klasami do wygodnego wyboru obiektu na formularzu. Podstawowe rodzaje pól opisuje artykuł Klasy i pola w programie bs4 core, a wspólne ustawienia kontrolek — 1. Edycja elementów formularza.
Przykład: główna osoba kontrahenta #
Kontrahent i osoba kontaktowa są odrębnymi obiektami. W klasie „Kontrahent” pole „Główna osoba” wskazuje jeden obiekt klasy „Osoba”. Dodanie takiego pola nie kopiuje danych osoby do kontrahenta i nie tworzy automatycznie powiązania zwrotnego w drugim obiekcie.
Konfiguracja pola w klasie #
- Otwórz opcję menu „Opcje”, a następnie opcję „Administrator”. W kartotece administratora otwórz zakładkę „klasy” i wybierz klasę „Kontrahent”.
- W sekcji „Pola” otwórz istniejące pole „Główna osoba” albo kliknij przycisk „Dodaj nowe”.
- W polu „Rodzaj” wybierz „powiązanie 1 obiektu z innej klasy”. Jeśli relacja ma dopuszczać kilka osób, wybierz „powiązanie wielu obiektów z innej klasy”.
- W polu „Klucz do klasy” wskaż klasę „Osoba”. Nazwa ta pochodzi z edytora pola; w niektórych zestawieniach definicji można spotkać określenie „Powiązanie do klasy”.
- Ustaw nazwę pola i zapisz definicję. Wartość domyślna pola powiązania jest identyfikatorem obiektu, a nie jego nazwą.

Dopasowanie wyboru na formularzu #
Otwórz edytor właściwej strony formularza, następnie opcję menu „Elementy formularza” i element typu „pole”. W polu „pole” wskaż zdefiniowane powiązanie. Samo utworzenie pola w klasie nie dodaje kontrolki do wszystkich formularzy.
Dla krótkiej listy, np. opiekunów, wygodna jest lista wyboru. Dla tysięcy kontrahentów zastosuj wyszukiwarkę i w polu „Przekieruj do strony” wskaż odpowiednio skonfigurowane zestawienie docelowej klasy. Jego filtry i kolumny decydują o sposobie szukania oraz prezentacji kandydatów. Zobacz Konfiguracja strony typu „Zestawienie”.
Jeśli użytkownik ma móc tworzyć brakujący obiekt, ustaw pole „Strona do dodawania”. Opcja jest dostępna dla obsługiwanych kontrolek powiązań w wersji stacjonarnej; nie jest wspólną opcją każdej kontrolki, a powiązania z plikami mają osobny mechanizm przesyłania. Brak przycisku dodawania wymaga sprawdzenia rodzaju pola, kontrolki, wybranej strony i uprawnień użytkownika.
Jak ograniczyć listę #
Nie traktuj nazwy pola jako filtra. pole „Opiekun klienta” powiązane z użytkownikami samo w sobie nie oznacza listy wyłącznie aktywnych opiekunów. Ograniczenie może pochodzić ze słownika, np. „Użytkownicy włączeni”, albo z konfiguracji zestawienia użytego do wyszukiwania. Szczegóły: Słowniki — tworzenie i ograniczanie list wyboru.
Sprawdzenie konfiguracji #
W formularzu demonstracyjnym wybierz obiekt, zapisz dane i otwórz je ponownie. Dla relacji wielokrotnej sprawdź także wybór kilku rekordów i odłączenie jednego z nich. Jeżeli kontrolka ma otwierać kartotekę powiązanego obiektu, sprawdź ten link na koncie użytkownika docelowego. Widoczność wyboru nie zastępuje praw do samego obiektu.
Relacja z kontrahenta do osoby i lista wszystkich osób danego kontrahenta to różne sposoby wykorzystania powiązań. Kierunek zależności i przechodzenie między klasami wyjaśnia Przechodzenie między klasami i korzystanie z podzapytań. Zachowanie przy kasowaniu obiektów opisano w instrukcji klas i pól.