Formulario casi d'uso
Info
Puoi trovare la sintassi e il ruolo di ciascuna funzione e variabile in Reference Funzioni e Variabili. Consulta la reference per imparare l'uso di ciascuna funzione e variabile.
Il documento Formulario casi d'uso raccoglie i casi d'uso di formule più comuni incontrati nell'uso quotidiano di eLegere. Puoi:
- Copiare e incollare le formule e adattarle al tuo caso.
- Usare i casi come schema per scrivere le tue formule.
- Combinare i casi per usi più complessi.
Indice¶
- Aspetto
- Calcolo
- Notifiche
- Restrizione
- Disabilitare i cambiamenti quando lo stato del progetto è Completato
- Rendere obbligatorio il campo Motivazione se il responsabile rifiuta una richiesta
- I dipendenti possono solo aggiungere nuove righe mentre i Manager possono fare modifiche o cancellare righe
- Gli utenti dovrebbero vedere solo le proprie righe
- Gli utenti dovrebbero vedere solo le proprie righe e i Manager tutte le righe
- Restringere la lista prodotti da un menù a tendina secondo la Categoria scelta
- Permettere di scegliere certi stati di progetto secondo lo stato corrente
- Centralizzare tramite un'applicazione dedicata chi può editare o vedere dati
Info
Ogni caso d'uso ha il seguente formato:
Titolo caso d'uso
Il titolo dello scenario del caso d'uso.
Scenario
Questo paragrafo spiega lo scenario e quale necessità la formula deve soddisfare.
Dove inserire?
Questo pragrafo spiega dove inserire la formula relativa.
Formula
Questo paragrafo contiene la formula e dove usarla.
Ogni sezione Formula ha in fondo un sommario delle funzioni e variabili di sistema usati nel caso.
Commentario
Questo paragrafo discute come impiegare la formula in casi d'uso simili o eventuali eccezioni.
Aspetto¶
Questa sezione raccoglie casi d'uso dove l'aspetto dell'applicazione cambia secondo certe condizioni.
La cella cambia colore quando registri una spesa o entrate¶
Scenario¶
Un'applicazione di finanza personale registra tutte le spese e le entrate.
L'applicazione colora la cella "Value €" di verde se la riga è un'entrata o rosso se la riga è una spesa.
Dove inserire?¶
Se vuoi configurare la cella di un tabella per cambiare colore date certe condizioni:
-
In Design Mode, andare in Layout.
-
Cliccare sul pulsante Cell Background Color per la cella che vuoi configurare. L'azione apre la finestra Color Settings.
-
Nella finestra Color Settings, cliccare sul pulsante Set Formula per aprire il Formula Editor.
Formula¶
La seguente formula controlla se il valore è positivo o negativo.
- Se positivo, il valore è un'entrata e la cella diventa verde.
- Se negativo, il valore è una spesa e la cella diventa rossa.
Oltre a entrate e uscite, ci potrebbe essere il caso dove il valore inserito è 0. In caso il valore sia 0, il colore di cella dovrebbe essere grigio.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
Question
Come si specifica un colore particolare in una formula? Inserisci fra virgolette (""
) un codice che specifica il colore. eLegere supporta qualunque standard formato colore HTML
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Puoi impiegare lo stesso schema formula anche per altri componenti di Layout in Design Mode.
Per esempio, se vuoi cambiare il colore del testo di cella secondo il suo valore, inserisci la formula cliccando sul pulsante Cell Text Color.
Si possono usare quante formule Comparison si desidera per aggiungere condizioni e i relativi colori. Nel caso si voglia aggiungere più condizioni da soddisfare, aggiungere un =AND()
o un =OR()
come primo parametro di =IF()
. Aggiungere in seguito più funzioni Comparison (es. =GT()
, =LT()
, =GTE()
, =LTE()
e =EQ()
).
Usare più di due funzioni =IF()
innestate l'una dentro l'altra per aggiungere più condizioni all'albero delle condizioni.
Example
Un esempio di condizioni innestate in una formula.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Cambiare il colore della riga quando lo stato cambia¶
Scenario¶
Un'applicazione gestisce i rimborsi.
Un menù a tendina lookup registra lo stato della richiesta (es. Bozza, Sottomessa, Approvata, Rigettata, Revisione).
L'applicazione deve evidenziare con colori diversi la riga in base allo stato. Per esempio:
- Bozza è giallo.
- Revisione o Sottomessa sono bianco.
- Approvata è verde.
- Rigettata è rossa.
Dove inserire?¶
Se vuoi configurare una riga per cambiare colori dati certi criteri:
-
In Design Mode, andare in Layout.
-
Attivare l'interruttore Toggle Advanced Settings. Quest'azione apre le impostazioni avanzate.
-
Cliccare sul pulsante Background (D) sotto Row Colors. L'azione apre la finestra Row background color.
-
Nella finestra Color Settings, cliccare sul pulsante Set Formula per aprire il formula editor.
Formula¶
La formula controlla l'opzione scelta nel menù a tendina Lookup Status. Ogni opzione corrisponde a un Id da 1 a 5.
In base al valore di Status, la formula specifica un colore per quello status. L'applicazione mostra dunque la riga usando quel colore.
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 |
|
Question
Come si specifica un colore particolare in una formula? Inserisci fra virgolette (""
) un codice che specifica il colore. eLegere supporta qualunque standard formato colore HTML
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Puoi impiegare lo stesso schema formula anche per altri componenti di Layout in Design Mode.
Per esempio, se vuoi cambiare il colore del testo di cella secondo il suo valore, inserisci la formula cliccando sul pulsante Cell Text Color.
Se hai bisogno di un colore specifico nel caso il valore non soddisfi nessuna delle condizioni: aggiungi =DEFAULT()
come ultimo parametro della funzione =SWITCH()
. =DEFAULT()
ha solo un parametro che specifica il valore predefinito se nessuna condizione =CASE()
è soddisfatta.
Example
1 2 3 4 5 6 |
|
Formattare una cella numerica secondo la valuta¶
Scenario¶
Nell'applicazione "Project Tasks", ciascun progetto ha un menù a tendina lookup chiamato Contract's Currency. Gli utenti possono scegliere la valuta del budget disponibile da Contract's Currency. La compagnia deve rendicontare i risultati finanziari in varie valute essendo internazionale. L'applicazione deve formatta il valore numerico di Project Budget secondo la valuta: i paesi in Nord America e UK usano il punto decimale (.
) per Dollari ($) e Sterline (£) mentre vari paesi Europeo richiedono la virgola decimale per gli Euro (€).
Dove inserire?¶
L'opzione Format Type Formula gestisce tutte le condizioni per formattare i campi con dati di tipo numerico (Numeric), data (Date) e data-ora (DateTime).
-
In Design Mode nel pannello Table, andare al sotto-pannello Restrictions.
-
Cliccare sul pulsante Format Type Formula in corrispondenza del campo da formattare. (Per questo caso d'uso, è Project Budget.) Trovi il pulsante Format Type Formula sotto la colonna Restrictions.
Formula¶
La formula ritornma una stringa formato differente secondo l'Id della valuta dal menù a tendina lookup Contract's Currency. Contract's Currency è l'etichetta della colonna nell'applicazione decisa dal Designer. Il nome attuale del campo è currencyLookup
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
La formula è piuttosto semplice: una funzione =IF()
verifica il valore della Lookup e fornisce una certa asserzione con il formato all'applicazione.
Quando si forniscono le condizioni per formattare un valore numerico (Numeric), ricordare la seguente sintassi: {0/1:"formato"}
. eLegere interpreta il numero inteoro come ON (1)/OFF (0) per l'interruttore nella finestra Custom format. L'interruttore inverte virgola e punto per i numeri decimale e i gruppi di migliaglia (e.g. 1,000,000.55
1.000.000,55
).
Calcolo¶
Questa sezione raccoglie i casi d'uso dove le celle dei campi calcolano i loro valori automaticamente.
Mostrare il numero di task completati in un Task Manager giornaliero¶
Scenario¶
L'applicazione è un'applicazione di gestione task dove:
- Ogni riga è una giornata.
- Il Dettaglio contiene una riga per ciascun task della giornata.
Per ciascuna giornata, l'applicazione deve mostrare il numero di task completati sul numero totali di task per quella giornata.
Dove inserire?¶
Se il Designer vuole un campo che si aggiorna in tempo reale, deve inserire la formula in una Colonna Logica (Logical Column). Le Colonne Logiche (Logical Columns) non sono campi che esistono sullo Storage ma entità che calcolano i dati richiesti in tempo reale.
-
Nel Design Mode, cliccare sul pulsante Add Logical Column sul pannello Master.
-
Scegliere il tipo Calculation per la Colonna Logica (Logical Column) e dove inserire la Colonna Logica sulla tabella.
-
Le azioni nei passaggi 1-2 spostano l'utente nel sotto-pannello Logical. Aggiungi un nome alla nuova Colonna Logica (Logical Column) (es. Task Progression)
-
Spostarsi sul pannello Formula della tabella di Master. Cliccare sull'icona della Colonna Logica per aprire il Formula Editor.
Formula¶
L'applicazione di gestione task ha un Dettaglio contenente una serie di task per ciascuna giornata. Il Dettaglio si chiama dailyTasks. Ogni riga in dailyTasks ha una spunta per segnare ciascun task come Completato (i.e. il campo Completed).
Ogni riga di Master dovrebbe mostrare la Colonna Logica (Logical Column) con il numero totale di task e il numero di task completati.
Inserire la formula nel Formula Editor della Colonna Logica.
Question
In questo caso, il valore deve essere un testo (String) invece di un numero (Numeric). Questo perché i valori di un campo Numeric non permettono l'inserimento di caratteri o stringhe come \
, @
, task
e così via.
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 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Se vuoi calcolare dati al volo che non devi registrare, usa una Colonna Logica Calcolata (Calculated Logical Column). Le Colonne Logiche Calcolate (Calculated Logical Columns) calcolano qualunque formula e mostra il loro risultato in tempo reale.
Per creare un testo usando un insieme di valori dai campi cella e testo predeterminato, usare la funzione =CONCAT()
. =CONCAT()
supporta quanti parametri String il Designer desidera.
Example
Potresti usare =CONCAT()
per creare un codice unico partendo da altri campi. Puoi usare funzioni come =RIGHT()
e =LEFT()
e =SUBSTRING()
per prendere stringhe e comporle tramite =CONCAT()
.
La funzione =AGGREGATEDETAILS()
ha svariati impieghi; contare il numero di righe in un Dettaglio è uno di essi. Puoi usare =AGGREGATEDETAILS()
per sommare, trovare il valore più alto o basso oppure ottenere la media numerica dei valori di un campo del Dettaglio.
Calcolare il prezzo di un oggetto inclusa l'IVA (%)¶
Scenario¶
L'applicazione dovrebbe calcolare il costo finale dell'oggetto incluse le tasse (IVA).
L'utente sceglie un paese dal menù a tendina Lookup. Il prezzo finale dell'articolo deve cambiare secondo l'IVA locale del paese.
Dove inserire?¶
Nel sotto-pannello Formula, inserire la formula sotto la colonna Calculated Field in corrispondenza della riga del campo.
-
Nel Design Mode, andare alla tabella contenente il campo con il prezzo incluso IVA.
-
Cliccare sul sotto-pannello Formula.
-
Cliccare sull'icona sotto la colonna Calculated Field corrispondente al campo con il prezzo con IVA.
Formula¶
La formula esegue due calcoli aritmetici prendendo l'IVA dallo Storage dei paesi (chiamato nell'esempio sCountriesInfo
.)
Note
Le applicazioni possono rappresentare una percentuale come un numero intero (es. 100%, 50%). Negli Storage, i campi di tipo Numeric registrano le percentuali come numeri decimali. Es. 22% = 0.22, 7% = 0.07
Il campo CountryId_Lookup registra il riferimento di ciascuna nazione (Id) da #sCountriesInfo
. #sCountriesInfo
contiene il nome della nazione e la sua IVA (%).
Inserire la formula nel campo che registrerà il prezzo finale compreso di IVA.
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 |
|
Note
#sCountriesInfo
registra l'IVA (%) come numero decimale; quindi, moltiplicare il prezzo senza IVA (i.e. priceNoVAT
) per il valore di #sCountriesInfo.VAT
è sufficiente per calcolare il valore compreso di IVA.
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Puoi usare lo stesso schema formula per ciascun caso dove bisogna recuperare un valore da un altro Storage e usarlo per dei calcoli.
Usa la funzione =LOOKUP()
e il terzo parametro per identificare il valore che stai cercando.
Example
Puoi usare lo stesso caso d'uso per imposte IVA differenziate secondo la categoria di prodotto o servizio. (Es. 4% per il cibo, 15% per il libri, 10% elettricità e gas.)
Registrare la data corrente quando si aggiunge un nuova riga¶
Scenario¶
In un'applicazione, creare una nuova riga dovrebbe compilare un campo Date o Date-Time con la data corrente automaticamente.
Dove inserire?¶
La data corrente dovrebbe essere un Default Value: ogni volta che l'utente inserisce una nuova riga nell'applicazione, il campo deve avere quel particolare valore. In questo caso, il valore del Date o Date-Time (se il campo è Date-Time) corrente.
-
Nel Design Mode, andare alla tabella contenente il campo Date o Date-Time.
-
Cliccare sulla tab Formula.
-
Accanto al campo Date o Date-Time desiderato, cliccare sull'icona :fas fa-calculator nella colonna Default Value.
Formula¶
La formula è solo una variabile che punta alla Date o Date-Time corrente (in base al tipo di campo).
1 2 3 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Puoi usare la variabile di sistema $CURRENTDATE
dentro campi con formule di tipo String per puntare alla data corrente.
Usa la funzione =CONCAT()
se vuoi aggiungere una data a un testo.
Example
La formula sotto crea una frase partendo da un campo di tipo String (i.e. Username) e dalla variabile $CURRENTDATE
.
1 |
|
=FORMATDATE()
all'interno della funzione =CONCAT()
. $CURRENTDATE
rappresenta la data corrente nel formato proprietario eLegere. Utilizzare =FORMATDATE()
per formattare la data in un formato leggibile; es. dd/mm/yyyy
o mm-dd-yyyy
.
Puoi trovare una lista di opzioni formato per il terzo parametro di =FORMATDATE()
qui.
Notifiche¶
Questa sezione raccogliere casi d'uso dove puoi configurare il contenuto e il comportamento delle notifiche tramite formule.
Inviare una notifica quando si sottomette una richiesta¶
Scenario¶
Un'applicazione permette ai dipendenti di richiedere ferie e permessi.
L'applicazione deve avvisare tramite un'email i supervisori di qualsiasi richiesta sottomessa in attesa di approvazione o rifiuto.
In eLegere, i Designer possono configurare applicazioni per mandare notifiche email automaticamente. I Designer per farlo devono creare una Custom Action di tipo Send Email. I Designer possono definire i destinatari e il contenuto dinamicamente usando le formule.
Dove inserire?¶
Si deve creare innanzitutto una Custom Action Send Email. Usa le formule per definire dinamicamente i destinatari, l'oggetto (Subject) e il corpo testo (Body) della notifica.
Segui i passi sotto per creare una Custom Action Send Email:
-
Nel Design Mode, cliccare sull'icona nell'angolo in alto a destra dell'interfaccia.
-
Cliccare sul menù a tendina New Action e scegliere Send Email come opzione.
-
Nella barra laterale sinistra con la lista delle Custom Action, cliccare sull'azione appena creata.
-
Disabilitare l'interruttore Manual. L'azione parte quando un evento innesca l'attivazione.
-
Scegliere POST ROW INSERT come opzione dal menù a tendina Event. Questa opzione innesca l'azione a ogni nuovo inserimento in tabella.
I Designer possono inserire formule:
- Nel campo destinatario To: tramite l'icona .
- Nell'oggetto, Subject.
- Nel corpo testo, Body.
Note
Inserire formule o nel Subject o nel Body richiede racchiudere la formula fra due parentesi quadre []
. All'interno del Subject e del Body delle Custom Action Send Email, le applicazioni interpretano formule fuori dalle parentesi quadre []
come testo standard e non le eseguiranno.
Formula¶
La Custom Action Send Email impiega tre formule separate nelle tre sezioni To:, Subject e Body.
Devi inserire le formule in queste sezioni del sotto-pannello della Custom Action Send Email.
- Per il To:, inserisci una formula per recuperare la lista supervisori.
- Per il Subject, inserisci una formula per registrare data e ora della richiesta.
- Per il Body, inserisci un link alla richiesta per velocizzare l'approvazione o il rifiuto. È opzionale ma utile.
Funzioni e Variabili di Sistema Utilizzati
Campo To:¶
Per il To:, inserisci una formula per recuperare la lista supervisori.
Cliccare sull'icona accanto al campo To:.
Note
In questo caso, non serve racchiudere la formula fra due parentesi quadre []
. Stai inserendo una formula nel Formula Editor.
La funzione =GROUPUSERSEMAILS()
specifica nel To: di prendere tutti gli indirizzi email dei membri del Gruppo Utente "Supervisors".
La Custom Action manderà la mail a chiunque appartenga al Gruppo Utente "Supervisors".
1 |
|
Subject¶
Per il Subject, inserisci una formula per registrare data e ora della richiesta.
Note
La formula va nel campo Subject. La formula richiede le parentesi quadre per essere interpretata come formula ([]
).
Digita un testo standard per l'oggetto (Subject) della mail. Per esempio:
1 |
|
Aggiungi la formula per inserire la data alla fine del testo predefinito.
Il compito della formula è prendere la data corrente ($CURRENTDATE
) e mostrarla (=FORMATDATE
) secondo il formato "giorno-mese-anno ora:minuti" ("dd-mm-yy hh:mm"
).
$CURRENTDATE
recupera la data e ora corrente.
La funzione =FORMATDATE()
formatta la data e ora corrente secondo il seguente formato: "dd-mm-yy hh:mm".
1 |
|
Body¶
Per il Body, inserisci un link alla richiesta per velocizzare l'approvazione o il rifiuto. È opzionale ma utile.
Note
La formula va nel corpo testo Body. La formula richiede le parentesi quadre per essere interpretata come formula ([]
).
Scrivere un testo predefinito per il Body. Per esempio:
1 |
|
La formula va nel testo del Body.
Crea un link alla riga (=GENERATEROWLINK
) specificata nello Storage dell'applicazione (#sHolidayRequests
).
La formula genera un link che rimanda all'applicazione e al nuovo inserimento. Punta all'applicazione e allo Storage #sHolidayRequests
che contengono le richieste.
1 |
|
Commentario¶
Puoi usare le stesse formule per le notifiche riguardo modifiche righe, cancellazione o allegati (upload, download o cancellazione). Scegliere un innesco differente dal menù a tendina Event dal pannello Info.
Example
- POST ROW UPDATE Seleziona questa opzione dal menù a tendina Event se vuoi avvertire il Gruppo Utente dopo una qualunque modifica.
- POST ROW DELETE Seleziona questa opzione dal menù a tendina Event se vuoi avvertire il Gruppo Utente dopo una qualunque cancellazione.
- POST ATTACHMENTS INSERT Seleziona questa opzione dal menù a tendina Event se vuoi avvertire il Gruppo Utente dopo l'upload di un qualunque allegato.
- POST ATTACHMENTS DELETE Seleziona questa opzione dal menù a tendina Event se vuoi avvertire il Gruppo Utente dopo la cancellazione di un qualunque allegato.
Puoi trovare tutti i formati Data/Ora per il terzo parametro della funzione =FORMATDATE()
qui.
Se vuoi inserire un link a un'applicazione differente usando =GENERATEROWLINK()
:
- Inserire come primo parametro il nome dello Storage dell'altra applicazione.
- Inserire come secondo parametro il campo da considerare dallo Storage.
- Inserire come terzo parametro il campo designato come chiave primaria (Primary Key) nell'applicazione.
- L'Id dell'applicazione esterna fra virgolette (
""
).
Example
Un esempio di uso del link a una riga per un'applicazione differente da quella attuale.
1 |
|
Restrizione¶
Questa sezione raccogliere i casi d'uso dove puoi restringere il contenuto mostrato dall'applicazione o le operazioni permesse (es. aggiungere, modificare o cancellare righe).
Disabilitare i cambiamenti quando lo stato del progetto è Completato¶
Scenario¶
Un'applicazione di project management deve bloccare qualunque modifica alla riga di un progetto quando il suo stato è Completato (Completed).
Solo i membri del Gruppo Utente "Chief Directors" possono modificare qualunque progetto a qualunque stadio, incluso Completato (Completed).
Dove inserire?¶
Se vuoi aggiungere una qualunque restrizione alla tabella riguardo aggiungere, modificare, clonare o cancellare righe:
-
Nel Design Mode, andare al sotto-pannello Settings.
-
Il sotto-pannello Settings mostra una tab per ciascuna tabella dell'applicazione. Andare sulla tabella desiderata (1) per applicare la restrizione.
-
Secondo il tipo di restrizione, scegliere Edit, Add, Clone, Delete, Recalculate e Row nella sezione Restrictions (2) dei Settings.
In questo scenario, devi inserire la formula nella restrizione Edit.
Formula¶
Inserire la formula in Settings > [Tab della Tabella] > Restrictions > Edit.
La formula mostra o tutte le righe o certe righe secondo il Gruppo Utente.
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Puoi creare condizioni più complesse per la restrizione usando funzioni Comparison come =AND()
, =GT()
, =GTE()
, =LT()
, =LTE()
, =NEQ()
o =EQ()
.
Rendere obbligatorio il campo Motivazione se il responsabile rifiuta una richiesta¶
Scenario¶
Un'applicazione permette ai dipendenti di richiedere ferie e permessi.
Se un supervisore rifiuta una richiesta sottomessa, il supervisore deve riempire il campo Motivazione (Motivation) con una spiegazione.
Dove inserire?¶
Se vuoi aggiungere una qualunque restrizione a celle di campi specifici, devi andare nel sotto-pannello Restrictions.
-
Andare alla tabella contenente il campo.
-
Cliccare sul pulsante del sotto-pannello Restrictions.
-
Cliccare sul pulsante Cell Mandatory Restriction accanto al campo che vuoi restringere.
Inserire la formula nella Cell Mandatory Restriction per il campo Motivation.
Formula¶
Il campo Motivazione registra il testo che spiega la motivazione della scelta dello status.
Se lo stato è Rifiutato (Rejected), allora l'utente deve inserire una motivazione per il rifiuto.
1 2 3 4 5 6 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Puoi aggiungere una qualsiasi funzione Comparison in una Cell Mandatory Restriction per determinare condizioni che rendono obbligatorio un campo se soddisfatte. Per esempio: =NEQ()
, =ISNULL()
, =ISNOTNULL()
, =GT()
, =GTE()
, =LT()
e =LTE()
.
I dipendenti possono solo aggiungere righe mentre i Manager possono fare modifiche o cancellare righe¶
Scenario¶
In un'applicazione finanziaria, ciascun utente può registrare le spese fatte, ma non possono effettuare cambiamenti né cancellare i loro inserimenti.
In questo scenario, solo i manager del budget possono aggiornare o modificare le righe dell'applicazione.
Dove inserire?¶
Se vuoi aggiungere una qualunque restrizione alla tabella riguardo aggiungere, modificare, clonare o cancellare righe:
-
Nel Design Mode, andare al sotto-pannello Settings.
-
Il sotto-pannello Settings mostra una tab per ciascuna tabella dell'applicazione. Andare sulla tabella desiderata (1) per applicare la restrizione.
-
Secondo il tipo di restrizione, scegliere Edit, Add, Clone, Delete, Recalculate e Row nella sezione Restrictions (2) dei Settings.
In questo scenario, devi inserire la formula nella restrizione Edit e Delete.
Formula¶
La seguente formula verifica che l'utente appartenga al gruppo "Managers".
1 2 3 4 5 6 7 8 9 10 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Nell'esempio sopra, solo gli utenti che appartengono al Gruppo Utente "Managers" posso o modificare o cancellare una qualunque riga della tabella.
Se vuoi abilitare più di un Gruppo Utente per editare o cancellare righe: puoi usare la funzione =CONTAINSLIST()
e =LIST()
come secondo parametro. =CONTAINSLIST()
funziona come la funzione =CONTAINS()
, ma =CONTAINSLIST()
controlla se una lista contiene uno o più elementi da =LIST()
.
Example
La formula verifica che l'utente appartenga o al Gruppo Utente "Managers" o "Product Owners" o "Developers". Se l'utente appartiene ad almeno uno di questi gruppi, l'applicazione abilita sia la modifica che la cancellazione.
1 |
|
Il caso d'uso prende come esempio una restrizione per modificare e cancellare. Se vuoi restringere Add, Clone e Recalculate per certi Gruppi Utente, la stessa formula funziona anche per queste azioni.
Gli utenti dovrebbero vedere solo le proprie righe¶
Scenario¶
In un'applicazione che gestisce il budget domestico, ogni utente deve vedere solo le proprie righe con le proprie spese o entrate. In questo modo, la loro privacy è garantita.
Dove inserire?¶
Se vuoi aggiungere una restrizione riguardo a quali righe un utente può vedere in un'applicazione:
-
Nel Design Mode, andare al sotto-pannello Settings.
-
Il sotto-pannello Settings mostra una tab per ciascuna tabella dell'applicazione. Andare sulla tabella desiderata (1) per applicare la restrizione.
-
Secondo il tipo di restrizione, scegliere Edit, Add, Clone, Delete, Recalculate e Row nella sezione Restrictions (2) dei Settings.
In questo scenario, devi inserire la formula nella restrizione Row.
Formula¶
La formula mostra all'utente corrente solo le righe che ha creato.
Question
USER_ID_CREATION è un campo di sistema: ogni Storage creato ha questo campo. Riferisciti a USER_ID_CREATION nelle tue formule se vuoi abilitare azioni o mostrare le righe che l'utente corrente ha creato.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Gli utenti dovrebbero vedere solo le proprie righe e i Manager tutte le righe¶
Scenario¶
Un'applicazione di gestione task registra quello che ciascun utente ha fatto e quando.
Dipendenti (Employees) e Manager (Managers) vedono insiemi differenti di righe.
Gruppo Utente | Riga |
---|---|
Employees | Solo le righe che hanno creato. |
Managers | Tutte le righe di tutti gli utenti. |
Ogni riga ha un campo menù a tendina che registra chi ha eseguito il task.
Dove inserire?¶
Se vuoi aggiungere una restrizione riguardo a quali righe un utente può vedere in un'applicazione:
-
Nel Design Mode, andare al sotto-pannello Settings.
-
Il sotto-pannello Settings mostra una tab per ciascuna tabella dell'applicazione. Andare sulla tabella desiderata (1) per applicare la restrizione.
-
Secondo il tipo di restrizione, scegliere Edit, Add, Clone, Delete, Recalculate e Row nella sezione Restrictions (2) dei Settings.
In questo scenario, devi inserire la formula nella restrizione Row.
Formula¶
Ogni riga ha un menù a tendina Lookup CompanyMembersId_Lookup per assegnare l'utente a un task specifico. CompanyMembersId_Lookup si riferisce all'anagrafica dei membri della compagnia (#CompanyMembers
). Lo Storage #CompanyMembers
ha fra i suoi campi il campo Email. La formula utilizza questo campo di #CompanyMembers
per identificare le righe degli utenti che non appartengono al gruppo "Managers".
La formula verifica se l'utente è "Managers" (Manager) o "Employees" (Dipendente). La formula garantisce o accesso totale (Managers) o mostra solo certe righe secondo il Gruppo Utente (Employees).
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 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Puoi usare lo schema formula sopra per aggiungere quante restrizioni e condizioni tu desideri.
Aggiungi ai parametri dell'=OR()
quanti Gruppi Utenti desideri tramite la funzione =CONTAINS()
. Se un Gruppo Utente può vedere solo le righe che soddisfano certe condizioni, racchiudile in una funzione =AND()
assieme alla funzione =CONTAINS()
.
Usa la funzione =LOOKUP()
per recuperare qualunque informazione al di fuori dello Storage dell'applicazione corrente.
Example
Un esempio di funzioni =AND()
multiple che specificano più casi nella =OR()
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
Restringere la lista prodotti da un menù a tendina secondo la Categoria scelta¶
Scenario¶
Un'applicazione gestisce e traccia gli ordini da un magazzino.
L'utente dovrebbe scegliere una categoria di oggetti ed essere in grado di vedere e scegliere solo gli articoli di quella categoria.
Dove inserire?¶
productCategory è un campo menù a tendina Lookup. Gli utenti scelgono la categoria di prodotti da questo menù a tendina.
productList è un campo Multiselection che registra uno o più prodotti dallo Storage #Products
.
Puoi inserire la formula come una Restriction Formula per la Multiselection.
-
In Design Mode, vai alla tabella che contiene i due campi.
-
Clicca sul pulsante Create the Lookup Relation () del campo Lookup a cui vuoi applicare la formula di restrizione.
-
Nella finestra opzioni, cliccare sull'icona corrispondente alla Restriction Formula.
Formula¶
La formula mostra nella lista dei prodotti solo gli articoli che appartengono alla categoria scelta.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Nel caso di due menù a tendina Lookup o di un menù a tendina Lookup e un campo Multiselection, usa la funzione =LOOKUPLIST()
per filtrare gli elementi secondo il valore di uno dei due campi.
Come condizione, puoi usare una qualunque funzione che compara due valori; per esempio, =EQ()
, =NEQ()
, =GT()
, =LT()
, =GTE()
e =LTE()
. Puoi unire quante funzioni tu voglia tramite le funzioni =AND()
e =OR()
.
Permettere di scegliere certi stati di progetto secondo lo stato corrente¶
Scenario¶
Hai un'applicazione per registrare lo stato di differenti progetti
Una volta che il responsabile progetto ha scelto un nuovo stato per il progetto, non dovrebbe essere possibile riportarlo a stati precedenti.
Dove inserire?¶
Devi inserire la formula come una Restriction Formula nella finestra opzioni del meù a tendina Lookup.
-
In Design Mode, vai alla tabella contenente il menù a tendina Lookup.
-
Cliccare sul pulsante Create the Lookup Relation () del campo Lookup a cui vuoi applicare la formula di restrizione.
-
Nella finestra opzioni, cliccare sull'icona corrispondente alla Restriction Formula.
Formula¶
Il menù a tendina Lookup è il campo projectStatus e prende le opzioni dallo Storage sProjectStatuses.
sProjectStatuses contiene i seguenti stati progetto con i relativi Id:
Id | Status |
---|---|
1 | Bozza |
2 | Sottomesso |
3 | Approvato |
4 | Rigettato |
Il valore predefinito (Default Value) è l'Id 1. (i.e. lo status Bozza) in Table > Formula > Default Value per il campo.
Inserire la formula nella Restriction Formula del menù a tendina Lookup.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
|
Example
=LIST(1;2)
significa che la formula deve mostrare dallo Storage sProjectStatuses solo le opzioni con Id 1 e 2.
Commentario¶
Puoi configurare quante condizioni desideri per mostrare certe opzioni dallo Storage in un menù a tendina Lookup.
Come condizione, puoi usare una qualunque funzione che compara due valori; per esempio, =EQ()
, =NEQ()
, =GT()
, =LT()
, =GTE()
e =LTE()
. Puoi unire quante funzioni tu voglia tramite le funzioni =AND()
e =OR()
.
Puoi anche usare la funzione =CONTAINS()
e la variabile di sistema $CURRENTUSER.GROUPNAMES
per mostrare certi insiemi di opzioni solo a Gruppi Utente specifici.
Example
Un esempio che mostra come differenziare opzioni in un campo Lookup o Multiselection secondo il Gruppo Utente.
1 2 3 4 5 6 7 8 9 |
|
Centralizzare tramite un'applicazione dedicata chi può editare o vedere dati¶
Scenario¶
Un'organizzazione sta usando eLegere come piattaforma per un forum dove gli utenti scambiano suggerimenti e chiedono domande sui propri prodotti. Quest'applicazione si chiama Answers.
Ciascuna riga sulla tabella di Master è il topic di una domanda. Ciascuna domanda sulla tabella di Master ha una tabella di Dettaglio chiamata Thread: contiene le risposte dagli altri utenti. In entrambe le tabelle, c'è una colonna dedicata per segnare e nascondere i post con con contenuto inappropriato.
L'organizzazione preferisce centralizzare la gestione utenti (e.g. moderazione, utenti bannati e così via) e i relativi permessi in un'applicazione invece di usare i Gruppi Utente (User Group).
L'applicazione che gestisce gli utenti si chiama Users List e ha i campi seguenti:
Nome Campo | Tipo | Descrizione |
---|---|---|
Name | String | Il nome dell'utente |
Surname | String | Il cognome dell'utente |
String | Indirizzo email | |
UserStatus | Numeric | Campo usato per un menù a tendina Lookup. Registra il riferimento allo Storage che contiene gli stati degli utenti (e.g. Regolare, Sospeso, ecc.) |
Permissions | Numeric | Campo usato per un menù a tendina Lookup. Registra il riferimento allo Storage che contiene i permessi dei ruoli degli utenti. Secondo i permessi, l'applicazione abilita certe operazioni mettendo i campi Booleani sotto come true . |
EnablePostingQuestions | Boolean | Se true , l'utente può postare domande nell'applicazione. Se false , l'utente non può postare domande. |
EnableAnswers | Boolean | Se true , l'utente può postare risposte alle domande. Se false , l'utente non può postare risposte. |
EnableRatingAnswers | Boolean | Se true , l'utente può valutare le risposte. Se false , l'utente non può valutare le risposte. |
IsModerator | Boolean | Se true , l'utente può moderare domande e risposte e nascondere contenuto inappropriato. |
EnableCategoriesEdit | Boolean | Se true , l'utente può aggiungere nuove categorie e sottocategorie pre i thread in un'applicazione dedicata. |
EnableUserManagement | Boolean | Se true , l'utente può aggiungere utenti e gestire i loro permessi nell'applicazione User List. |
IdUserQA | Identity | Il campo Identity che identifica ciascun utente in modo univoco. |
Ciascun campo Booleano sta per un permesso (e.g. Enable Posting Question, Enable Answers).
Assegna un ruolo calcola il permesso assegnato automaticamente. Gli amministratori possono personalizzare i permessi di ciascun utente.
Inoltre, gli amministratori possono sospendere o bannare utenti dalle attività del forum nella stessa applicazione.
Dove inserire?¶
Devi inserire le formule nel Design Mode di Answers. Da Answers, le formule accederanno allo Storage dell'applicazione Users List e leggeranno ciascun permesso, abilitando o bloccando certe azioni. In particolare, devi inserire le formule nei Settings nella sezione Restriction.
Inoltre, un'altra formula è richiesta nel pannello Restriction per la Column Visibility Restriction. Devi inserire tale formula sia per le colonne Delete this Post (sulla tabella di Master) sia Moderators Delete (sulla tabella di Dettaglio Thread).
Formule¶
Edit¶
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 |
|
Add¶
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 |
|
Delete¶
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 |
|
Row¶
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 |
|
Column Visibility Restriction sulle tabelle di Master e Dettaglio¶
Inserisci la formula sulle tabelle di Master e Dettaglio nei rispettivi pannelli Restriction. Devi inserire la formula nella Column Visibility Restriction per i campi Booleani Delete this Post (sulla tabella di Master) e Moderators Delete (sulla tabella di Dettaglio Thread).
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Funzioni e Variabili di Sistema Utilizzati
Commentario¶
Puoi usare lo stesso schema formula per:
- rendere editabili certe colonne (Restrictions > Column Editability Restriction)
- rendere editabili certe celle (Restrictions > Cell Editability Restriction)
- permettere l'esecuzione di certe Custom Action (Custom Actions panel > [Choose a Custom Action from the List] > Restrictions > Execution)
solo a specifici stati utenti o opzioni spuntate in un'applicazione dedicata ai permessi. Cambia i nomi delle colonne nei placeholder delle formule del caso d'uso.
In breve, usa lo stesso schema formule quando uno Storage contiene i permessi degli utenti e devi accedere da un'altra applicazione per permettere certa azioni o mostrare solo dati specifici.