Definire una ricerca del flusso di lavoro

Grazie alle ricerche è possibile visualizzare dati dinamici nel flusso di lavoro. Quando si esegue un flusso di lavoro, le ricerche in esso presenti possono recuperare dati da origini dati diverse, ad esempio elenchi, raccolte, oltre ai dati del flusso di lavoro stesso. Le ricerche consentono anche di creare un'esperienza utente finale personalizzata per gli utenti del sito.

Questo articolo include alcune informazioni di carattere concettuale sulle ricerche e spiega come definire ricerche per il flusso di lavoro. Propone inoltre alcuni suggerimenti per usare le ricerche e creare ricerche univoche.

In questo articolo

Informazioni su associazione dati e ricerche

Informazioni sull'uso delle ricerche per creare un'esperienza utente personalizzata

Utilità degli ID

Funzionamento di una ricerca

Cercare un valore nell'elemento corrente

Cercare un valore nei dati del flusso di lavoro

Cercare un valore in un elenco o una raccolta specificando un campo e un valore come criteri di filtro

Suggerimenti per definire valori per ricerche univoche

Informazioni utili sulle ricerche

Informazioni su associazione dati e ricerche

Le ricerche del flusso di lavoro sono possibili grazie all'associazione dati, una caratteristica della tecnologia Microsoft ASP.NET sfruttata anche in Office SharePoint Designer 2007. L'associazione dati consente di collegare i dati di origini dati diverse in un database. In Office SharePoint Designer 2007 l'associazione dati nei flussi di lavoro permette di recuperare dati da origini dati quali elenchi, raccolte e dati di flussi di lavoro come variabili e parametri di avvio. Le ricerche nei flussi di lavoro recuperano i dati da un'origine dati durante l'esecuzione di un flusso di lavoro e possono usare i dati recuperati per eseguire altre azioni sul flusso stesso. Le ricerche consentono di creare la connessione tra origine dati e flusso di lavoro.

È possibile inserire una ricerca relativa a un elemento corrente, ai dati del flusso di lavoro e ad altri elenchi e raccolte di SharePoint.

Ricerca di...

Descrizione

Elemento corrente

Fa riferimento all'elemento che ha avviato l'istanza corrente del flusso di lavoro. Se si sceglie questa opzione, è possibile selezionare un valore dall'elemento in cui viene attualmente eseguito il flusso di lavoro.

Dati flusso di lavoro

Fa riferimento a una variabile del flusso di lavoro che fa parte dell'istanza corrente del flusso di lavoro. Se si sceglie questa opzione, è possibile usare le variabili e i parametri di avvio del flusso di lavoro nel flusso di lavoro corrente.

Altri elenchi o raccolte

È anche possibile recuperare dati da altri elenchi e raccolte nel sito di SharePoint corrente.

Inizio pagina

Informazioni sull'uso delle ricerche per creare un'esperienza utente personalizzata

Le ricerche consentono anche di offrire un'esperienza utente finale personalizzata per gli utenti del sito. Si supponga, ad esempio, di essere un autore di contenuto che invia documenti alla raccolta Documenti condivisi nel sito del team. Si vuole creare un flusso di lavoro che invii un messaggio di posta elettronica automatico per informare il revisore appropriato ogni volta che viene caricato un documento. Aggiungendo le ricerche al messaggio di posta elettronica del flusso di lavoro, è possibile creare un'esperienza utente finale personalizzata. È infatti possibile fare in modo che ogni volta che viene caricato un documento, il flusso di lavoro invii automaticamente un messaggio di posta elettronica al revisore appropriato indicando il nome del documento nel corpo del messaggio.

La figura seguente illustra alcuni dei punti del messaggio di posta elettronica in cui è possibile usare le ricerche.

Messaggio di posta elettronica in cui sono evidenziate le potenziali aree di inserimento di ricerche

Dopo aver sostituito le aree evidenziate con le ricerche, l'aspetto del messaggio è ora simile al seguente.

Messaggio di posta elettronica con ricerche

Si noti come vengono visualizzate le voci della ricerca nel corpo del messaggio. Una volta definita, la ricerca viene visualizzata nel formato [%Origine dati:Nome campo%] nel punto in cui è stata inserita. Se quindi è stata definita una ricerca in cui l'origine dati è Documenti condivisi e il campo da cui si vuole recuperare il valore è Nome revisore, la voce della ricerca sarà simile a [%Documenti condivisi:Nome revisore%].

Nota : La voce della ricerca visualizza le parentesi quadre [ ] e l'icona percentuale % nelle righe A:, Cc: e Oggetto del messaggio di posta elettronica.

Quando viene caricato un documento nella raccolta Documenti condivisi, il revisore riceverà un messaggio di posta elettronica automatizzato che include il nome del documento caricato. Durante l'esecuzione del flusso di lavoro, le ricerche recuperano i dati delle diverse origini dati e tali dati vengono visualizzati nel messaggio.

Messaggio di posta elettronica in cui sono evidenziate le potenziali aree di inserimento di ricerche

Inizio pagina

Utilità degli ID

Gli elenchi o le raccolte di SharePoint sono simili a tabelle composte da righe e colonne.

Per consentire a una ricerca del flusso di lavoro di recuperare un valore specifico da un elenco, è necessario specificare il campo, ovvero la colonna, e l'elemento, ovvero la riga.

Una ricerca del flusso di lavoro può recuperare un valore da qualsiasi elenco o raccolta del sito corrente, ma deve ogni volta sapere di quale campo (colonna) e quale elemento (riga) si tratta.

Elenco attività

Se si conosce il funzionamento dei database relazionali, come Office Access 2007 o Microsoft SQL Server, può essere utile immaginare ogni elenco e raccolta di un sito come una tabella distinta di un database.

Ogni elenco e raccolta contiene una colonna ID che funge da chiave primaria. In un database la chiave primaria è un campo (o un set di campi) di una tabella che fornisce l'identificatore univoco di ogni riga.

La colonna ID soddisfa tutti i criteri di una chiave primaria valida, perché:

  • Identifica in modo univoco ogni riga.

  • Non è mai vuota o Null.

  • Non cambia mai.

È possibile visualizzare la colonna ID aggiungendola a qualsiasi visualizzazione di un elenco o di una raccolta.

Colonna ID visualizzata in vari elenchi di SharePoint

Dal momento che l'ID è la chiave primaria di qualsiasi elenco o raccolta, risulta particolarmente utile nelle ricerche del flusso di lavoro per identificare un elemento o una riga specifica, come illustrato negli esempi più avanti.

Inizio pagina

Funzionamento di una ricerca

Come accennato nella sezione precedente, se si conosce il funzionamento dei database relazionali, può essere utile immaginare ogni elenco e raccolta di un sito come una tabella distinta di un database.

I dati in elenchi e raccolte, infatti, viene archiviati in tabelle di SQL Server. Sebbene non sia tecnicamente vero che ogni elenco o raccolta corrisponde a una tabella distinta del database, questo modello mentale è utile quando si tratta di ricerche del flusso di lavoro.

Se si conosce il funzionamento dei database relazionali, la definizione di una ricerca è molto simile a quella di una query su un database. Ad esempio, si supponga di avere la ricerca seguente.

Ricerca di esempio

Il significato di questa ricerca è "Nell'elenco Attività seleziona il valore del campo Stato in cui l'ID dell'attività corrisponde all'ID archiviato nella variabile ID elemento attività per questa istanza del flusso di lavoro".

È possibile leggere la ricerca precedente come la query SQL seguente. Nelle query SQL si usa la parola chiave SELECT per recuperare dati di una tabella specificata o, in questo caso, di un elenco o di una raccolta specifica.

Esempio 1: Analogie tra una ricerca e una query SQL

OPPURE

Esempio 2: Analogie tra una ricerca e una query SQL

Inizio pagina

Cercare un valore nell'elemento corrente

Il tipo di ricerca più semplice è quello in cui si cerca il valore di un campo nell'elemento corrente.

Ricerca dell'elemento corrente

Il significato di questa ricerca è "Nell'elemento corrente seleziona il valore del campo Nome". Si tratta di una ricerca facile da eseguire perché è necessario specificare solo il campo (colonna). L'elemento (riga) corrisponde all'elemento corrente. In altre parole, la scelta è limitata a una sola riga. Per questo motivo, questo tipo di ricerca viene spesso definita ricerca semplice.

Una ricerca nell'elemento corrente recupera il valore della colonna specificata

Inizio pagina

Cercare un valore nei dati del flusso di lavoro

Come accennato nella sezione precedente, una ricerca relativa a un valore nell'elemento corrente è sempre una ricerca semplice perché la riga corrisponde all'elemento corrente ed è necessario specificare solo la colonna (o il campo).

Analogamente, anche una ricerca relativa ai dati del flusso di lavoro, ovvero ai dati archiviati nelle variabili e nei parametri di avvio del flusso di lavoro, è una ricerca semplice perché ogni variabile può contenere un solo valore. Il valore archiviato in una variabile può variare tra un'istanza del flusso di lavoro e quella successiva e il valore può variare a un certo punto durante un flusso di lavoro, ad esempio se il flusso di lavoro usa l'azione Imposta variabile flusso di lavoro per impostare la variabile su un valore diverso. Ma la variabile contiene sempre un solo valore, di conseguenza una ricerca relativa ai dati del flusso di lavoro è sempre semplice.

Ricerca di una variabile del flusso di lavoro denominata ID elemento attività

È possibile immaginare i dati del flusso di lavoro come se risiedessero in un'area dei file temporanei contenente una serie di posizioni in cui il flusso di lavoro scrive e archivia i dati. Questa serie di posizioni costituisce una singola "riga" perché ogni posizione (una variabile o un parametro) contiene un unico valore.

Le variabili di un flusso di lavoro risiedono in una pagina simile a un blocco appunti

Una volta completata questa istanza del flusso di lavoro, i valori scritti nell'area dei file temporanei vengono cancellati e l'istanza del flusso di lavoro successiva memorizza nella cache i propri valori.

Inizio pagina

Cercare un valore in un elenco o una raccolta specificando un campo e un valore come criteri di filtro

Quando si vuole cercare un valore in un elemento applicando un criterio di filtro all'elenco in cui si trova l'elemento corrente o a un altro elenco, la finestra di dialogo di ricerca viene espansa.

Ricerca di un valore in un altro elenco

Perché si espande? La parte superiore della finestra di dialogo specifica il campo (colonna) del valore a cui si è interessati. Dal momento però che si vuole applicare un criterio di filtro, è anche necessario specificare l'elemento (riga) del valore a cui si è interessati e identificare una riga univoca selezionando un campo i cui valori possono essere usati come criteri di filtro per filtrare l'elenco fino a ottenere un'unica riga. Ad esempio, questa ricerca deve conoscere l'elemento (riga) da cui deriva il valore. La parte superiore della finestra di dialogo specifica la colonna. A questo punto, è necessaria una riga.

Stato attività evidenziato

Inizio pagina

Usare un valore statico come criterio di ricerca

Il tipo di ricerca più semplice, e in genere il meno utile, è quello in cui si immette un valore statico (noto come valore letterale) per trovare l'elemento o la riga a cui si è interessati. Questa ricerca, ad esempio, passerà all'elenco Attività e selezionerà il valore del campo Consiglio del primo elemento attività in cui il valore del campo Consiglio è uguale a "Rifiuta".

Esempio di ricerca che recupera un valore statico

Quando si fa clic su OK, viene visualizzato il messaggio seguente.

Finestra di dialogo di avviso che indica che i valori recuperati dalla ricerca non sono univoci

Che cosa significa? È possibile, come illustrato nella figura seguente, che nell'elenco Attività siano presenti più elementi con il campo Consiglio uguale a "Reject", di conseguenza verranno trovati molti elementi che soddisfano i criteri della ricerca. In questo caso la ricerca recupera semplicemente il valore del campo Consiglio relativo al primo elemento dell'elenco Attività in cui Consiglio = Rifiuta, come illustrato qui.

Elenco in cui è evidenziato il primo valore che verrà recuperato dalla ricerca

Esistono scenari specifici in cui è necessario questo tipo di ricerca, soprattutto quando si lavora con elenchi personalizzati. Per chiarire questo concetto con un esempio, si supponga di avere un elenco personalizzato che include i responsabili regionali per ogni area geografica, come illustrato di seguito.

Elenco personalizzato di responsabili regionali

Si supponga ora che il proprio team operi nell'area Nord-est e che quindi si sia interessati solo a quest'area. Si dispone di un flusso di lavoro collegato a un altro elenco (non quello dei responsabili regionali) e si vuole che il flusso di lavoro cerchi il responsabile senior dell'area Nord-est nell'elenco dei responsabili regionali. Archiviando le persone in un elenco personalizzato e impostando il flusso di lavoro perché esegua la ricerca in questi dati, il flusso di lavoro può sempre recuperare in modo dinamico i dati più recenti. Non è inoltre necessario aprire e modificare il flusso di lavoro ogni volta che viene modificato un responsabile nella propria area geografica viene sostituito. La ricerca da impostare a questo scopo è simile alla seguente.

Ricerca di un valore non univoco in un elenco personalizzato

Quando si fa clic su OK, viene visualizzato questo avviso.

Finestra di dialogo di avviso che indica che i valori recuperati dalla ricerca non sono univoci

L'avviso viene visualizzato perché è presumibile che l'elenco contenga più elementi in cui il valore dell'area geografica è Nord-est. A differenza dell'ID (definito in precedenza come chiave primaria), il valore Nord-est non è necessariamente univoco perché è possibile aggiungere all'elenco più elementi con questo valore. Dal momento, però, che si dispone dell'elenco dei responsabili regionali, è possibile ignorare questo avviso perché si sa che esiste un solo elemento in cui il valore dell'area geografica è uguale a Nord-est, di conseguenza si sa già che la ricerca è univoca.

In altre parole, il campo usato per i criteri di filtro funge da chiave per tale elenco. Quando si usa un campo ID come chiave, tali valori sono univoci per definizione. Se però si usa un altro campo come chiave, ad esempio Area geografica in questo esempio, viene visualizzato un avviso che i valori in tale campo devono essere univoci affinché il campo sia una chiave utile e identifichi un elemento univoco.

Un altro scenario comune è quello in cui si cerca un valore in un elemento specifico, descritto nella sezione successiva.

Inizio pagina

Usare una variabile del flusso di lavoro come criterio di ricerca

Il tipo di ricerca di gran lunga più comune è quello in cui il flusso di lavoro crea un elemento, ad esempio usando l'azione Raccolta dati da un utente per creare un elemento attività oppure usando l'azione Crea voce di elenco per creare un elemento in qualsiasi elenco o raccolta del sito corrente.

Quando il flusso di lavoro crea un elemento, l'ID del nuovo elemento viene archiviato in una variabile.

Azione Crea voce di elenco in Progettazione flussi di lavoro

L'ID di un elemento è un numero intero che è sempre univoco in tale elenco o raccolta. L'ID è molto simile a una chiave in una tabella di database.

Dal momento che l'ID è sempre univoco e viene archiviato in una variabile dinamica, l'ID costituisce la soluzione migliore e più comune per essere certi di usare un valore univoco per identificare con esattezza l'elemento desiderato. Si supponga, ad esempio, che l'azione Raccolta dati da un utente crei un'attività il cui ID è archiviato in una variabile denominata ID elemento attività. È possibile usare tale variabile per garantire che la ricerca sia univoca, come illustrato di seguito.

Ricerca di una variabile

Quando fa clic su OK, non verrà visualizzato l'avviso sulla verifica dell'univocità della ricerca perché si usa l'ID per trovare l'elemento (o riga) a cui si è interessati e l'ID è sempre univoco.

Ricerca della variabile ID elemento attività

Il significato di questa ricerca è "Nell'elenco Attività seleziona il valore del campo Consiglio in cui l'ID dell'attività corrisponde all'ID archiviato nella variabile per questa istanza del flusso di lavoro". In altre parole, la parte superiore della finestra di dialogo specifica la colonna, come al solito. La parte inferiore invece identifica una riga univoca. In questo esempio l'istanza del flusso di lavoro ha creato un'attività il cui ID nell'elenco Attività è 5. Dal momento che 5 è il valore archiviato nella variabile ID elemento attività, la ricerca passa al numero di riga 5 dell'elenco Attività.

Elenco attività

Inizio pagina

Suggerimenti per definire valori per ricerche univoche

Ecco alcuni suggerimenti utili quando si usano le ricerche del flusso di lavoro:

  • Per essere certi che una ricerca sia univoca, la soluzione migliore consiste nell'usare un ID voce elenco per trovare l'elemento con l'ID corrispondente. Se al flusso di lavoro corrente sono già associate variabili del tipo di dati ID voce elenco, provare a usarle nella ricerca. Per identificare le variabili del tipo di dati ID voce elenco, fare clic sul pulsante Variabili in Progettazione flussi di lavoro. Verrà visualizzato un elenco di tutte le variabili associate al flusso di lavoro corrente. Verificare le variabili di tipo ID voce elenco.

  • Se per qualche motivo non è possibile usare il campo ID o se non è possibile usare alcun campo di un elenco come chiave, provare a usare una stringa concatenata di valori di voci di elenco per rendere univoca la voce di elenco. È possibile usare l'azione Genera stringa dinamica nel flusso di lavoro per creare questa stringa e archiviarla in una variabile. È quindi possibile usare questa variabile in una ricerca per identificare una voce univoca di un elenco.

  • Quando si creano gli elenchi nel sito, è possibile creare una relazione padre-figlio o uno-a-molti tra i dati correlati in elenchi diversi usando una colonna di ricerca in un elenco in modo che punti al campo ID di un altro elenco. Si supponga, ad esempio, di avere un elenco Classi e un elenco Registrazioni e che esista una relazione uno-a-molti tra una classe e le registrazioni disponibili per tale classe. È possibile aggiungere all'elenco Registrazioni una colonna che corrisponde a una colonna di ricerca relativa all'ID della classe correlati nell'elenco Corsi. Se quindi viene eseguito un flusso di lavoro nell'elenco Registrazioni, il flusso di lavoro potrà sempre cercare i valori dall'elemento correlato nell'elenco Classi: Il significato di questa ricerca è: "Nell'elenco Classi seleziona il valore di [qualsiasi campo nell'elenco], in cui l'ID dell'elenco Classi corrisponde all'ID del campo di ricerca nell'elemento corrente". La creazione, laddove possibile, di relazioni tra elenchi (fondamentalmente di relazioni tra chiavi primarie ed esterne) basate su ID semplifica notevolmente le ricerche del flusso di lavoro. Inoltre gli ID sono la soluzione più semplice per garantire l'univocità delle ricerche.

Inizio pagina

Informazioni utili sulle ricerche

Ecco alcune informazioni utili quando si lavora con le ricerche:

  • Collegare il flusso di lavoro all'elenco che è più simile a un elenco principale e che contenga più o meno tutti i dati che è possibile usare nel flusso di lavoro. In questo modo è possibile usare nelle ricerche molti più valori dell'elemento corrente invece di creare ricerche complesse per ottenere i valori da altri elenchi.

  • Ogni volta che una ricerca non trova i dati corrispondenti, viene restituita la stringa ?????. Se ad esempio si definisce una ricerca del flusso di lavoro per selezionare il valore del campo Titolo dall'elenco Attività in cui il campo Assegnata a è uguale a "Gianni", ma non esiste alcuna attività assegnata a "Gianni", la ricerca restituirà ?????. Per risolvere questo problema, è possibile aprire la ricerca appropriata e modificare i criteri di filtro in modo che la query restituisca un elemento corrispondente.

  • Ogni volta che una ricerca rileva una variabile che non contiene dati, viene restituita la stringa ****. Per risolvere questo problema, aprire il flusso di lavoro e assicurarsi che la variabile sia impostata su un valore (o inizializzata).

  • Per cancellare il contenuto di una finestra di dialogo Definisci ricerca flusso di lavoro fare clic sul pulsante Cancella ricerca nella finestra.

Inizio pagina

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa al programma Office Insider

Queste informazioni sono risultate utili?

Grazie per i tuoi commenti e suggerimenti

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×