Edytor formularza
Ścieżka: Ustawienia → Formularze → [formularz] → Otwórz edytor (/settings/forms/{klucz}).
Edytor buduje układ: sekcje, typy kontrolek, kolejność, wymagalność. Pełny ekran, bez standardowego menu bocznego. Zmiana układu wraca wszędzie, gdzie ten klucz działa: zakładka Dodatkowe, nowe zamówienie, kreator POS.
Nie zapisuj „na próbę” na firmie produkcyjnej. Pierwszy zapis szablonu systemowego robi nadpisanie firmowe. Przywróć domyślny (gdy zakres = Firma) kasuje to nadpisanie.

Układ ekranu
| Strefa | Co robi |
|---|---|
| Nagłówek | Cofnij / Ponów, Dodaj sekcję, Przywróć domyślny, Zapisz |
| Zakładki | Edytor układu i Podgląd |
| Lewy panel | Paleta elementów: pola ogólne, pola systemowe, pola niestandardowe |
| Środek | Sekcje i układ (przeciąganie) |
| Prawy panel | Metadane formularza albo właściwości zaznaczonego pola |
Metadane formularza
W prawym panelu, gdy nic nie zaznaczysz (albo przy metadanych):
| Pole | Znaczenie |
|---|---|
| Nazwa | Etykieta na liście formularzy |
| Opis | Komentarz dla operatora |
| Klucz aplikacji / modułu | Do jakiej aplikacji należy układ |
| Powiązana tabela | Encja, np. produkty |
| Ścieżka routingu | Gdzie panel podpina ten formularz |
Dla orders.new dodatkowo: Reguły dostępności otwarcia zamówienia (presety albo kreator). Presety m.in. „Tylko przypisany user”, „Wymagany telefon klienta”, „Submit: wymagane pozycje”.
Właściwości pola
Po kliknięciu kontrolki:
| Pole | Znaczenie |
|---|---|
| Klucz | Identyfikator techniczny (wartości idą m.in. jako extra_fields) |
| Etykieta | Tekst przy polu dla operatora |
| Placeholder, Tooltip, Tekst pod polem | Podpowiedzi w UI |
| Wymagane | Nie zapiszesz karty / zamówienia bez wartości |
| Tylko do odczytu | Widać, nie edytujesz |
| Widoczność / edytowalność / wymagalność | Reguły warunkowe (kiedy pole się pokazuje) |
Nagłówki i kontenery mają tytuł, opis i klasę CSS. Nie myl nagłówka sekcji z polem danych.
Paleta: co wolno dodać
Ogólne: Tekst, Textarea, Liczba, Select, Data, Data i czas, Czas, E-mail, Telefon, Checkbox, Switch, Przycisk.
Tylko products.form (szersza paleta): Multi-select, Radio, URL, Bogaty tekst, Tagi, Kolor, JSON, Procent, Waluta, kontenery 2 i 3 kolumn.
Zamówienia: Kod rabatowy, Punkty lojalnościowe, Status płatności.
Sloty POS (tylko formularze pos.orders.*): Koszyk POS, Rodzaj zamówienia, Strefa dostawy, Wyszukaj klienta, Podsumowanie kwot, Złóż zamówienie, Pigułka statusu, Stepper, Lista pozycji, Akcje workflow, Notatki, Metoda dostawy, Metoda płatności.
Sloty POS to nie zwykłe pola tekstowe. To klocki terminala. Brak koszyka, podsumowania albo przycisku złożenia psuje nowe zamówienie w POS.
Pola ze słownika Pól niestandardowych (tabela products) pojawiają się w palecie formularza produktu. Najpierw definicja w słowniku, potem przeciągnięcie tutaj.
Przepływ: produkt
- Lista formularzy →
products.form. - Dodaj sekcję, np. „Informacje żywieniowe”.
- Z palety: Liczba „Kalorie”, Liczba „Czas przygotowania (min)”. Ustaw etykiety i klucze.
- Zapisz. Podgląd sprawdza układ.
- Produkt → Dodatkowe: uzupełniasz wartości.
- W szablonie PDP paleta Pola produktu pokazuje te same klucze.
Przepływ: POS
- Otwórz
pos.orders.newz listy albo z Formularzy POS. - Nie usuwaj slotów koszyka, kwot i złożenia zamówienia.
- Możesz dodać pole (np. numer stolika) i ustawić je jako wymagane.
- Na terminalu pole pojawia się w kreatorze przy nowym zamówieniu.
Typowe problemy
| Objaw | Co sprawdzić |
|---|---|
| Zakładka Dodatkowe pusta / stary układ | Formularz products.form nieutworzony z rejestru albo niezapisany |
| Pole jest w słowniku, nie ma go na produkcie | Nie wrzucono go do układu products.form |
| POS nie da się złożyć | Brak slotu Złóż zamówienie / Podsumowanie / Koszyk |
| Zamówienie biurowe nie otwiera się | Reguła dostępności na orders.new |
| Sklep nie pokazuje pola | Szablon PDP nie ma bloku tego pola; sam formularz nie publikuje sklepu |