Come calcolare valori automaticamente
Permessi Richiesti
Questa sezione richiede il permesso Application Designer dal tuo amministratore di Dominio.
Consulta Quali sono i compiti di Design? per saperne di più riguardo ai permessi per lavorare con il Design Mode e altri strumenti.
Impara come inserire una Formula per calcolare il valore di una cella automaticamente. Ogni volta che gli utenti creano una nuova riga, la Formula calcola il valore secondo le condizioni e i parametri forniti. Se gli utenti devono compilare ogni volta certi campi della riga, le formule automatizzano questo compito per loro.
Note
La procedura è la stessa sia per le tabelle di Master che di Dettaglio.
Per le tabelle di Dettaglio, trovi la stessa interfaccia andando in Details > [tabella di Dettaglio desiderata] > Configure.
L'azione conduce all'interfaccia che si comporta come quella della tabella di Master nel sotto-pannello Master.
Per maggiori informazioni sui Dettagli (Details), consulta Come collegare una tabella con ulteriori informazioni a una riga: Dettagli.
-
In Design Mode, vai alle impostazioni di tabella contenente i campi colonna dove vuoi inserire la Formula.
Per la tabella di Master, puoi trovare le impostazioni di tabella nel sotto-pannello Master. Il sotto-pannello Master è il primo pannello ad aprirsi quando si accede al Design Mode in modo predefinito.
Per le tabelle di Dettaglio, devi andare al sotto-pannello Details.
-
Nelle impostazioni di tabella, cliccare sulla tab Formula. L'azione conduce al sotto-pannello dove puoi configurare le formule per il calcolo.
-
Inserire una formula automatizzerà il calcolo dei valori del campo. Clicca sull'icona accanto al campo sotto la colonna Calculated Field per aprire il Formula Editor.
Tip
Nel sotto-pannello Formula, i Designer possono configurare formule per calcolare anche nomi dei campi automaticamente.
Clicca sull'icona accanto al nome del campo sotto la colonna Name.
Example
L'applicazione Warehouse Orders gestisce tutti gli ordini da un magazzino.
L'applicazione deve generare un codice univoco iniziando dal campo Identity nascosto IdWarehouseOrder, le prime lettere dei campi Name e Surname e la data di piazzamento dell'ordine. Il campo stringa (String) OrderCode registra il codice generato tramite questo metodo.
Il Designer può automatizzare la generazione di questo codice da Design Mode.
Il Designer va sul sotto-pannello Formula nelle impostazioni di tabella del Master. Dopodiché, il Designer clicca l'icona sotto la colonna Calculated Field per il campo OrderCode.
Il Designer inserisce la formula seguente nel Formula Editor:
Il Designer conferma e salva i cambiamenti in Design Mode.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
/* La formula crea un codice generato a partire dalle stringhe e i valori dei campi. La funzione =CONCAT() accetta un qualunque numero di parametri fondendoli in una singola stringa alfanumerica. Il primo parametro è il riferimento tramite $CURRENTSTORAGE al campo Identity IdWarehouseOrder della riga. Il secondo parametro è un trattino che divide prima e seconda parte del codice dell'ordine. Il terzo paramentro è una funzione =LEFT() che prende come argomento il campo Name tramite la variabile di sistema $CURRENTSTORAGE.Name. =LEFT() prende un numero di caratteri da sinistra della stringa pari al valore del secondo parametro (3). Il quarto parametro di =CONCAT() è un'altra funzione =LEFT(). L'unica differenza è il campo: la variabile di sistema $CURRENTSTORAGE punta al campo Surname. Il quinto parametro è un trattino ("-") che divide la seconda e terza parte del codice. La funzione =FORMATDATE() prende il valore del campo OrderPlacementDate tramite $CURRENTSTORAGE.OrderPlacementDate e formatta la data come definito nel secondo parametro ("dd-mm-yyyy"). Il risultato della formula =CONCAT() è un codice generato a partire da stringhe e risultati di altre formule. */ =CONCAT( $CURRENTSTORAGE.IdWarehouseOrder; "-"; =LEFT($CURRENTSTORAGE.Name; 3); =LEFT($CURRENTSTORAGE.Surname; 3); "-"; =FORMATDATE($CURRENTSTORAGE.OrderPlacementDate; "dd-mm-yyyy") )
L'applicazione genererà un codice secondo le regole fisse della formula e compilerà il campo Order Code.
Example
Nel flusso di lavoro di un magazzino, ci sono due applicazioni chiave: Warehouse Stock e Warehouse Orders.
Warehouse Stock registra il catalogo prodotti, le loro categorie, quantità totale e prezzi.
L'applicazione Warehouse Orders gestisce tutti gli ordini dal magazzino.
Ciascuna riga della tabella di Master è un ordine. Ciascun ordine ha un Dettaglio (Detail) chiamato Order Items. (Consulta Cosa sono i Dettagli? per maggiori informazioni sui Dettagli.)
Order Items elenca gli articoli inclusi, la loro quantità e il loro prezzo. L'utente seleziona un prodotto da una categoria e la sua quantità. Il campo Items Price deve:
- (1) Recuperare il prezzo da Warehouse Stock.
- (2) Moltiplicare il prezzo per il valore del campo Quantity.
- (3) Registrare il prezzo totale.
Il Designer deve inserire una Formula nel Dettaglio Order Items per il campo Items Price.
Nelle impostazioni della tabella di Dettaglio Order Items, il Designer va al sotto-pannello Formula.
Clicca sull'icona sotto Calculation Field per il campo Items Price per inserire la formula seguente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
/* La formula recupera il prezzo dell'oggetto dallo Storage di Warehouse Stock e moltiplica per la quantità inserita. La formula di =LOOKUP() recupera il prezzo dell'oggetto scelto in _Order Items_ tramite il valore del campo Identity IdProduct dell'articolo. La funzione =LOOKUP() recupera da uno Storage tutti gli inserimenti che soddisfano le condizioni del terzo parametro. Il primo parametro di =LOOKUP() #warehouseProducts referenzia lo Storage di Warehouse Stock chiamato warehouseProducts. Il secondo parametro di =LOOKUP() #sWarehouseProducts.ProductPrice referenzia il campo da recuperare e controllare in warehouseProduct. In questo caso, il campo Price che registra i prezzi. Il terzo parametro =LOOKUP() che definisce i criteri con cui recuperare gli inserimenti è =EQ(). =EQ() controlla che l'Id dell'articolo in warehouseProducts sia uguale al prodotto selezionato nel campo Product nel Dettaglio Order Items. Fuori dalla formula =LOOKUP(), il simbolo * è l'operatore di moltiplicazione. Moltiplica il valore trovato da =LOOKUP() per il valore del campo Quantity che indica la quantità. La variabile di sistema $CURRENTSTORAGE.Quantity si riferisce al valore del campo Quantity. */ =LOOKUP( #sWarehouseProducts; #sWarehouseProducts.ProductPrice; =EQ( #sWarehouseProducts.IdProduct; $CURRENTSTORAGE.Product ) ) * $CURRENTSTORAGE.Quantity
Il Designer conferma e salva i cambiamenti in Design Mode.
Ogni volta che un utente aggiungerà articoli a un ordine, l'applicazione aggiornerà Items Price secondo la quantità.
-
Clicca sul pulsante Save per salvare la configurazione della formula. Puoi trovare il pulsante Save nell'angolo in alto a sinistra del Design Mode.
Note
Gli utenti possono ricalcolare il valore delle celle manualmente sulle tabelle. (Consulta Ricalcolare il valore delle righe nella Guida Utente per maggiori informazioni.)
Se vuoi permettere agli utenti di ricalcolare un valore che una formula gestisce, clicca sull'icona del campo che ti interessa nelle impostazioni tabella. Trovi l'icona sotto la colonna Calculated Field accanto all'icona
Devi prima abilitare l'azione di ricalcolo (Recalculation) sui Settings per rendere effettiva l'opzione. Consulta Ricalcolare il valore delle righe per maggiori informazioni riguardo abilitare l'azione Ricalcolo sulla tabella.
Success
Hai configurato una Formula per il campo selezionato. La formula calcolerà il valori delle celle del campo sulla tabella.