Passa al contenuto principale

Dropdown di opzioni con prezzi

Permetti agli utenti di scegliere un prodotto (o servizio, tariffa, stanza…) da un dropdown, e compila automaticamente il prezzo da un catalogo collegato. Combina un campo Reference con un auto field che copia il prezzo.

Quando usarlo​

  • Riga ordine: scegli prodotto → il prezzo unitario si compila
  • Registrazione: scegli tipo ticket → la tariffa si compila
  • Riga preventivo: scegli voce catalogo → il prezzo di listino si compila

Un semplice campo Choice basta quando le opzioni non cambiano mai e non hanno dati extra. Usa una tabella collegata quando prezzi, SKU o disponibilità vivono come record reali che mantieni nel tempo.

Modello dati​

OggettoCampi chiave
Productname (Text), sku (Text, opzionale), price (Number), label (Text, auto opzionale — per testo dropdown più ricco)
OrderLineorder (Reference → Order), product (Reference → Product), unit_price (Number, auto), quantity (Number)

Tieni il catalogo su Product. La riga memorizza solo il prodotto scelto e uno Snapshot del prezzo al momento della selezione (unit_price), così le modifiche successive al catalogo non riscrivono gli ordini storici, a meno che non lo voglia.

Passaggi​

1. Oggetto catalogo​

Crea Product con almeno name e price. Aggiungi righe di esempio nel Builder o tramite import.

Opzionale: un auto field testuale label con Set to a text expression, ad esempio:

{name} — {price}

Imposta il Display field della Reference su label (o name) così il dropdown mostra ciò che gli operatori si aspettano — vedi Field types.

2. Reference sulla riga​

Su OrderLine, aggiungi product come Reference a Product. Nei form diventa un dropdown ricercabile di prodotti.

3. Copia il prezzo con un auto field​

Su OrderLine, crea (o configura) il campo Number unit_price:

  1. Apri Automatic Value e abilitalo.
  2. Scegli Set to a field value.
  3. Seleziona il campo collegato: product → price.

Ogni volta che l'utente seleziona (o cambia) il prodotto, unit_price si aggiorna dal catalogo.

4. Totale riga e totale ordine​

  • Importo riga: live formula o espressione auto {quantity} * {unit_price} — vedi anche Somma dei prezzi.
  • Totale ordine: auto sum degli importi riga sull'Order padre.

Suggerimenti​

  • Snapshot vs prezzo live: copiare in unit_price congela l'importo sulla riga. Se vuoi sempre il prezzo attuale del catalogo, mostra {product.price} nelle viste detail e non memorizzare unit_price — ma totali e documenti di solito richiedono lo Snapshot.
  • Permetti una modifica manuale lasciando unit_price modificabile e usando la regola auto solo come default quando è vuoto, oppure aggiungi una regola condizionale così la copia avviene solo quando unit_price è vuoto (a seconda di come configuri le regole).
  • Ordina il dropdown con l'opzione Reference Sort by (es. per name).
  • Nascondi i prodotti fuori produzione con display rules sul form o filtrando i candidati reference quando la tua app lo supporta nelle impostazioni del campo.