Passa al contenuto principale

Introduzione ai Task

I Task sono una funzionalità potente di Bobuild che ti permettono di creare workflow automatizzati senza programmare. Possono eseguire diverse operazioni, ad esempio:

  • Inviare e-mail a uno o più record
  • Allegare file da campi del record
  • Aggiornare valori
  • Calcolare formule
  • Eseguire controlli e sollevare errori di validazione del form
  • Eseguire un comando SQL
  • Far avanzare un workflow
  • Generare documenti
  • Creare nuovi record
  • Eliminare record

I Task possono essere configurati in diversi contesti. In base al contesto, gireranno su un singolo record o su più record.

ContestoRecordDescrizione
FormSingoloIl Task verrà eseguito all'invio del form.
StepperSingoloIl Task verrà eseguito quando l'utente clicca uno step (modalità cliccabile).
GrigliaMultipliGli utenti potranno selezionare uno o più record con le checkbox ed eseguire un Task su più record in una volta.
Endpoint APISingolo/MultipliIl Task verrà eseguito ogni volta che l'endpoint viene chiamato.
Batch taskMultipliIl Task può essere eseguito manualmente per aggiornamenti batch.
Scheduled taskMultipliIl Task verrà eseguito automaticamente secondo una pianificazione.

Anatomia di un Task​

L'interfaccia per configurare un Task differisce in base al fatto che giri su un singolo record (come i Task su form) o su più record (come i Task su griglia o batch), perché nel secondo caso le cose possono diventare più complesse ma anche molto potenti. In generale, però, un Task ha:

  • un insieme di condizioni sotto cui verrà eseguito o meno
  • una o più azioni da eseguire

Le azioni vengono valutate in sequenza. Se una condizione non corrisponde, la valutazione non si ferma e verrà valutata l'azione successiva.

Per i Task che girano su più record, tutte le azioni vengono ripetute per tutti i record in input. La sequenza sarà:

  1. Record #1
    1. L'azione #1 viene elaborata sul record #1
    2. L'azione #2 viene elaborata sul record #1
    3. L'azione #3 viene elaborata sul record #1
  2. Record #2
    1. L'azione #1 viene elaborata sul record #2
    2. L'azione #2 viene elaborata sul record #2
    3. L'azione #3 viene elaborata sul record #2

Se però non vuoi ripetere un'azione per tutti i record, puoi decidere di eseguirla solo sul primo o sull'ultimo. Ad esempio:

  1. Record #1
    1. L'azione #1 viene elaborata solo sul primo record
    2. L'azione #2 viene elaborata sul record #1
    3. L'azione #3 viene elaborata sul record #1
  2. Record #2
    1. L'azione #2 viene elaborata sul record #2
    2. L'azione #3 viene elaborata sul record #2
Esempio

Vediamo un esempio complesso. Supponi di voler far selezionare all'utente più prodotti da una lista e poi cliccare un pulsante per generare una fattura. Per questo creerai una griglia con l'elenco prodotti e configurerai un Task su questa griglia che esegue le seguenti azioni:

  • Azione #1: crea un nuovo oggetto di tipo invoice e collegalo al cliente corrente (da eseguire solo sul primo record)
  • Azione #2: collega il record attualmente elaborato all'ultima invoice creata (da eseguire su tutti i record)
  • Azione #3: invia un'e-mail di notifica al team (da eseguire solo sull'ultimo record)

Creare un Task​

Ora vediamo come creare un Task a livello di oggetto, ma la procedura è la stessa in qualsiasi altro punto in cui i Task sono supportati. Apri quindi l'oggetto su cui vuoi eseguire il Task e clicca il pulsante Tasks:

Example

Ora clicca il pulsante Add task e il tuo Task verrà creato:

Assegna un nome al Task, poi imposta le condizioni per definire quali record saranno interessati dal Task e infine imposta una o più azioni da eseguire sui record selezionati.

Esempio

Supponi di voler inviare un'e-mail di promemoria a tutti i clienti che ti devono soldi:

Esecuzione, stop e performance​

I Task di oggetto (batch) mostrano l'avanzamento mentre sono in esecuzione. Usa Stop per annullare un job in corso — Bobuild segna lo stop richiesto e cancella il lavoro database in volo quando possibile, invece di attendere solo educatamente tra un record e l'altro.

L'anteprima del Task stima l'impatto sulle prestazioni: quanti campi automatici una scrittura può ricalcolare e quanto sono ampie quelle cascate (inclusi create/delete). Anche App Health segnala le cascate pesanti. Per i run massivi che non necessitano dei valori auto a metà esecuzione, abilita Defer auto field calculation at the end of task execution (Advanced sul Task di oggetto): le scritture restano veloci, poi Bobuild ricalcola i campi automatici una sola volta da tutto ciò che il Task ha scritto. Usa defer solo sui Task che toccano molti record — su run piccoli può essere controproducente. Le azioni a metà Task non devono basarsi su campi automatici che sarebbero cambiati durante l'esecuzione.

Prossimi passi​