Calcolare i valori di variabili e formule
Obiettivi di apprendimento
Al completamento di questa unità, sarai in grado di:
- Concatenare due valori di testo in un flusso.
- Aggiungere e sottrarre valori numerici e date in un flusso.
- Creare una formula per calcolare un valore dinamico in un flusso.
- Spiegare per quale motivo può essere opportuno utilizzare una formula in un flusso.
Manipolare i dati con l'elemento Assegnazione
L'elemento Assegnazione può anche cambiare il valore dei dati esistenti di una variabile invece di sostituirli del tutto.
Combinare stringhe di testo
Quando il tipo di dati di una variabile è testo, puoi selezionare Add (Aggiungi) come operatore dell'elemento Assegnazione. Questo operatore consente di aggiungere testo alla fine del valore corrente.
Il flusso Set Shipping Address (Imposta indirizzo di spedizione) funziona benissimo. Ma ora Flo vuole sapere da quanto tempo l'indirizzo di spedizione è stato aggiornato. Aggiungiamo una riga all'elemento Assegnazione Copy Billing Address (Copia indirizzo di fatturazione) in cui viene aggiunta una nota al campo Description (Descrizione) dell'account che indichi la data in cui l'indirizzo di spedizione è stato aggiunto all'account. Il nostro obiettivo non è sostituire il contenuto del campo Description (Descrizione), bensì aggiungere una nota alla fine. Tuttavia, tieni presente che Salesforce non può combinare variabili di testo con risorse non testuali, come variabili di tipo Data o campi numerici. Per aggiungere dati non testuali, è necessario creare una formula che utilizza la funzione TEXT() per convertirli.
Per prima cosa, creiamo una formula che contiene il testo da aggiungere.
- Fai clic su
per visualizzare la casella degli strumenti.
- Fai clic su New Resource (Nuova risorsa).
- In Resource Type (Tipo di risorsa) seleziona Formula.
- In API Name (Nome API), inserisci
frmChangeDateNote
.
- In Data Type (Tipo di dati), seleziona Text (Testo). Anche se aggiungeremo una data, affinché sia possibile aggiungerla a un campo di testo, il tipo di dati del risultato deve essere Testo.
- Inserisci il testo seguente nel campo Formula:
"
Shipping Address Added on " & TEXT() (" Indirizzo di spedizione aggiunto il giorno " & TEXT()) - Posiziona il cursore all'interno delle parentesi ( ).
- Nel campo Insert a resource… (Inserisci una risorsa…), seleziona $Flow > CurrentDate.
- Fai clic su Check Syntax (Controlla sintassi).
Il controllo della sintassi è particolarmente utile per individuare errori in formule lunghe e complesse in cui sono presenti funzioni nidificate.
- Fai clic su Done (Chiudi).
Prima di andare al passaggio successivo, fermiamoci un attimo a esaminare alcuni elementi della formula.
- Osserva gli spazi all'inizio e alla fine della stringa tra virgolette. Quegli spazi separano la nuova stringa dal testo che già si trova nel campo Description (Descrizione) e dalla data che segue. Ad esempio, se non ci fosse uno spazio alla fine, il flusso imposterebbe la descrizione con la stringa "Shipping Address Added on03-02-2023" (Indirizzo di spedizione aggiunto il giorno03-02-2023").
- Il carattere
&
indica alla formula di combinare il testo che lo precede con quello che lo segue, in modo simile a quanto facciamo con l'operatore Add (Aggiungi).
- La funzione
TEXT()
converte il contenuto delle parentesi in una stringa di testo, in modo che sia utilizzabile all'interno di un campo di questo tipo.
Successivamente, aggiungiamo all'elemento Assegnazione Copy Billing Address (Copia indirizzo di fatturazione) la riga per l'aggiunta della stringa di testo.
- Fai clic sull'elemento Copy Billing Address (Copia indirizzo di fatturazione) e seleziona Edit Element (Modifica elemento).
- Fai clic su + Add Assignment (+ Aggiungi assegnazione).
- Nel campo Variable (Variabile), seleziona Account from Get Account Data (Account da Recupera dati account) e poi Account Description (Descrizione account). Impostiamo il campo Description (Descrizione) della variabile account in questo punto perché è questa la variabile di cui è in corso la modifica.
- Nel campo Operator (Operatore), seleziona Add (Aggiungi).
- Nel campo Value (Valore), seleziona frmChangeDateNote. Selezioniamo la formula in questo punto perché contiene il valore di testo che stiamo aggiungendo alla descrizione.
- Salva il flusso.
Ora, quando l'elemento Update Records (Aggiorna record) aggiorna l'account, l'aggiornamento includerà la descrizione modificata.
Eseguire calcoli semplici
L'operatore Add (Aggiungi) può anche essere utilizzato per aggiungere dati di tipo Numero o Valuta a una variabile. Tuttavia, in questo caso viene eseguita un'operazione matematica. Se combini i valori numerici 4 e 2 il risultato sarà 6, non 42. Per sottrarre un valore da valori di tipo Numero o Valuta puoi utilizzare l'operatore Subtract (Sottrai).
Ad esempio, l'elemento Assegnazione seguente sottrae uno sconto dall'ammontare di un'opportunità. Il campo Amount (Ammontare) dell'opportunità va specificato nel campo Variable (Variabile) perché è quello il valore che viene modificato. Il campo Operator (Operatore) è impostato su Subtract (Sottrai). Infine, la variabile che contiene l'ammontare dello sconto va specificata nel campo Value (Valore).
Ora dai uno sguardo alla seconda riga: in questo caso viene effettuata un'aggiunta a un campo di tipo Data. Gli operatori Add (Aggiungi) e Subtract (Sottrai) possono essere utilizzati anche per aggiungere o sottrarre giorni da un valore di tipo Data. Questo elemento Assegnazione aggiunge 2 giorni alla data di chiusura dell'opportunità.
Calcolare le modifiche automaticamente con le formule
Quando hai creato la formula frmChangeDateNote, il simbolo &
combinava due stringhe di testo, funzionando in modo analogo all'operatore Add (Aggiungi) in un'assegnazione. Ma perché non abbiamo usato il simbolo &
per aggiungere la data direttamente al campo Description (Descrizione)? Il simbolo & funziona soltanto nelle formule e Description (Descrizione) è un campo di testo lungo. Salesforce non consente l'utilizzo di campi di testo lungo nelle formule dei flussi perché questi possono facilmente superare i limiti di calcolo delle formule.
Questa restrizione è un esempio dei limiti e delle complicazioni associati alle formule dei flussi. Le formule dei flussi sono caratterizzate da limiti relativi al tempo di calcolo e al numero di caratteri utilizzabili, il che rende le formule complesse intrinsecamente rischiose. Inoltre, a differenza delle variabili, le formule non possono essere modificate durante l'esecuzione dei flussi. Quindi: quando è opportuno utilizzare una formula?
Le formule assomigliano a quei cacciaviti con le punte di forme strane che hai nella cassetta degli attrezzi. Probabilmente non li usi molto spesso, ma quando ti capita una vite con la testa che richiede una di quelle forme, quegli attrezzi speciali ti fanno molto comodo. In altre parole, la regola generale è che le formule vanno usate in situazioni che possono essere risolte solo con una formula.
La formula frmChangeDateNote è un ottimo esempio che segue questa regola. Gli elementi Assegnazione non possono essere utilizzati per aggiungere una data alla descrizione perché la data deve essere prima convertita in un valore testuale e per eseguire la conversione è necessaria la funzione TEXT().
Risorse
- Trailhead: Formule e convalide (Usare i campi formula)
- Guida di Salesforce: Considerazioni sulle formule nei flussi