Skip to main content
Join the Agentforce Virtual Hackathon to build innovative solutions and compete for a $50k Grand Prize. Sign up now. Terms apply.

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.
Nota

Nota

Stai seguendo la formazione in italiano? Inizia la sfida in un Trailhead Playground in italiano e utilizza le traduzioni fornite tra parentesi per la navigazione. Per quanto riguarda i valori da inserire, copia e incolla solo quelli in lingua inglese, perché la convalida della sfida è basata sul fatto che i dati siano in inglese. Se non superi la sfida nella tua organizzazione italiana, ti consigliamo di (1) selezionare Stati Uniti per le impostazioni internazionali, (2) selezionare Inglese per la lingua seguendo le istruzioni riportate qui e, successivamente, (3) fare nuovamente clic sul pulsante "Controlla la sfida".

Visita il badge Trailhead nella tua lingua per informazioni dettagliate su come usufruire dell'esperienza Trailhead in altre lingue.

Nota

Questo badge è una tappa del percorso di acquisizione della padronanza di Flow Builder. L'itinerario Creare flussi con Flow Builder ti guiderà attraverso tutto il percorso di apprendimento di Flow Builder, dall'inizio alla fine. Segui la sequenza di badge consigliata per acquisire solide competenze di automazione dei processi e diventare un guru di Flow Builder.

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.

  1. Fai clic su Toggle Toolbox (Attiva/disattiva casella degli strumenti) per visualizzare la casella degli strumenti.
  2. Fai clic su New Resource (Nuova risorsa).
  3. In Resource Type (Tipo di risorsa) seleziona Formula.
  4. In API Name (Nome API), inserisci frmChangeDateNote.
  5. 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.
  6. Inserisci il testo seguente nel campo Formula:
    " Shipping Address Added on " & TEXT() (" Indirizzo di spedizione aggiunto il giorno " & TEXT())
  7. Posiziona il cursore all'interno delle parentesi ( ).
  8. Nel campo Insert a resource… (Inserisci una risorsa…), seleziona $Flow > CurrentDate.
  9. 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.
    Il campo Formula risultante dai passaggi precedenti
  10. Fai clic su Done (Chiudi).

Prima di andare al passaggio successivo, fermiamoci un attimo a esaminare alcuni elementi della formula. 

" Shipping Address added on " & TEXT({!$Flow.CurrentDate})
  • 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.

  1. Fai clic sull'elemento Copy Billing Address (Copia indirizzo di fatturazione) e seleziona Edit Element (Modifica elemento).
  2. Fai clic su + Add Assignment (+ Aggiungi assegnazione).
  3. 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.
  4. Nel campo Operator (Operatore), seleziona Add (Aggiungi).
  5. Nel campo Value (Valore), seleziona frmChangeDateNote. Selezioniamo la formula in questo punto perché contiene il valore di testo che stiamo aggiungendo alla descrizione.
    La variabile, l'operatore e il valore risultanti dai passaggi precedenti.
  6. Salva il flusso.

Ora, quando l'elemento Update Records (Aggiorna record) aggiorna l'account, l'aggiornamento includerà la descrizione modificata.

Nota

Se stai utilizzando un'assegnazione solo per combinare due stringhe di testo senza effettuare conversioni, non è necessaria una formula per aggiungere uno spazio fra il testo precedente e quello nuovo. Puoi aggiungere lo spazio manualmente prima del nuovo testo nel campo Value (Valore). Ad esempio, se utilizzi una variabile denominata "Risposta", puoi inserire " {!Risposta}" direttamente nel campo Value (Valore).

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).

Riquadro laterale dell'elemento New Assignment (Nuova assegnazione) risultante dalle descrizioni precedenti e seguenti.

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.

Flo Smith, con uno sguardo perplesso, tiene in mano un cacciavite dalla forma strana.

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

Sfida pratica

+500 punti

Preparati

Completerai questa unità, questo progetto o questa fase nella tua organizzazione di prova. Fai clic su Avvia per iniziare o seleziona il nome della tua organizzazione per sceglierne un'altra.

La tua sfida

Combine Texts Using the Assignment Element
Create a flow that adds "VIP" to the beginning of an account's description when a related opportunity has “VIP” in its name and the opportunity is set to Closed Won.
  • Create a record-triggered flow:
    • Object: Opportunity
    • Trigger the Flow When: A record is updated
    • Condition Requirements: All Conditions Are Met (AND)
    • Add a condition:
      • Field: Stage
      • Operator: Equals
      • Value: Closed Won
    • Add another condition:
      • Field: Name
      • Operator: Contains
      • Value: VIP
    • When to Run the Flow for Updated Records: Only when a record is updated to meet the condition requirements
    • Optimize the Flow for: Actions and Related Records

  • Create a text variable:
    • API Name: VIP_Description
    • Default Value: VIP. (Include a space after the period so that the two texts don’t run together.)

  • Add a Get Records element:
    • Label: Get Account
    • API Name: Get_Account
    • Object: Account
    • Condition Requirements: All Conditions Are Met (AND)
      • Field: Id
      • Operator: Equals
      • Value: $Record > AccountId
    • Keep default values for all other settings

  • After the Get Records element, add an Assignment element:
    • Label: Append Description to VIP_Description
    • API Name: Append_Description_to_VIP_Description
    • Variable: VIP_Description
    • Operator: Add
    • Value: Account from Get Account > Account Description

  • After the Assignment element, add an Update Records element:
    • Label: Update Account Description
    • API Name: Update_Account_Description
    • Select Update records related to the opportunity record that triggered the flow
    • Records Related to Opportunity: Triggering Opportunity > Account ID (To select the whole Account record, after you select Account ID, click outside the picklist.)
    • Condition Requirements to Update Record: None—Update All Related Records
    • Set Field Values:
      • Field: Description
      • Value: VIP_Description

  • Save and activate the flow.
    • Label: Add VIP to Description
    • API Name: Add_VIP_to_Description
Condividi il tuo feedback su Trailhead dalla Guida di Salesforce.

Conoscere la tua esperienza su Trailhead è importante per noi. Ora puoi accedere al modulo per l'invio di feedback in qualsiasi momento dal sito della Guida di Salesforce.

Scopri di più Continua a condividere il tuo feedback