Elenco delle Funzioni e delle Variabili
Le formule automatizzano i task delle tue applicazioni eLegere. Le formule prescrivono a un'applicazione come gestire restrizioni, permessi e calcoli senza l'intervento dell'utente. Digita le formule in differenti opzioni del Design Mode per personalizzare il comportamento di parti di applicazioni e chi può accedere o modificare i dati.
Una formula è una combinazione di Funzioni, Variabili e operatori Aritmetici e Logici. La funzione prende le variabili specificate dall'utente come input per ritornare un output. eLegere agisce in base all'output della formula.
Abstract
Questo documento elenca tutte le variabili usate come argomenti e le funzioni impiegate nelle formule.
Fare riferimento a Storage e valori¶
In qualunque formula, puoi fare riferimento a uno Storage eLegere in due modi:
- Usare la variabile
$CURRENTSTORAGE
: si riferisce allo Storage attuale nella quale la formula viene eseguita. Usa$CURRENTSTORAGE.nome_campo
per riferirti al valore del campo della riga corrente. - Usare l'hashtag (
#
) e il nome dello Storage per riferirsi a Storage fuori dallo Storage corrente nella formula (#nome_storage.nome_campo
). E.g.#sProjects.projectDate
,#userList.Name
.
Note
$CURRENTSTORAGE.nome_campo
si riferisce al valore della cella del campo della riga nell'applicazione corrente.
#nome_storage.nome_campo
si riferisce all'intero campo colonna nome_campo
e non a un valore specifico del campo su #nome_storage.nome_campo
.
Operatori Aritmetici¶
eLegere supporta i seguenti operatori aritmetici all'interno delle formule.
Operatore | Nome |
---|---|
+ |
Addizione |
- |
Sottrazione |
* |
Moltiplicazione |
/ |
Divisione |
% |
Modulo |
Note
Qualsiasi valore null
(che è un qualsiasi campo non valorizzato) impiegato in un'operazione aritmetica conduce a un risultato uguale a null
. Dunque un null
non produrrà alcun risultato.
Commenti in linea¶
eLegere supporta i commenti in linea per le formule nel Formula Editor. I commenti introducono note e spiegazioni nelle formule.
Commenti linea singola¶
Se //
apre una linea, il Formula Editor ignora quella linea. Il Formula Editor ignorerà qualunque testo fra //
e la fine della linea.
1 |
|
Commenti multi-linea¶
Il Formula Editor considera come commento qualsiasi linea fra /* */
.
1 2 3 4 5 |
|
Il Formula Editor ignorerà qualsiasi linea racchiusa fra /*
e */
.
Operatori Logici¶
eLegere supporta il seguenti operatori logici all'interno delle formule.
Operatore | Nome | Funzione |
---|---|---|
= , == |
Uguale | =EQ() |
<> , != |
Non uguale | =NEQ() |
> |
Maggior di | =GT() |
>= |
Maggiore uguale | =GTE() |
< |
Minore di | =LT() |
<= |
Minore o uguale di | =LTE() |
Warning
Gli operatori logici sono supportati per le retro-compatibilità, ma è caldamente consigliato usare al loro posto le funzioni.
Variabili¶
Le variabili sono segnaposto per valori (o liste di valori) che le applicazioni eLegere recuperano da uno Storage o dal sistema.
Info
Questa seziona elenca tutte le variabili e le loro opzioni disponibili in eLegere. La sezione Variabili dispone le voci in ordine alfabetico.
$CURRENTAPP¶
La variabile $CURRENTAPP
prende le informazioni sull'applicazione (nome e ID) dal contesto. La variabile recupera il nome o l'ID dell'applicazione in cui viene eseguita la formula. ($CURRENTAPP
non funziona in casi come lo Scheduler, dove non c'è un'applicazione specifica a cui fare riferimento.)
- $CURRENTAPP.ID Il parametro
$CURRENTAPP.ID
indica alla formula di prendere come argomento l'ID dell'applicazione corrente. - $CURRENTAPP.LINK L'opzione
$CURRENTAPP.LINK
restituisce un collegamento all'applicazione corrente. - $CURRENTAPP.NAME Il parametro
$CURRENTAPP.NAME
indica alla formula di prendere come argomento il nome dell'applicazione corrente.
$CURRENTDATE¶
La variabile $CURRENTDATE
indica alla formula di prendere come argomento la data e l'ora correnti.
$CURRENTIME¶
La variabile $CURRENTIME
indica alla formula di prendere come argomento l'ora corrente.
$CURRENTDOMAIN¶
La variabile $CURRENTDOMAIN
indica alla formula di prendere come argomento il nome del dominio corrente.
$CURRENTSTORAGE¶
$CURRENTSTORAGE
indica alla formula di fare riferimento allo storage dell'applicazione corrente. L'utente deve utilizzarla con un'opzione. Non funziona senza alcuna opzione.
- $CURRENTSTORAGE.nome_campo Dopo il nome dello Storage, l'Utente deve specificare dopo il punto ('.') il nome del campo di riferimento. Ad esempio:
$CURRENTSTORAGE.construction_site_status
,$CURRENTSTORAGE.riskEvaluation
. - $CURRENTSTORAGE.nome_campo.OLDVALUE Si riferisce al valore registrato prima della modifica dell'inserimento.
- $CURRENTSTORAGE.$DETAILS.$NomeDettaglio.nome_campo
$CURRENTSTORAGE.$NomeDettaglio.nome_campo
si riferisce all'inserimento in una tabella di Dettaglio dell'applicazione che l'Utente sta utilizzando.$CURRENTSTORAGE.$DETAILS.$DetailName.nome_campo
richiede la definizione dei seguenti parametri:$Details
Il parametro indica alla formula di fare riferimento ai Dettagli dell'applicazione corrente. L'utente non deve modificarlo.$DetailName
Il parametro indica il nome dello Storage della tabella di Dettaglio desiderata. L'utente deve sostituire l'espressione con il nome specifico dello Storage, ad esempio "employees_storage", "order_details".nome_campo
Il parametro indica il campo dello Storage. L'utente deve sostituire l'espressione con il nome del campo desiderato. - $CURRENTSTORAGE.$MASTER.nome_campo
$CURRENTSTORAGE.$MASTER.nome_campo
si riferisce a un campo della tabella Master da qualsiasi formula inserita in una tabella di Dettaglio.
$CURRENTUSER¶
La variabile $CURRENTUSER
indica le informazioni dell'utente attualmente registrato che sta utilizzando l'applicazione.
- $CURRENTUSER.CURRENTLOGONDATE Restituisce i dati con l'ultimo accesso dell'utente corrente.
- $CURRENTUSER.DEPARTMENTS Restituisce un elenco contenente i dipartimenti a cui appartiene l'utente.
- $CURRENTUSER.EMAIL Restituisce l'indirizzo e-mail dell'utente corrente.
- $CURRENTUSER.GROUPIDS Restituisce un elenco di ID dei gruppi a cui l'utente appartiene.
- $CURRENTUSER.GROUPNAMES Restituisce l'elenco dei gruppi a cui appartiene l'utente.
- $CURRENTUSER.LASTLOGONDATE Restituisce l'ultima data di accesso dell'utente corrente.
- $CURRENTUSER.LOGONNAME Restituisce una stringa con il nome utente dell'utente corrente.
- $CURRENTUSER.NAME Restituisce una stringa con il nome dell'utente corrente.
- $CURRENTUSER.USERID Restituisce una stringa con il codice alfanumerico che identifica l'utente corrente (Id).
$FALSE¶
Indica un valore tipo di booleano FALSE
.
$NULL¶
Sta per il valore null.
$PI¶
Indica il valore del Pi greco (Pi = 3,1415926535897931).
$TRUE¶
Indica un valore di tipo booleano TRUE
.
Funzioni¶
Le funzioni eseguono azioni o ritornano valori partendo da variabili e opzioni scritte in un ordine preciso fra le parentesi della funzione. Le funzioni accettano come argomento variabili, altre funzioni o altre opzione che l'utente potrebbe aver specificato manualmente.
Info
La sezione elenca tutte le funzioni disponibili in eLegere. La sezione Funzioni divide le voci per categoria. Ciascuna categoria dispone le voci in ordine alfabetico.
Numeric¶
ABS¶
Categoria | Numeric |
Descrizione | Valore assoluto di un numero |
Sintassi | =ABS(VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula prende un numero e restituisce il valore assoluto di quel numero. L'assoluto è una funzione matematica che restituisce il valore positivo dell'espressione numerica specificata. Ad esempio, l'assoluto di |-2|
è 2
.
Esempi¶
-
La formula prende il parametro
VALORE
e fornisce il numero assoluto di$CURRENTSTORAGE.nome_campo
. Supponiamo che una voce del campo$CURRENTSTORAGE.NumberExample
contenga il valore ´25´.1
=ABS($CURRENTSTORAGE.NumberExample)
Nel caso precedente, il risultato sarà "25".
AGGREGATEDETAILS¶
Categoria | Numeric |
Descrizione | Esegue un'operazione aritmetica sulla colonna di un Dettaglio. |
Sintassi | =AGGREGATEDETAILS(VALORE numeric ; OPERAZIONE string ; CONDIZIONE boolean optional ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
Aggrega i valori della colonna di un dettaglio e applica un'operazione aritmetica ai valori: somma, conteggio, media, più grande o più piccolo.
Esempi¶
-
Una tabella di Dettaglio registra i dati e le fatture degli ordini. L'utente deve contare il numero totale di righe in una tabella di Dettaglio.
1 2 3 4
=AGGREGATEDETAILS( $CURRENTSTORAGE.$DETAILS.$sPurchaseOrderRows.Id_Purchase_Order_Rows; "COUNT" )
La formula conta il numero esatto di voci nel Dettaglio. La formula utilizza il campo del Dettaglio desiderato per identificare ogni riga.
-
L'utente può utilizzare il quarto parametro per decidere quali valori devono essere inclusi nel conteggio.
1 2 3 4 5
=AGGREGATEDETAILS( $CURRENTSTORAGE.$DETAILS.$products.ID_product; "COUNT"; =EQ(#Products.Discontinued; $FALSE) )
Poiché il quarto parametro è
=EQ(#Products.Discontinued; $FALSE)
, la formula include tutti i valori "Discontinued" impostati su$TRUE
. -
L'utente deve calcolare l'importo totale di una fattura. Ogni riga del Dettaglio rappresenta il prezzo di un articolo o di un servizio collegato a quella fattura.
1 2 3 4 5
=AGGREGATEDETAILS( $CURRENTSTORAGE.$DETAILS.$invoiceItems.cost; "SUM"; =EQ(#invoiceItems.paid; $TRUE) )
La formula calcola il costo totale di tutti gli elementi del Dettaglio che soddisfano la condizione. La formula considera solo le righe con il campo "paid"
TRUE
. -
Una tabella Dettaglio registra tutte le informazioni relative a una categoria di prodotti. I prodotti hanno un campo di tipo Numeric "discount" L'utente deve calcolare lo sconto medio di quella categoria di prodotti.
1 2 3 4
=AGGREGATEDETAILS( $CURRENTSTORAGE.$DETAILS.$productCategoryList.discount; "AVG" )
La formula calcola lo sconto medio dei prodotti appartenenti a quella categoria.
ARCCOS¶
Categoria | Numeric |
Descrizione | La formula che calcola l'arccoseno di un angolo. |
Sintassi | =ARCCOS(VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula calcola l'arcoseno (cioè l'inverso del coseno) del valore preso. La formula restituisce il valore in radianti (cioè l'espressione di un angolo come rapporto tra l'arco dell'angolo su un cerchio e il raggio).
Esempi¶
-
L'applicazione deve calcolare l'arccoseno dell'angolo. Il campo dello Storage che funge da argomento l'angolo come valore di tipo Numeric.
1
=ARCOS($CURRENTSTORAGE.angleValue)
Se l'angolo è di 60°,
=ARCOS()
restituisce 0,5 come risultato.
ATAN¶
Categoria | Numeric |
Descrizione | La formula per calcolare l'arcotangente di un angolo |
Sintassi | =ATAN(VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula calcola l'arcotangente (cioè l'inverso della tangente) del valore preso. La formula restituisce il valore in radianti (cioè l'espressione di un angolo come rapporto tra l'arco dell'angolo su un cerchio e il raggio).
Esempi¶
-
L'applicazione deve calcolare l'arcotangente dell'angolo. Il campo dello Storage che funge da argomento memorizza l'angolo come valore di tipo Numeric.
1
=ATAN($CURRENSTORAGE.angleValue)
Se l'angolo è di 45°,
=ATAN()
restituisce 1 come risultato.
AVG¶
Categoria | Numeric |
Descrizione | La formula calcola il valore medio di un insieme di valori. |
Sintassi | =AVG(NOME_STORAGE string ; VALORE string ; CONDIZIONE boolean optional ; BOOLEAN boolean optional ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula calcola il valore medio degli inserimenti del campo della colonna selezionata. L'utente può decidere una formula di filtro come terzo parametro per filtrare i valori delle colonne per il calcolo. Inoltre, l'utente può includere o meno i valori null inserendo una variabile booleana $TRUE
come quarto parametro. ($FALSE
se l'utente vuole escludere i valori null dal calcolo).
Esempi¶
-
Supponiamo di avere un'applicazione di bilancio personale per tenere traccia delle spese mensili. L'applicazione deve calcolare l'importo medio speso ogni mese
1
=AVG(#Budget; #Budget.moneyValue; =GTE(#Budget.Date; =CONVERT(=FORMATDATE($CURRENTDATE; "yyyMM01"); "INT")
La funzione
=AVG()
calcola il valore medio delle spese le cui date sono superiori al primo giorno del mese corrente. La funzione=GTE()
nel terzo parametro controlla se il giorno della data deve essere uguale o superiore a 01.
CEILING¶
Categoria | Numeric |
Descrizione | La formula arrotonda un numero in virgola mobile (_float_) al numero intero più vicino e più alto. |
Sintassi | =CEILING(VALORE string ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula arrotonda un numero in virgola mobile (float) al numero approssimato più vicino e più alto.
Esempi¶
-
Come arrotondare automaticamente ogni valore al numero intero più alto e più vicino.
1
=CEILING($CURRENTSTORAGE.value)
La formula arrotonda il valore del campo
$CURRENTSTORAGE.value
al numero intero più vicino e più alto. Ad esempio, "3,52 > 4".
COS¶
Categoria | Numeric |
Descrizione | La formula calcola il coseno di un angolo. |
Sintassi | =COS(VALORE string ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula calcola il coseno di un angolo. La formula restituisce il valore in radianti (cioè l'espressione di un angolo come rapporto tra l'arco dell'angolo su un cerchio e il raggio).
Esempi¶
-
L'applicazione deve calcolare il coseno dell'angolo. Il campo dello Storage che funge da argomento che funge da argomento memorizza l'angolo come valore di tipo Numeric.
1
=COS($CURRENTSTORAGE.angleValue)
Se l'angolo è di 90°,
=COS()
restituisce 0 come risultato.
COUNT¶
Categoria | Numeric |
Descrizione | Calcola il numero di righe che corrispondono alla condizione. |
Sintassi | =COUNT(NOME_STORAGE string ; STORAGE_FIELD_NAME string ; CONDIZIONE boolean optional ; BOOLEAN boolean optional ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula conta il numero di righe che soddisfano una condizione in una colonna.
Esempi¶
-
L'applicazione dispone di una Colonna Logica che funge da contatore per il numero di articoli inclusi in un ordine. La colonna logica tiene traccia del numero di articoli della tabella di Dettaglio collegata.
1 2 3 4 5
=COUNT( #sPurchaseOrderRows; #sPurchaseOrderRows.Id_Purchase_Order_Rows; =EQ(#sPurchaseOrderRows.Id_Purchase_Order;$CURRENTSTORAGE.Id_Purchase_Order) )
Se inserita in una colonna logica, la formula aggiorna il contatore con il numero di inserimenti dalla tabella di Dettaglio. Un campo Identity impostato come chiave primaria deve mettere in relazione gli inserimenti del Dettaglio con la riga della tabella Master.
EXP¶
Categoria | Numeric |
Descrizione | Calcola l'esponenziale di un numero. |
Sintassi | =EXP(VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula calcola il valore dell'esponenziale di e (2,71828). La formula restituisce e elevato dell'esponenziale scelto.
Esempi¶
-
Supponiamo che l'applicazione debba prendere il valore inserito e usarlo come esponenziale per e (2,71828).
1
=EXP($CURRENTSTORAGE.exponentialValue)
La formula restituisce e (2,71828) elevato al valore del campo
$CURRENTSTORAGE.exponentialValue
.
FLOOR¶
Categoria | Numeric |
Descrizione | Arrotonda un numero float al numero intero più basso e più vicino. |
Sintassi | =FLOOR(VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula arrotonda un numero decimale per difetto al numero intero più vicino e più basso.
Esempi¶
-
Supponiamo che un'applicazione debba arrotondare automaticamente ogni valore inserito al numero intero più basso.
1
=FLOOR($CURRENTSTORAGE.value)
La formula arrotonda il valore del campo
$CURRENTSTORAGE.value
al numero intero più vicino e più basso. E.g. "3,66 > 3".
LOG¶
Categoria | Numeric |
Descrizione | La funzione calcola il logaritmo di un numero. |
Sintassi | =LOG(VALORE numeric ; BASE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La funzione calcola il logaritmo di un numero in una base specificata.
Esempi¶
-
Un'applicazione deve calcolare l'esponenziale di un numero partendo da un numero e dalla sua base.
1
=LOG(1000, 10)
Il risultato è 3, poiché la potenza per elevare 10 a 1000 è 3.
LN¶
Categoria | Numeric |
Descrizione | La funzione calcola il logaritmo naturale di un numero |
Sintassi | =LN(VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La funzione calcola il logaritmo di un numero avente come base la costante matematica e = 2,718, cioè il logaritmo naturale.
Esempi¶
-
Un'applicazione deve calcolare il logaritmo naturale a partire da un determinato esponenziale
1
=LN(6)
Il risultato dell'elevazione di e alla sesta potenza è 1.79175946923
MAX¶
Categoria | Numeric |
Descrizione | Cerca il valore più alto della colonna. |
Sintassi | =MAX(NOME_STORAGE string ; STORAGE_FIELD_NAME numeric ; CONDIZIONE boolean optional ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula analizza la colonna e restituisce il valore più alto memorizzato.
Esempi¶
-
Consideriamo un'applicazione che registra tutti i prodotti di un negozio. L'utente deve scegliere lo sconto più alto, superiore al 50%.
1 2 3 4 5
=MAX( #prices; #prices.discount; =GT(#prices.discount; 50) )
La formula controlla tutti i valori del campo "discount" per trovare lo sconto più alto oltre il 50%.
MIN¶
Categoria | Numeric |
Descrizione | Cerca il valore più basso della colonna. |
Sintassi | =MIN(NOME_STORAGE variabile ; STORAGE_FIELD_NAME numeric ; CONDIZIONE boolean optional ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula analizza la colonna e restituisce il valore più basso memorizzato.
Esempi¶
-
Considera un'applicazione che registra l'IVA di tutti i servizi. L'utente deve trovare l'IVA più bassa al di sotto del 22% per il servizio.
1 2 3 4 5
=MIN( #servicePrice; #servicePrice.IVA; =LT(#servicePrice.IVA; 22) )
La formula controlla tutti i valori del campo "IVA" per trovare l'IVA più bassa al di sotto del 22% per il servizio desiderato.
POWER¶
Categoria | Numeric |
Descrizione | La formula calcola la potenza di un numero. |
Sintassi | =POWER(VALORE numeric ; POWER numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La funzione calcola l'esponenziazione di un numero, data la potenza.
Esempi¶
-
L'applicazione calcola la potenza di un numero.
1
=POWER(2,3)
La formula restituisce 8, terza potenza del numero naturale 2.
RAD¶
Categoria | Numeric |
Descrizione | La formula converte un angolo espresso in gradi in radianti. |
Sintassi | =RAD(VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula prende il valore di `VALORE' e lo converte in radianti.
Esempi¶
-
L'applicazione deve convertire ogni valore di tipo Numeric, espresso in gradi, in un numero che esprima lo stesso angolo in radianti.
1
=RAD($CURRENTSTORAGE.angleValue)
La formula restituisce come risultato l'angolo in radianti. E.g. "30° > 0.523599".
RANDOM¶
Categoria | Numeric |
Descrizione | La formula genera un numero intero naturale casuale all'interno di un intervallo specificato. |
Sintassi | =RANDOM(VALORE numeric ; VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula genera un numero casuale compreso tra un valore minimo e un valore massimo. =RANDOM(x,y)
restituisce un numero compreso tra x e y. =RANDOM(x)
restituisce un numero compreso tra 1 e x. =RANDOM()
considera i limiti superiore e inferiore inclusi. Se non vengono specificati parametri, =RANDOM()
restituisce 0 o 1.
Esempi¶
-
L'applicazione deve restituire 0 o 1 come valore casuale.
1
=RANDOM()
Se non vengono specificati parametri specifici per
=RANDOM()
, la formula restituisce 0 o 1 come valore di tipo Numeric. -
L'applicazione deve generare un numero casuale compreso tra 1 e 20. L'intervallo della generazione casuale deve includere 20 come limite superiore.
1
=RANDOM(20)
La formula restituisce un valore casuale di tipo Numeric compreso tra 1 e 20.
-
L'applicazione deve generare un numero casuale compreso tra 10 e 100. L'intervallo della generazione casuale deve includere 10 e 100.
1
=RANDOM(10, 100)
La formula restituisce un valore di tipo Numeric casuale compreso tra 10 e 100.
ROUND¶
Categoria | Numeric |
Descrizione | La formula arrotonda il numero al numero intero più vicino. |
Sintassi | =ROUND(VALORE numeric ; DECIMAL numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula restituisce il valore di tipo Numeric arrotondato al numero intero più vicino. La funzione arrotonda al minimo se il decimale è inferiore a 'x,5' (ad esempio, 3,4) o al massimo se è uguale o superiore a 'x,5' (ad esempio, 7,9). Per esempio, se il valore è 2,66914343, la formula considera solo le prime due cifre decimali e arrotonda a 3.
Esempi¶
-
Supponiamo che un'applicazione debba arrotondare automaticamente ogni valore decimale inserito al numero intero più vicino.
1
=FLOOR($CURRENTSTORAGE.value)
La formula arrotonda il valore del campo
$CURRENTSTORAGE.value
al numero intero più vicino. E.g. "3,66 > 4", "6,3 > 6"..
SIN¶
Categoria | Numeric |
Descrizione | Calcola il seno di un angolo. |
Sintassi | =SIN(VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula restituisce il seno dell'angolo fornito come argomento. Il valore è espresso in radianti (cioè l'espressione di un angolo come rapporto tra l'arco dell'angolo su un cerchio e il raggio).
Esempi¶
-
L'applicazione deve calcolare automaticamente il seno dell'angolo. Il campo dello Storage che funge da argomento memorizza l'angolo come valore di tipo Numeric.
1
=SIN($CURRENTSTORAGE.angleValue)
Se l'angolo è di 60°,
=SIN()
restituisce come risultato 0,866.
SQRT¶
Categoria | Numeric |
Descrizione | La formula restituisce la radice quadrata del valore fornito come argomento. |
Sintassi | =SQRT(VALORE numeric ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula restituisce la radice quadrata del valore. Ad esempio: "=SQRT(9)" restituisce 3 come risultato.
Esempi¶
-
Supponiamo che un'applicazione debba calcolare il quadrato di ogni valore di un campo di tipo Numeric.
1
=SQRT($CURRENSTORAGE.numbers)
La funzione restituisce il valore quadrato di ciascun valore di
$CURRENSTORAGE.numbers
.
SUM¶
Categoria | Numeric |
Descrizione | La formula produce la somma di tutti i valori di una colonna. |
Sintassi | =SUM(NOME_STORAGE string ; STORAGE_FIELD_NAME numeric ; CONDIZIONE boolean optional ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula produce la somma di tutti i valori di una colonna. L'utente può definire un parametro CONDIZIONE
per filtrare i valori della colonna.
Esempi¶
-
Considera un'applicazione di bilancio personale che abbia un campo di tipo Booleano per contrassegnare le voci come "Spese".
1
=SUM(#Budget; #Budget.valore; =EQ(#Budget.booleanSpesa; $TRUE))
La formula restituisce la somma di tutte le spese le cui voci hanno il campo
booleanSpesa
con valoreTRUE
.
TAN¶
Categoria | Numeric |
Descrizione | La formula calcola la tangente di un angolo in radianti. |
Sintassi | =TAN(NOME_STORAGE numeric ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula restituisce la tangente dell'angolo fornito come argomento. Il valore è espresso in radianti (cioè l'espressione di un angolo come rapporto tra l'arco dell'angolo su un cerchio e il raggio).
Esempi¶
-
L'applicazione deve calcolare la tangente dell'angolo. Il campo dello Storage che funge da argomento memorizza l'angolo come valore di tipo Numeric.
1
=TAN($CURRENSTORAGE.angleValue)
Se l'angolo è di 45°,
=TAN()
restituisce come risultato 0,7853981.
ValueList¶
ALLITEMS¶
Categoria | ValueList |
Descrizione | Restituisce l'elenco con tutte le voci di un elenco a discesa. |
Sintassi | =ALLITEMS() |
Output | lista |
Argomenti |
Spiegazione¶
La formula restituisce un elenco con tutte le voci di un menù a tendina. La formula restituisce tutte le voci di un menù a tendina. =ALLITEMS()
non ha alcun argomento.
Esempi¶
-
Un Designer vuole visualizzare determinati risultati in un menù a tendina se lo Storage
#sUser
include l'Id e l'e-mail dell'utente corrente.1 2 3 4 5 6 7 8 9
=IF( $CURRENTUSER.EMAIL == LOOKUP( #sUser; #sUser.Email; #sUser.Id_User == $CURRENTUSER.USERID ); =LIST(1;2); =ALLITEMS() )
=LIST(1,2)
contiene l'elenco degli identificativi delle opzioni da mostrare. Se#sUser
include l'ID e l'e-mail dell'utente, l'elenco a discesa visualizza le opzioni con gli ID che=LIST()
contiene. Altrimenti, il menù a tendina mostra tutte le opzioni dell'elenco a discesa.
DISTINCT¶
Categoria | ValueList |
Descrizione | Restituisce un elenco di elementi presi una sola volta. |
Sintassi | =DISTINCT(LIST oggetto lista ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula prende un elenco e produce una stringa di elementi separati da una virgola. La formula prende ogni elemento ripetuto dell'elenco una sola volta.
Esempi¶
-
Un'applicazione gestisce l'elenco dei prodotti da spedire. Il Designer deve prelevare un elenco che contiene ciascun elemento preso una sola dalla colonna "productToSend".
1
=DISTINCT($CURRENTSTORAGE.productToSend)
La formula restituisce un elenco di tutti gli elementi di "productToSend" presi una sola volta e senza ripetizioni.
FIELDCONTAINS¶
Categoria | ValueList |
Descrizione | La formula filtra un campo in base a un elenco di valori. |
Sintassi | =FIELDCONTAINS(STORAGE_FIELD_NAME string ; LIST oggetto lista ; FILTER_LIST_CONDITION string ; MINIMUM_MATCHING_NUMBER numeric optional ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula filtra un campo in base a un elenco di valori. L'utente può scegliere se i valori del campo devono corrispondere a tutti gli elementi dell'elenco, a nessuno, ad alcuni o a non meno di. L'utente può specificare la soglia minima di elementi che devono corrispondere affinché la formula restituisca un valore booleano TRUE
. E.g. l'utente imposta il valore a 2. La formula restituisce un TRUE
quando gli elementi del campo corrispondono ad almeno due elementi dell'elenco.
Esempi¶
-
Uno Storage chiamato
#sWorkPackages
contiene le informazioni di tutti i dipendenti e dei gruppi di lavoro. Il Designer deve consentire solo agli utenti assegnati a un progetto di modificare le righe.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
=LOOKUPLIST( #sWorkPackages; #sWorkPackages.Id_WP; =AND( #sWorkPackages.Id_Project == $CURRENTSTORAGE.Id_Project; #sWorkPackages.Id_Status != 5; =FIELDCONTAINS( #sWorkPackages.Id_Owners; =LOOKUPLIST( #LKUserList; #LKUserList.IdProgressive; #LKUserList.emailCompany == $CURRENTUSER.EMAIL); "ATLEAST" ) ) )
I progettisti possono utilizzare la formula nelle impostazioni di Restriction Edit in Design Mode > Settings. La formula consente le modifiche alle seguenti condizioni: (a) l'utente corrente nello Storage
#sWorkPackages
è assegnato al progetto attraverso il campo multiselezione "Id_Owners" e l'e-mail dell'azienda; (b) lo stato del progetto non è il numero 5 (cioè Stato 5 = Completato).
GROUPUSEREMAILS¶
Categoria | ValueList |
Descrizione | Restituisce tutti gli indirizzi e-mail del gruppo di utenti. |
Sintassi | =GROUPUSEREMAILS(GROUPNAME string ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula elenca gli indirizzi e-mail di tutti i membri appartenenti a un gruppo di utenti.
Esempi¶
-
Il Designer crea una Custom Action per inviare automaticamente una notifica via e-mail a tutti i membri di un Gruppo di utenti.
1
=GROUPUSEREMAILS("SystemManagers")
La formula funziona nel campo To: di una Custom Action Send Email. La formula recupera l'elenco di tutti gli indirizzi e-mail dei membri del gruppo "SystemManagers".
INTERSECT¶
Categoria | ValueList |
Descrizione | La formula prende tutti gli elementi in comune tra due liste |
Sintassi | =INTERSECT(ELEMENTS_SET formula ; ELEMENTS_SET formula ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula prende tutti gli elementi in comune tra due liste. Funziona come un'intersezione tra due insiemi A e B (A ∩ B).
Esempi¶
-
Il designer sta configurando una Custom Action Send Email. L'e-mail deve arrivare solo agli utenti appartenenti ai gruppi di utenti "Sviluppatori" e "Team di prodotto".
1 2 3 4
=INTERSECT( =GROUPUSEREMAILS("Sviluppatori"); =GROUPUSEREMAILS("Team di Prodotto") )
La formula funziona nel campo To: di una Custom Action Send Email. La formula prende solo gli indirizzi e-mail in comune tra i due gruppi di utenti. La notifica via e-mail arriverà solo agli indirizzi comuni a entrambi gli elenchi.
LIST¶
Categoria | ValueList |
Descrizione | La formula restituisce un elenco degli elementi considerati o del campo di uno Storage. |
Sintassi | =LIST(ELEMENTS oggetto lista ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula restituisce un elenco degli elementi considerati o degli elementi di un campo di uno Storage.
Esempi¶
-
Il Designer deve elencare tutti gli elementi che il campo "Cognomi" include in un'applicazione di Rubrica.
1
=LIST($CURRENTSTORAGE.Cognomi)
La formula fornisce un elenco di tutti i cognomi registrati nello Storage.
NOITEMS¶
Categoria | ValueList |
Descrizione | Restituisce una lista vuota da mneù a tendina. |
Sintassi | =NOITEMS() |
Output | lista |
Argomenti |
Spiegazione¶
La formula restituisce una lista vuota dal menù a tendina. =NOITEMS()
non ha alcun argomento.
Esempi¶
-
Un menù a tendina deve rimanere vuoto se la condizione desiderata non è soddisfatta.
1
=CONTAINSLIST($CURRENTUSER.DEPARTMENTS;=LIST(#Auth.department))
Il menù a tendina visualizza tutte le opzioni se l'Utente appartiene a uno dei reparti dello Storage
#Auth
. In caso contrario, il menù a tendina risulta vuoto e l'Utente non può scegliere alcuna opzione.
SUBTRACT¶
Categoria | ValueList |
Descrizione | La formula prende due insiemi di elementi e restituisce la lista degli elementi non in comune. |
Sintassi | =SUBTRACT(ELEMENTS_SET oggetto lista ; ELEMENTS_SET oggetto lista ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula prende due insiemi di elementi e restituisce la lista degli elementi non in comune. Funziona come la differenza tra due insiemi A e B (A - B).
Esempi¶
-
Un menù a tendina deve visualizzare gli ordini non in comune tra il campo corrente e un campo di un altro Storage.
1 2 3 4
=SUBTRACT( =LIST($CURRENTSTORAGE.codeOrders); =LIST(#ordersCompleted.codeCompletedOrders) )
La formula visualizza nel menù a tendina i codici degli ordini che compaiono solo nel campo "codeOrders" ma non in "#ordersCompleted.codeCompletedOrders". La lista conterrà solo gli ordini non completati.
UNION¶
Categoria | ValueList |
Descrizione | La formula prende due liste di elementi e restituisce la lista di tutti gli elementi di entrambi gli insiemi. |
Sintassi | =UNION(ELEMENTS_SET oggetto lista ; ELEMENTS_SET oggetto lista ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula prende due liste di elementi e restituisce la lista di tutti gli elementi di tutti gli insiemi. Funziona come l'unione tra due insiemi A e B (A ∪ B).
Esempi¶
-
Il Designer deve permettere l'editabilità della tabella Master solo agli utenti appartenenti a due gruppi.
1 2 3 4 5 6 7
=CONTAINS( =UNION( =GROUPUSEREMAILS("Accounting"); =GROUPUSEREMAILS("IT Specialists") ); $CURRENTUSER.EMAIL )
La formula funziona in Design Mode > Settings > Tabella Master > Restrictions > Edit. La formula consente le modifiche solo agli indirizzi e-mail dell'utente che compaiono nella lista globale dei gruppi di utenti "Accounting" o "IT Specialists".
Logical¶
AND¶
Categoria | Logical |
Descrizione | La formula funziona come l'operatore logico congiunzione. |
Sintassi | =AND(CONDIZIONE boolean ; CONDIZIONE boolean ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula prende come argomento due o più condizioni. Se tutte le condizioni sono soddisfatte, la formula restituisce un booleano TRUE
. In caso contrario, restituisce un booleano FALSO
.
Esempi¶
-
Supponi di dover abilitare la modifica di un'applicazione agli utenti appartenenti sia al gruppo "Master Users" sia al gruppo "Managers" .
1
=AND(=CONTAINS($CURRENTUSER.GROUPNAMES; "Master Users"); =CONTAINS($CURRENTUSER.GROUPNAMES; "Managers")
Puoi inserire la formula sopra in Design Mode > Settings > Restrictions > Edit. La formula consente la modifica se e solo se l'elenco dei gruppi di utenti contiene "Master Users" and "Managers".
NOT¶
Categoria | Logical |
Descrizione | La formula funziona come l'operatore logico Negazione. |
Sintassi | =NOT(CONDIZIONE boolean ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula inverte il valore booleano restituito da un'altra formula. I.e. TRUE
diventa FALSE
, FALSE
diventa TRUE
.
Esempi¶
-
Supponi che un'applicazione debba vietare a uno o più gruppi di utenti (e.g. "Read Only"; "Deactivated" di modificare le righe.)
1
=NOT(=CONTAINSLIST($CURRENTUSER.GROUPNAMES;=LIST("Read Only"; "Deactivated")))
È possibile inserire la formula di cui sopra in Design Mode > Settings > Restrictions > Edit. La formula consente la modifica se e solo se l'utente appartiene a "Solo lettura" (Read Only) o "Disattivato" (Deactivated).
OR¶
Categoria | Logical |
Descrizione | La formula funziona come l'operatore logico Disgiunzione |
Sintassi | =OR(CONDIZIONE boolean ; CONDIZIONE boolean ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula prende come argomento due o più condizioni. La formula restituisce il booleano TRUE
se un valore soddisfa almeno una condizione.
Esempi¶
-
Suppose that you must enable editing on an application to User belonging either the"Master Users" or the "Managers" User Groups.
1
=OR(=CONTAINS($CURRENTUSER.GROUPNAMES; "Master Users"); =CONTAINS($CURRENTUSER.GROUPNAMES; "Managers"))
È possibile inserire la formula di cui sopra in Design Mode > Settings > Restrictions > Edit. La formula consente la modifica se l'elenco dei gruppi dell'utente contiene "Master Users" or "Managers"
String¶
CONCAT¶
Categoria | String |
Descrizione | La formula unisce due o più stringhe in un'unica stringa. |
Sintassi | =CONCAT(STRING string ; STRING string ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula unisce due o più stringhe in un'unica stringa. Considera lo Storage $CURRENTSTORAGE.Name.VALUE
, la stringa "My name is " e supponi che il valore del campo sia "Stefano". La formula prende i valori divisi dai punti e virgola e li unisce in una stringa comune: "Il mio nome è Stefano".
Esempi¶
-
Il Designer deve unire tutti gli elementi di una lista in un unico testo e riempire un campo.
1
=CONCAT(=LIST($CURRENTSTORAGE.nomi); " è il mio nome")
La formula unisce i valori del campo "nomi" e la stringa " è il mio nome" in un unico valore di tipo stringa.
-
Il Designer deve riempire automaticamente il campo di tipo Stringa "NomeCompleto". L'applicazione deve generare il valore di "NomeCompleto" a partire dai valori dei campi di tipo String "Nome" e "Cognome".
1
=CONCAT($CURRENTSTORAGE.Nome;" ";$CURRENTSTORAGE.Cognome)
La formula unisce i valori di "Nome" (ad esempio "John" ) e "Cognome" (ad esempio "Wong") e li divide con uno spazio (" "). Il risultato è il nome completo (e.g. "John Wong").
-
Il Designer deve riempire un campo string con un codice ID. Il Designer deve generare il codice ID a partire da numero, mese e anno della fattura.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
=CONCAT( "ID-"; $CURRENTSTORAGE.orderNumber; "-"; =LOOKUP( #sOrdersMonth; #sOrderMonth.fiscal_month; #sOrderMonth.Id_month == $CURRENTSTORAGE.month_Id ); =LOOKUP( #sOrderYear; #sBudgetYear.Year_Fiscal; #sBudgetYear.Id_Year_Fiscal == $CURRENTSTORAGE.Id_Year_Fiscal ) )
La formula unisce in una stringa il prefisso "ID", il simbolo "-", il numero dell'ordine, il mese corrente dell'ordine e l'anno fiscale corrente dell'ordine.
FORMATDATE¶
Categoria | String |
Descrizione | Formatta la data secondo il formato desiderato. |
Sintassi | =FORMATDATE(DATE_FIELD date ; DATE_FORMAT string ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula formatta il valore DateTime fornito secondo il formato del secondo parametro STRING_FORMAT
.
Esempi¶
-
Il Designer deve riempire automaticamente un campo string con il mese e l'anno di un valore di tipo Data.
1
=FORMATDATE($CURRENTSTORAGE.recordDate; "mm yyyy")
La formula prende la data da "recordDate" e la registra nel campo String mostrando solo il mese e l'anno. Ad esempio, {27/12/99} "12 1999".
-
Il Designer deve riempire automaticamente un campo string con solo il giorno, la settimana e l'anno di un valore di tipo Data.
1
=FORMATDATE($CURRENTSTORAGE.recordDate; "d ww yyyy")
La formula prende la data da "recordDate" e la registra nel campo String mostrando solo il giorno, la settimana dell'anno e l'anno. Ad esempio, {02/01/22} "2 01 2022".
FORMATNUMBER¶
Categoria | String |
Descrizione | Formatta un numero secondo il formato desiderato |
Sintassi | =FORMATNUMBER(VALORE numeric ; NUMERIC_FORMAT string ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula formatta un valore di tipo Numeric fornito secondo il formato del parametro STRING_FORMAT
.
Esempi¶
-
Il Designer deve formattare i numeri in un campo Numeric con due cifre decimali. Il simbolo dell'euro (€) deve comparire prima del numero.
1
=FORMATNUMBER($CURRENTSTORAGE.price; "€ ####.00")
La formula visualizza il numero con due cifre decimali e il simbolo dell'euro (€).
FORMATTIME¶
Categoria | String |
Descrizione | Formatta una data secondo il formato desiderato |
Sintassi | =FORMATTIME(VALORE time ; TIME_FORMAT string ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula formatta un valore di tipo Time fornito secondo il formato del parametro STRING_FORMAT
.
Esempi¶
-
Un campo deve visualizzare solo le ore di un valore di tipo Time.
1
=FORMATTIME($CURRENTSTORAGE.timeRecord; "hh")
La formula visualizza solo l'ora del Time. E.g. 15:30:48 "15".
GUID¶
Categoria | String |
Descrizione | La formula genera un Global Unique Identifier (GUID). |
Sintassi | =GUID() |
Output | string |
Argomenti |
Spiegazione¶
La formula genera un Global Unique Identifier. Un Global Unique Identifier è un codice alfanumerico casuale che identifica oggetti diversi. Ogni codice alfanumerico della formula è unico. Un classico esempio di Global Unique Identifier sono i codici che identificano gli ordini di un negozio.
Esempi¶
-
Tl campo deve visualizzare una stringa contenente un codice casuale e univoco
1
=GUID()
La formula genera un codice univoco come il seguente: "645d134d-673f-4597-aa5e-e3fad81836f3".
INDEXOF¶
Categoria | String |
Descrizione | La formula cerca in una stringa un testo partendo dalla posizione specificata |
Sintassi | =INDEXOF(STRING string ; TO_CHECK string ; STARTING_POSITION numeric optional ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula verifica la presenza di un testo in una stringa. Se la stringa contiene il testo, la formula restituisce l'indice della sua posizione nella stringa. Ad esempio, si consideri la seguente frase: "In eLegere 2.12 dovrebbe esserci una nuova funzione". Se la parola cercata è "eLegere", la formula restituisce la sua posizione indicizzata nella frase, quindi 35. La posizione indicizzata è il punto in cui si trova il testo. La posizione indicizzata è il posto che i caratteri che compongono il testo cercato occupano nella stringa. Ad esempio, se "Fabio è intelligente", la posizione di è
è 7.
Esempi¶
-
Il designer vuole controllare ciascun valore alla ricerca della posizione di una parola chiave.
1
=INDEXOF($CURRENTSTORAGE.notesString; "eLegere")
Se il valore della stringa contiene "eLegere", la formula restituisce un valore di tipo Numeric che rappresenta la posizione indicizzata. Ad esempio, se "eLegere" occupa il 23° posto della stringa, la formula restituirà come valore 23.
LEFT¶
Categoria | String |
Descrizione | La formula estrae un certo numero di caratteri a partire dal lato sinistro di una stringa. |
Sintassi | =LEFT(STRING string ; NUMBER_CHARACTERS numeric ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula estrae un certo numero di caratteri da un valore di stringa. La formula estrae i caratteri partendo dal lato sinistro del testo della stringa e andando verso destra. Ad esempio, nel caso di "Bobo è un bravo cane!", la formula estrae i caratteri a partire da "B", poi prende "o" e così via.
Esempi¶
-
Il Designer mira a estrarre i primi quattro caratteri di una stringa.
1
=LEFT($CURRENTSTORAGE.Notes; 4)
La formula restituisce i primi quattro caratteri da sinistra a destra. E.g. Se il valore della stringa contiene "Bobo è un bravo cane!", la formula restituisce la stringa "Bobo".
LEN¶
Categoria | String |
Descrizione | Calcola la lunghezza di una stringa. |
Sintassi | =LEN(STRING string ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula calcola la lunghezza della stringa. La lunghezza della stringa è il numero di caratteri totali.
Esempi¶
-
Il Designer deve calcolare automaticamente il numero di caratteri che compongono un valore di tipo String.
1
=LEN("Il mio nome è Daniel")
"Il mio nome è Daniel" sono 17 caratteri.
=LEN()
restituisce 17 come valore di tipo Numeric.
RIGHT¶
Categoria | String |
Descrizione | La formula estrae un certo numero di caratteri a partire dal lato destro di una stringa. |
Sintassi | =RIGHT(STRING string ; NUMBER_CHARACTERS numeric ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula estrae un certo numero di caratteri da un valore String. La formula estrae i caratteri partendo dal lato destro del testo della stringa e andando verso sinistra. Ad esempio, nel caso di "Il mio nome è Mary", la formula estrae i caratteri a partire da "y", poi prende "r" e così via.
Esempi¶
-
Il Designer deve restituire un certo numero di caratteri di un testo partendo dal lato destro.
1
=RIGHT($CURRENTSTORAGE.notesString; 4)
La formula produce un valore di tipo string. La stringa contiene i primi quattro caratteri da destra a sinistra. Ad esempio, se il valore Stringa contiene "Il mio nome è Mary", la formula produce la stringa "yraM".
SUBSTRING¶
Categoria | String |
Descrizione | La formula estrae un pezzo di testo da una stringa. |
Sintassi | =SUBSTRING(STRING string ; STARTING_POSITION numeric ; NUMBER_CHARACTERS numeric ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula estrae il testo da una stringa a partire dall'indice desiderato. L'indice è la posizione di un carattere nella stringa. E.g. La formula con l'indice 12 dalla stringa "Welcome to eLegere" estrarrà la stringa "eLegere".
Esempi¶
-
Il Designer deve estrarre un pezzo di testo da una stringa a partire da una posizione precisa. E.g. Il campo deve registrare gli ultimi 5 caratteri di un codice alfanumerico preso automaticamente da un altro campo.
1
=SUBSTRING($CURRENTSTORAGE.codeId; 10; 5)
Supponendo che un codice sia lungo 15 caratteri, la formula produce una stringa contenente gli ultimi 5 caratteri del codice.
TEXTJOIN¶
Categoria | String |
Descrizione | Unisce più stringhe in un'unica stringa |
Sintassi | =TEXTJOIN(SEPARATOR string ; LIST oggetto lista ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula unisce le stringhe dell'elenco in un unico valore di tipo stringa. Il parametro stringa SEPARATOR
dividerà ciascuna di esse.
Esempi¶
-
Il designer deve unire tutti i nomi completi contenuti in un archivio in un'unica stringa. Un punto e virgola (
;
) deve dividere ogni voce e la stringa deve includere solo gli utenti attivi.1 2 3 4 5 6 7 8
=TEXTJOIN( ","; =LOOKUPLIST( #sDatiPersonali; #sDatiPersonali.NomeCompleto; =EQ(#sDatiPersonali.Attivo;$TRUE) ) )
La formula unisce i valori del campo "NomeCompleto" e divide i nomi con un punto e virgola. La formula include solo le voci del campo booleano "Attivo" con valore
TRUE
. -
Il Designer vuole una stringa contenente tutti i valori scelti dall'utente in una multiselezione. Un punto e virgola (
;
) deve dividere ogni voce. Il campo Multiselezione contiene i membri assegnati a un progetto.1 2 3 4 5 6 7 8 9 10 11
=TEXTJOIN( ";"; =LOOKUPLIST( #DatiPersonali; #DatiPersonali.NomeCompleto; =CONTAINS( $CURRENTSTORAGE.membriProgetto; #DatiPersonali.Id_Progressivo ) ) )
La formula unisce i valori del campo "NomeCompleto" che il campo multiselezione "membriProgetto" contiene. La formula raccoglie solo gli ID degli utenti inclusi in "membriProgetto".
-
Un campo di Multiselezione nell'Applicazione registra i gruppi di lavoro assegnati a un progetto. L'e-mail deve includere gli indirizzi e-mail dei Team Leader di ciascun gruppo di lavoro coinvolto nel progetto all'interno del corpo del messaggio.
1 2 3 4 5 6 7 8 9 10 11
=TEXTJOIN( ", "; =LOOKUPLIST( #sDepartments; #sDepartments.teamLeaderMail ); =CONTAINS( $CURRENTSTORAGE.workingGroups; #sDepartments.Department_Code ) )
La formula funziona tra parentesi quadre (
[ ]
) nel corpo della Custom Action Send Email. La formula unisce gli indirizzi e-mail dei team leader dei gruppi coinvolti in una stringa. La formula prende gli indirizzi e-mail dei team leader a partire dai valori della Multiselezione "workingGroups". Dal valore di "workingGroups", la formula prende le informazioni dallo storage#sDepartments
e dal campo "teamLeaderMail".
TEXTREPLACE¶
Categoria | String |
Descrizione | Sostituisce un testo all'interno di una stringa. |
Sintassi | =TEXTREPLACE(STRING string ; TO_CHECK string ; REPLACEMENT string ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula individua un testo nella stringa e lo sostituisce con un altro testo.
Esempi¶
-
Il Designer deve sostituire automaticamente un pezzo di testo in ogni voce del campo. Il campo "phoneNumber" è un campo di tipo String contenente i numeri di telefono dei clienti. Il valore "phoneNumber" è il numero più il prefisso internazionale "00XX" (ad esempio, Italia "0039", Danimarca "0045", Francia "0033"). Supponiamo che il Designer voglia sostituire "0039" all'interno di ciascun numero telefonico con "+39".
1
=TEXTREPLACE($CURRENTSTORAGE.phoneNumber; "0039"; "+39")
La formula controlla l'intera stringa. Se si verifica "0039", la formula sostituisce quel pezzo di testo con "+39". E.g. "003935645612" "+3935645612".
Comparison¶
CONTAINS¶
Categoria | Comparison |
Descrizione | Controlla un elenco alla ricerca di un elemento. |
Sintassi | =CONTAINS(LIST oggetto lista ; VALORE string ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula verifica se un elemento è incluso in un elenco. Se l'elemento è presente nell'elenco, la formula produce un valore booleano TRUE
.
Esempi¶
-
Il Designer deve limitare la possibilità di modificare le righe della tabella Master in base al proprio Gruppo utenti.
1
=CONTAINS(=LIST($CURRENTUSER.GROUPNAMES);"Managers")
La formula funziona se inserita in Designer Mode > Settings > Tabella di Master > Restrictions > Edit. La formula consente solo agli utenti del gruppo "Manager" di modificare le righe dell'applicazione. La formula
=CONTAINS()
verifica se l'elenco dei gruppi di utenti include il gruppo "Manager".
CONTAINSLIST¶
Categoria | Comparison |
Descrizione | La formula confronta due liste |
Sintassi | =CONTAINSLIST(LIST oggetto lista ; LIST oggetto lista ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula confronta gli elementi di due elenchi diversi. Se un elemento di un elenco compare nell'altro elenco, la formula produce un valore booleano TRUE
.
Esempi¶
-
Uno Storage ha il campo Multiselezione "authorized_staff". L'applicazione deve abilitare l'editabilità sulla tabella di Dettaglio solo per gli utenti inseriti in "authorized_staff".
1 2 3 4 5 6 7 8
=CONTAINSLIST( $CURRENTSTORAGE.authorized_staff; =LOOKUPLIST( #Maintenance; #Maintainance.ID_worker; #Maintainance.staff == $TRUE ) )
La formula funziona se inserita in Designer Mode > Settings > Nome Dettaglio > Restrictions > Edit. La formula confronta gli ID di "authorized_staff" con l'elenco di ID con un campo booleano
TRUE
"staff". Se gli ID di=LOOKUPLIST()
compaiono nell'elenco "authorized_staff", gli utenti possono modificare la tabella di Dettaglio.
CONTAINSTRING¶
Categoria | Comparison |
Descrizione | La formula confronta due stringhe. |
Sintassi | =CONTAINSTRING(STRING string ; STRING string ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula confronta due valori di stringa. Se una stringa è contenuta nell'altra, la formula produce un valore TRUE
.
Esempi¶
-
L'applicazione deve verificare se un campo di tipo string contiene un testo specifico. Se il campo di tipo Stringa "productSerialCode" contiene il secondo parametro, la formula deve registrare un valore specifico nella cella della tabella.
1 2 3 4 5 6 7 8
=IF( =CONTAINSTRING( $CURRENTSTORAGE.productSerialCode; "shipWorld" ); "Worldwide Shipping"; "EU Shipping Only" )
La formula cerca il testo "shipWorld" nel codice seriale del prodotto. Se la stringa contiene "shipWorld", l'applicazione registra nella cella "Worldwide Shipping". Altrimenti, la formula registra "EU Shipping Only".
EQ¶
Categoria | Comparison |
Descrizione | Verifica se due valori sono uguali |
Sintassi | =EQ(VALORE qualunque ; VALORE qualunque ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula verifica se i valori della funzione sono uguali. La formula restituisce un valore booleano TRUE
se i due valori sono uguali.
Esempi¶
-
Si supponga che un'applicazione debba consentire la modifica esclusivamente all'utente
John Doe
.1
=EQ($CURRENTUSER.EMAIL; "j.doe@vesenda.com")
La formula funziona se inserita in Designer Mode > Settings > Tabella di Master > Restrictions > Edit. L'applicazione consentirà la modifica solo all'utente che ha l'e-mail
j.doe@vesenda.com
.
GT¶
Categoria | Comparison |
Descrizione | Verifica se un valore è maggiore di un altro. |
Sintassi | =GT(VALORE numeric ; VALORE numeric ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula verifica se un valore è maggiore dell'altro. La formula restituisce il valore booleano TRUE
se il primo parametro è maggiore del secondo.
Esempi¶
-
L'applicazione deve abilitare il ricalcolo solo per le voci h.
1
=GT($CURRENTSTORAGE.BudgetDate;=CONVERT(=FORMATDATE($CURRENTDATE; "yyyyMMdd");"INT") - 15)
La formula funziona se inserita in Designer Mode > Settings > Tabella di Master > Restrictions > Recalculate. La formula consente di ricalcolare le voci che hanno una data superiore al valore
$CURRENTDATE
meno 15 giorni.
GTE¶
Categoria | Comparison |
Descrizione | La formula controlla se un valore è uguale o maggiore dell'altro. |
Sintassi | =GTE(VALORE numeric ; VALORE numeric ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula controlla se un valore è uguale o maggiore dell'altro. La formula restituisce un booleano TRUE
se il primo parametro del campo è uguale o maggiore del secondo parametro.
Esempi¶
-
L'applicazione deve abilitare il ricalcolo solo per le voci h.
1
=GTE($CURRENTSTORAGE.BudgetDate;=CONVERT(=FORMATDATE($CURRENTDATE; "yyyyMM01");"INT") - 15)
La formula funziona se inserita in Designer Mode > Settings > Tabella di Master > Restrictions > View. L'applicazione mostra solo le righe con una data uguale o superiore al primo giorno del mese.
ISNOTNULL¶
Categoria | Comparison |
Descrizione | La formula controlla se il valore non è nullo. |
Sintassi | =ISNOTNULL(VALORE qualunque ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula controlla se il valore non è nullo.
Esempi¶
-
Supponiamo che l'applicazione debba consentire il ricalcolo solo delle voci che non hanno valori null.
1
=ISNOTNULL($CURRENSTORAGE.Total)
La formula funziona se inserita in Designer Mode > Settings > Tabella di Master > Restrictions > Recalculation. La formula consente di ricalcolare le righe in cui
$CURRENSTORAGE.Total
non è null.
ISNULL¶
Categoria | Comparison |
Descrizione | La formula controlla se il valore è nullo. |
Sintassi | =ISNULL(VALORE qualunque ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula controlla se il valore è nullo.
Esempi¶
-
Si supponga che un'applicazione debba sostituire ogni valore null di un campo booleano con un valore booleano
FALSE
.1
=IF(=ISNULL($CURRENTSTORAGE.statusApproved); $FALSE)
La Formula funziona in Design Mode > Formula > Calculated Field. Se il valore inserito per
$CURRENTSTORAGE.statusApproved
è null, la formula lo sostituisce con un valore booleanoFALSE
.
LT¶
Categoria | Comparison |
Descrizione | Verifica se un valore è inferiore a un altro. |
Sintassi | =LT(VALORE numeric ; VALORE numeric ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula controlla se un valore è inferiore all'altro e restituisce un valore booleano TRUE
se il primo parametro del campo è inferiore al secondo.
Esempi¶
-
Supponi che l'applicazione Personal Budget devva evidenziare di rosso una celle il cui valore sia negativo.
1
=IF(=LT($CURRENTSTORAGE.moneyValye; 0); "red"; "gray")
La formula funziona in Design Mode > Layout > Cell BG Color > Set Formula. a cella cambia colore da grigio a rosso se l'importo del denaro è inferiore a 0.
LTE¶
Categoria | Comparison |
Descrizione | Verifica se un valore è uguale o inferiore a un altro. |
Sintassi | =LTE(VALORE numeric ; VALORE numeric ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula verifica se un valore è uguale o inferiore all'altro. La formula restituisce un booleano TRUE
se il primo valore è uguale o inferiore al secondo.
Esempi¶
-
Supponiamo che l'applicazione debba registrare un valore Numeric senza il segno meno (
-
) se il valore è negativo. E.g. Il numero di articoli del prodotto disponibili in un magazzino.1
=IF(=LTE($CURRENTSTORAGE.itemsNumber; 0); =ABS($CURRENTSTORAGE.itemsNumber))
La formula funziona in Design Mode > Formula > Calculated Field. La formula registra il valore assoluto del valore ogni volta che
$CURRENTSTORAGE.itemsNumber
è inferiore o uguale a 0.
NEQ¶
Categoria | Comparison |
Descrizione | Verifica che due valori NON siano uguali. |
Sintassi | =NEQ(VALORE qualunque ; VALORE qualunque ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula controlla se i valori della funzione differiscano e non suabi uguali. La formula restituisce un booleano TRUE
se i due valori non sono uguali.
Esempi¶
-
Supponiamo di avere un'applicazione di Project Management. L'applicazione gestisce progetti e consente di inviare promemoria via e-mail ai membri aggiunti al progetto. Le voci hanno una cella Lookup con diversi stati di progetto che un manager può assegnare (ad esempio, "To Review"). L'applicazione deve proibire l'azione personalizzata Send Email se il Lookup ha lo stato "Is Closed".
1
=NEQ($CURRENTSTORAGE.lookupProjectStatus; 7)
La formula funziona nella restrizione Execution di una Custom Action Send Email in Design Mode. L'applicazione disabilita l'invio dell'e-mail se
$CURRENTSTORAGE.lookupProjectStatus
ha l'ID 7. Nello Storage delle opzioni del menù a tendina, l'ID 7 corrisponde a "Is Closed".
NOTCONTAINS¶
Categoria | Comparison |
Descrizione | Controlla se un elemento non è incluso in una lista. |
Sintassi | =NOTCONTAINS(LIST oggetto lista ; VALORE variabile ) |
Output | boolean |
Argomenti |
|
Spiegazione¶
La formula verifica se una lista non includa un elemento. Se la lista non include l'elemento, la formula restituisce un valore TRUE
. In caso contrario, la formula restituisce un valore FALSO
.
Esempi¶
-
L'applicazione deve garantire l'editabilità delle righe della tabella Master con l'eccezione del gruppo di utenti "View Only".
1
=NOTCONTAINS(=LIST($CURRENTUSER.GROUPNAMES);"View Only")
La formula funziona se inserita in Designer Mode > Settings > Tabella di Master > Restrictions > Edit. Se "View Only" non compare nell'elenco dei gruppi dell'utente corrente, l'utente può modificare le righe della tabella. Altrimenti, l'utente non può modificare le righe della tabella se compare nell'elenco degli utenti "View Only" .
Conversion¶
CONVERT¶
Categoria | Conversion |
Descrizione | Converte un tipo di dati in un altro. |
Sintassi | =CONVERT(VALORE string ; TYPE string ; FORMAT string optional ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula converte un valore date, Numeric o string da un tipo a un altro tipo. Per i valori date, la formula è conforme allo standard ISO 8601.
Esempi¶
-
Un'applicazione deve convertire e visualizzare la data nel formato personalizzato desiderato.
1
=CONVERT($CURRENTSTORAGE.dateRecord; "DATE"; "dd-mmm-yyyy")
La formula converte i dati della data nel formato personalizzato "dd-mmm-yyyy".
-
Un'applicazione deve convertire e visualizzare qualsiasi numero a virgola mobile (float) come numero intero.
1
=CONVERT($CURRENTSTORAGE.numeric; "INT")
La formula converte qualsiasi numero a virgola mobile (float) memorizzato nel campo Numeric di tipo Numeric in un numero intero.
-
Un'applicazione deve convertire e visualizzare qualsiasi numero intero come numero decimale.
1
=CONVERT($CURRENTSTORAGE.numeric; "DECIMAL")
La formula converte in numero decimale qualsiasi numero intero memorizzato nel campo di tipo Numeric in un numero decimale.
-
Un'applicazione deve convertire e visualizzare un valore di tipo DateTime secondo il seguente formato: "yyyy-mm-dd AMPM am/pm".
1
=CONVERT($CURRENTSTORAGE.dateTimeRecord; "DATE"; "yyyy-mm-dd AMPM am/pm")
La formula converte qualsiasi inserimento DateTime in una data con orologio a 12 ore.
-
Un'applicazione deve convertire e visualizzare un valore di tipo String contenente un numero come valore di tipo Numeric:
1
=CONVERT($CURRENTSTORAGE.stringNumbers; "INT")
La formula converte il valore di tipo string contenente un numero in un valore di tipo Numeric. Ad esempio, "34" 34
Date¶
DATEPART¶
Categoria | Date |
Descrizione | La formula restituisce una parte di un valore di tipo Date, Date Time or Timespan. |
Sintassi | =DATEPART(VALORE datetime ; KEY string ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula restituisce una parte di un valore di Date, DateTime o Timespan. E.g. Il giorno (dd) di un valore Date come dd-mm-yyyy.
Esempi¶
-
L'applicazione deve mostrare l'ora da dati DateTime memorizzati nel campo.
1
=DATEPART($CURRENTSTORAGE.dateTimeRecord; 'hour')
La formula estrae l'ora da una data memorizzata come valore DateTime. E.g.
=DATEPART()
dal valore {02/07/22 05:30:22} restituisce5
come valore numerico.
DATEADD¶
Categoria | Date |
Descrizione | Aggiunge un ammontare di tempo a un campo Date, DateTime or Timespan |
Sintassi | =DATEADD(VALORE string ; AMOUNT numeric ; QUANTITY_TIME_UNIT string optional ) |
Output | date |
Argomenti |
|
Spiegazione¶
La formula aggiunge una certa quantità di tempo a un Date, DateTime or Timespan. Ad esempio, 2 ore, 1 giorno, 1 mese o 20 secondi.
Esempi¶
-
L'applicazione deve aggiungere 5 giorni al valore di tipo Date. Es. 20/07/23 25/07/23
1
=DATEADD($CURRENTSTORAGE.dateRecord; 5; 'days')
La formula aggiunge 5 giorni al valore di tipo Date.
-
L'applicazione deve aggiungere 1 mese al valore di tipo DateTime. Ad esempio, 01/08/22 10:22:39 01/09/22 10:22:39
1
=DATEADD($CURRENTSTORAGE.dateTimeRecord; 1; 'm')
La formula aggiunge 1 mese al valore del campo di tipo DateTime.
DATEDIFF¶
Categoria | Date |
Descrizione | La formula calcola la differenza di tempo tra due valori Date o due intervalli di tempo Timespan. |
Sintassi | =DATEDIFF(VALORE date ; VALORE date ; UNIT_FORMAT string ) |
Output | numeric |
Argomenti |
|
Spiegazione¶
La formula calcola la differenza di tempo tra due valori Date o due intervalli di tempo Timespan. La formula accetta valori Date, Datetime e Timespan. Se vuoi inserire una data manualmente, usa la funzione =CONVERT()
per convertire la data formattata in una stringa (e.g. "12/12/24") in un dato Date o DateTime.
Esempi¶
-
L'applicazione deve calcolare il numero di giorni tra due valori di tipo Date.
1
=DATEDIFF($CURRENTSTORAGE.openingDate; $CURRENTSTORAGE.closingDate; "d")
La formula confronta le due date e calcola un valore di tipo Numeric con la differenza in giorni.
-
L'applicazione deve calcolare il divario di ore tra due Timespan.
1
=DATEDIFF($CURRENTSTORAGE.timeSpan1; $CURRENTSTORAGE.timeSpan2; "h")
La formula confronta i Timespan e calcola un valore di tipo Numeric con la differenza in ore.
GETDATE¶
Categoria | Date |
Descrizione | La formula ritorna una data da un valore DateTime. |
Sintassi | =GETDATE(VALORE datetime ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula ritorna una data da un valore DateTime. Il valore estratto è la data espressa come valore numerico. E.g. 22/09/2022 05:00 in valore numerico è "20220922050000". =GETDATE()
estrae le cifre corrispendenti alla data "20220922".
Esempi¶
-
L'applicazione deve prendere una data da un DateTime e mostrare la data nel formato data Americano "MM-dd-yyyy" (e.g. "09-22-2022").
1
=FORMATDATE(=GETDATE($CURRENTSTORAGE.DateTime); "MM-dd-yyyy")
=GETDATE()
estrare dal DateTime le cifre che rappresentano giorno, mese e anno della data. La funzione=FORMATDATE()
formatta il risultato di=GETDATE()
secondo il secondo parametro.
GETTIME¶
Categoria | Date |
Descrizione | La formula ritorna l'ira dei un valore DateTime. |
Sintassi | =GETTIME(VALORE datetime ) |
Output | datetime |
Argomenti |
|
Spiegazione¶
La formula estra l'ora da un valore DateTime. Il valore estratto è il tempo in ore, minuti e secondi espressi come valore numerico. E.g. 22/09/2022 05:00 in valore numerico è "20220922050000". =GETTIME()
estrae le cifre corrispondenti all'orario "050000".
Esempi¶
-
L'applicazione deve prendere l'orario da un DateTime e mostrare l'ora con il formato da 12 ore AM/PM. (e.g. "03:20 PM").
1
=FORMATTIME(=GETTIME($CURRENTSTORAGE.DateTime); "hh:mm tt")
=GETTIME()
estrae dal DateTime le cifre che corrispondono a ore, minuti e secondi. Il=FORMATTIME()
formatta il risultato di=GETTIME()
come un orologio da 12 ore.
Link¶
GENERATEAPPLINK¶
Categoria | Link |
Descrizione | La formula genera un link a un'applicazione. |
Sintassi | =GENERATEAPPLINK(APPLICATION_ID string ; FIELD_KEY string optional ; FILTER_VALUE qualunque optional ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula genera un link a un'applicazione in un'ambiente eLegere a partire dall'ID di un'applicazione. L'utente può puntare a un valore scelto per un campo per filtrare le righe dell'applicazione.
Esempi¶
-
Il Designer sta configurando una Custom Action Send Email. La notifica deve includere un link all'applicazione. L'applicazione mostra solo le righe con il "dataRegistrazione" uguale alla data di oggi.
1 2 3 4
=GENERATEAPPLINK( "b87e99b5-8757-4443-b61b-ad04de55bb32"; "dataRegistrazione"; $CURRENTDATE)
La formula funzione nel corpo testo di una Custom Action Send Email fra parentesi quadre (
[ ]
). Quando il ricevente clicca sul link, l'Applicazione mostra tutte le righe di "dataRegistrazione" uguali alla data di oggi.
GENERATEROWLINK¶
Categoria | Link |
Descrizione | Questa formula genera un link per condividere la riga corrente dell'applicazione. |
Sintassi | =GENERATEROWLINK(NOME_STORAGE qualunque optional ; PRIMARY_KEY qualunque optional ; APPLICATION_ID string optional ) |
Output | string |
Argomenti |
|
Spiegazione¶
Questa formula genera un link per condividere la riga corrente dell'applicazione. L'utente può definire un filtro per recuperare solo certe righe. Il quarto parametro supporta la variabile di sistema con relativa opzione $CURRENTAPP.ID
per fornire alla funzione l'ID dell'applicazione.
Esempi¶
-
Il Designer sta configurando una Custom Action Send Email per la tabella di Master. La Custom Action deve inviare una notifica email con un link a un ordine da cliccare.
1 2 3 4 5 6
=GENERATEROWLINK( #sPurchaseOrder; #sPurchaseOrder.ID_Order; #sPurchaseOrder.ID_Order; "b87e99b5-8757-4443-b61b-ad04de55bb32" )
La formula funziona nel corpo di una Custom Action Send Email nel contesto dell riga (Row Context). La formula genera un link alla riga con l'ordine da un'altra applicazione. La formula prende la riga dell'ordine a partire dall'ApplicationID e il campo scelto come Primary Key nell'applicazione.
Conditional¶
IF¶
Categoria | Conditional |
Descrizione | La formula ritorna un valore specifico quando la condizione è soddisfatta. |
Sintassi | =IF(CONDIZIONE boolean ; IFTRUE qualunque ; IFFALSE qualunque ) |
Output | oggetto |
Argomenti |
|
Spiegazione¶
La formula ritorna il valore del parametro IFTRUE
quando la condizione è soddisfatta. Se il valore non soddisfa la condizione, la formula ritorna il parametro IFFALSE
. Se devi comparare un solo campo con una serie di valori per restituire altri valori come risposta, usa invece la funzione =SWITCH()
: è semplice e più breve. Usa la funzione =IF()
quando hai condizioni più complesse da verificare. Impara qui le differenze fra =IF()
e =SWITCH()
.
Esempi¶
-
Considera un'applicazione che deve tenere traccia della contabilità personale. Puoi configurare una formula in Design Mode > Layout > Cell BG Color per cambiare il colore della cella secondo il valore.
1 2 3 4 5 6 7 8 9
=IF( =LT($CURRENTSTORAGE.BudgetValue; 0); "red"; =IF( =GT($CURRENTSTORAGE.BudgetValue; 0); "green"; "gray" ) )
Se il valore del budget è inferiore a 0, l'applicazione colorerà la cella di rosso. Se il valore è positivo, la cella sarà verde. Altrimenti, l'applicazione colorerà di grigio se il valore è 0.
IFNULL¶
Categoria | Conditional |
Descrizione | La formula sostituisce il valore null con il valore scelto. |
Sintassi | =IFNULL(CONDIZIONE boolean ; REPLACEMENT qualunque optional ) |
Output | qualunque |
Argomenti |
|
Spiegazione¶
La formula controlla se l'argomento ha valore null. Se null, la formula sostituisce il valore null dell'argomento con un valore predefinito diverso da null. Il tipo ritornato diepnde dal tipo di campo dello Storage.
Esempi¶
-
Supponi di avere un campo Booleano che può avere come valore null.
1
=IFNULL($CURRENTSTORAGE.boolean; $FALSE)
Inserire la formula in Design Mode > Formula > Calculated Field forza l'applicazione a sostituire un valore nel campo Booleano da null a
FALSE
.
SWITCH¶
Categoria | Conditional |
Descrizione | La formula controlla opzioni multiple su un campo dello Storage. |
Sintassi | =SWITCH(VALORE string ; =CASE() qualunque ; =CASES() qualunque optional ; =DEFAULT() qualunque ) |
Output | oggetto |
Argomenti |
|
Spiegazione¶
La formula controlla un valore tramite condizioni multiple che producono differenti output. Se il valore non soddisfa nessuna delle condizioni, la formula ritorna il parametro DEFAULT
. Impara qui cosa distingue =SWITCH()
da =IF()
.
Esempi¶
-
La cella dell'applicazione deve cambiare colore secondo il valore registrato. Se il valore è "FP", la cella diventa verde. Se il valore è "SP", la cella diventa gialla. Se il valore non è né "FP" né "SP", la cella rimane grigia.
1 2 3 4 5 6
=SWITCH( $CURRENTSTORAGE.Product_Type_Code; =CASE("FP"; "green"); =CASE("SP"; "yellow"); =DEFAULT("gray") )
The formula works in Design Mode > Layout > Configuration > Cell Bg Color > Set Formula. The table cell changes color according to the product type code.
-
L'applicazione deve mostrare in una Colonna Logica la valuta dell'ordine corrente secondo il codice dell'area geografica.
1 2 3 4 5 6 7 8
=SWITCH( $CURRENSTORAGE.codiceRegionale =CASE(1;"€"); =CASE(2;"$"); =CASE(3;"£"); =CASE(4;"CHF"); =DEFAULT("-") )
La Lookup compara il valore del campo "codiceRegionale". Secondo il valore di "codiceRegionale", la Colonna Logica mostra il simbolo di una valuta differente. Se l'utente non ha scelto nessun valore per "codiceRegionale", la colonna mostrerà il simbolo "-".
SpatialGeometry¶
LATITUDE¶
Categoria | SpatialGeometry |
Descrizione | La formula estrae la latitudine da una coppia di coordinate geografiche. |
Sintassi | =LATITUDE(VALORE string ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula estrae la latitudine da una coppia di coordinate geografiche.
Esempi¶
-
La funzione estrae la latitudine da un campo che contiene le coordinate geografiche The function extracts the latitude from a field (e.g. Coordinate).
1
=LATITUDE($CURRENTSTORAGE.Coordinate)
Supponi che la coppia di coordinate sia Latitudine: 0.41887 e Longitudine: 94.89008 (0.41887; 94.89008). La funzione riporta un valore di tipo String con il valore della latitudine: 0.41887.
LONGITUDE¶
Categoria | SpatialGeometry |
Descrizione | La formula estrae la longitudine da una coppia di coordinate geografiche. |
Sintassi | =LONGITUDE(VALORE string ) |
Output | string |
Argomenti |
|
Spiegazione¶
La formula estrae la longitudine da una coppia di coordinate geografiche.
Esempi¶
-
La funzione estrae la longitudine da un campo che contiene le coordinate geografiche (e.g. Coordinate).
1
=LONGITUDE($CURRENTSTORAGE.Coordinate)
Suppone che la coppia di coordinate sia Latitudine: 0.41887 e Longitudine: 94.89008 (0.41887; 94.89008). La funzione riporta un valore di tipo String con la Longitudine: 94.89008.
Lookup¶
LOOKUP¶
Categoria | Lookup |
Descrizione | La formula cerca uno Storage per il primo inserimento di un campo che soddisfa la condizione richiesta. |
Sintassi | =LOOKUP(NOME_STORAGE string ; STORAGE_FIELD_NAME string ; CONDIZIONE boolean ) |
Output | oggetto |
Argomenti |
|
Spiegazione¶
La formula cerca uno Storage per il primo inserimento di un campo che soddisfa la condizione richiesta.
Esempi¶
-
L'applicazione deve prendere l'anno dell'automobile selezionata come unica scelta in un menù a tendina.
1 2 3 4 5
=LOOKUP( #car_models; #car_models.ID_car; =EQ(#car_models.year;$CURRENTSTORAGE.yearLookup) )
La formula prende dallo Storage la prima automobile prodotta nell'anno "yearLookup". La formula compare l'ID della macchina con il valore corrente del campo "year".
-
L'applicazione ha un menù a tendina che contiene una lista di utenti attivi. (Un'altra applicazione che funge da registro memorizza la lista degli utenti attivi.) Il menù a tendina registra il nome dell'utente che sta inserendo la riga nella tabella. L'applicazione dovrebbe riempire il menù a tendina con il nome dell'utente corrente in maniera automatica e predefinita.
1 2 3 4 5
=LOOKUP( #sUserList; #sUserList.Id_User; =EQ(#sUserList.Email;$CURRENTUSER.EMAIL) )
Dovresti inserire la formula nel Default Value (Design Mode > Formulas > Default Value > Create default value formula) di un menù a tendina Lookup. Quando l'utente crea un nuova riga, il menù a tendina della riga prende il nome partendo dall'email dell'utente loggato in quel momento.
LOOKUPLIST¶
Categoria | Lookup |
Descrizione | La formula cerca lo Storage per tutti gli inserimenti in un campo che soddisfano la condizione richiesta. |
Sintassi | =LOOKUPLIST(NOME_STORAGE string ; STORAGE_FIELD_NAME string ; CONDIZIONE boolean optional ) |
Output | lista |
Argomenti |
|
Spiegazione¶
La formula cerca lo Storage per tutti gli inserimenti in un campo che soddisfano la condizione richiesta.
Esempi¶
-
L'applicazione deve mostrare in un menù a tendina solo le automobili prodotto dopo l'anno specificato nel campo "yearLookup". Immagina che l'utente abbia selezionato l'anno 2001.
1 2 3 4 5 6 7 8
=LOOKUPLIST( #car_models; #car_models.ID_Car; =GTE( #car_models.year; $CURRENTSTORAGE.yearLookup ) )
La formula mostra nel menù a tendina solo le automobili prodotte nell'anno registrato in "yearLookup" e successivi. Se il valore di "yearLookup" è 2001, il menù a tendina mostrerà solo le automobili prodotte dal 2001 in avanti.
Timespan¶
TIMESPAN¶
Categoria | Timespan |
Descrizione | La formula calcola lo quantità di tempo in millisecondi. |
Sintassi | =TIMESPAN(DATE_TIME_NUMBER numeric ; DATE_TIME_NUMBER numeric ; DATE_TIME_NUMBER numeric ; DATE_TIME_NUMBER numeric ) |
Output | time |
Argomenti |
|
Spiegazione¶
La formula riporta un dato di tipo Timespan in millisecondi iniziando da quattro numeri interi che rappresentano rispettivamente il numero di giorni, ore, minuti e secondi. Il primo parametro rappresenta i giorni. Il secondo parametro è un intero che rappresenta le ore. Il terzo parametro rappresenta i minuti. Il quarto parametro rappresenta i secondi.
Esempi¶
-
L'applicazione deve calcolare il numero di millisecondi iniziando da interi che rappresentano il giorno, l'ora e il tempo.
1
=TIMESPAN(3; 5; 2; 50)
La formula riporta quanti millisecondi sono 3 giorni, 5 ore, 2 minuti, and 50 secondi (277 370 000 millisecondi).