Questa documentazione è stata tradotta automaticamente dall'IA.
NocoBase include azioni dati comuni predefinite (come creazione, lettura, aggiornamento, eliminazione, ecc.). Quando queste azioni non sono sufficienti per esigenze di business complesse, Lei può utilizzare gli eventi di azione personalizzata all'interno di un flusso di lavoro. Associando questo evento a un pulsante "Attiva flusso di lavoro" in un blocco di pagina, un flusso di lavoro di azione personalizzata verrà attivato al clic dell'utente.
Quando crea un flusso di lavoro, selezioni "Evento Azione Personalizzata":

v.1.6.0+
Il tipo di contesto determina a quali pulsanti di blocco il flusso di lavoro può essere associato:

Quando il tipo di contesto è Singolo record o Record multipli, deve selezionare la collezione a cui associare il modello di dati:

Se ha bisogno di utilizzare i dati di associazione della riga di dati che attiva il flusso di lavoro, può selezionare qui i campi di associazione profondi:

Questi campi verranno automaticamente precaricati nel contesto del flusso di lavoro dopo l'attivazione dell'evento, rendendoli disponibili per l'uso nel flusso di lavoro.
La configurazione dei pulsanti di azione in blocchi diversi varia a seconda del tipo di contesto configurato nel flusso di lavoro.
v.1.6.0+
Nella Barra delle azioni e in altri blocchi dati, può aggiungere un pulsante "Attiva flusso di lavoro":



Dopo aver aggiunto il pulsante, associ il flusso di lavoro senza contesto creato in precedenza. Ecco un esempio che utilizza un pulsante nella Barra delle azioni:


In qualsiasi blocco dati, un pulsante "Attiva flusso di lavoro" può essere aggiunto alla barra delle azioni per un singolo record, ad esempio in moduli, righe di tabella, dettagli, ecc.:



Dopo aver aggiunto il pulsante, associ il flusso di lavoro creato in precedenza:


Successivamente, cliccando su questo pulsante si attiverà l'evento di azione personalizzata:

v.1.6.0+
Nella barra delle azioni di un blocco tabella, quando aggiunge un pulsante "Attiva flusso di lavoro", c'è un'opzione aggiuntiva per selezionare il tipo di contesto: "Nessun contesto" o "Record multipli":

Quando è selezionato "Nessun contesto", si tratta di un evento globale e può essere associato solo a flussi di lavoro senza contesto.
Quando è selezionato "Record multipli", può associare un flusso di lavoro di tipo record multipli, che può essere utilizzato per azioni in blocco dopo aver selezionato più record (attualmente supportato solo dalle tabelle). I flussi di lavoro disponibili sono limitati a quelli configurati per corrispondere alla collezione del blocco dati corrente:

Quando si clicca sul pulsante per attivare, alcune righe di dati nella tabella devono essere state selezionate; altrimenti, il flusso di lavoro non verrà attivato:

Ad esempio, abbiamo una collezione "Campioni". Per i campioni con stato "Raccolto", dobbiamo fornire un'azione "Invia per ispezione". Questa azione verificherà prima le informazioni di base del campione, quindi genererà un "Record di ispezione" e infine cambierà lo stato del campione in "Inviato". Questa serie di processi non può essere completata con semplici clic sui pulsanti di creazione, lettura, aggiornamento, eliminazione, quindi un evento di azione personalizzata può essere utilizzato per implementarla.
Per prima cosa, crei una collezione "Campioni" e una collezione "Record di ispezione", e inserisca alcuni dati di test di base nella collezione Campioni:

Quindi, crei un flusso di lavoro "Evento Azione Personalizzata". Se ha bisogno di un feedback tempestivo dal processo operativo, può scegliere la modalità sincrona (in modalità sincrona, non può utilizzare nodi asincroni come l'elaborazione manuale):

Nella configurazione del trigger, selezioni "Campioni" per la collezione:

Organizzi la logica nel processo in base ai requisiti aziendali. Ad esempio, consenta l'invio per ispezione solo quando il parametro indicatore è maggiore di 90; altrimenti, visualizzi un messaggio pertinente:

Il nodo "Messaggio di risposta" può essere utilizzato negli eventi di azione personalizzata sincroni per restituire un messaggio di prompt al client. Non può essere utilizzato in modalità asincrona.
Dopo aver configurato e abilitato il flusso di lavoro, torni all'interfaccia della tabella e aggiunga un pulsante "Attiva flusso di lavoro" nella colonna delle azioni della tabella:

Quindi, nel menu di configurazione del pulsante, scelga di associare un flusso di lavoro e apra il pop-up di configurazione:

Aggiunga il flusso di lavoro abilitato in precedenza:

Dopo aver inviato, modifichi il testo del pulsante con il nome dell'azione, come "Invia per ispezione". Il processo di configurazione è ora completo.
Per utilizzarlo, selezioni qualsiasi dato campione nella tabella e clicchi sul pulsante "Invia per ispezione" per attivare l'evento di azione personalizzata. Come da logica precedentemente organizzata, se il parametro indicatore del campione è inferiore a 90, verrà visualizzato il seguente prompt dopo il clic:

Se il parametro indicatore è maggiore di 90, il processo verrà eseguito normalmente, generando un "Record di ispezione" e modificando lo stato del campione in "Inviato":

A questo punto, un semplice evento di azione personalizzata è completo. Allo stesso modo, per le aziende con operazioni complesse come l'elaborazione degli ordini o l'invio di rapporti, gli eventi di azione personalizzata possono essere utilizzati per l'implementazione.
L'attivazione degli eventi di azione personalizzata non è limitata alle azioni dell'interfaccia utente; può anche essere attivata tramite chiamate API HTTP. In particolare, gli eventi di azione personalizzata forniscono un nuovo tipo di azione per tutte le azioni della collezione per attivare i flussi di lavoro: trigger, che può essere chiamato utilizzando l'API di azione standard di NocoBase.
Un flusso di lavoro attivato da un pulsante, come nell'esempio, può essere chiamato in questo modo:
Poiché questa azione è per un singolo record, quando la chiama su dati esistenti, deve specificare l'ID della riga di dati, sostituendo la parte <:id> nell'URL.
Se viene chiamata per un modulo (ad esempio per la creazione o l'aggiornamento), può omettere l'ID per un modulo che crea nuovi dati, ma deve passare i dati inviati come contesto di esecuzione:
Per un modulo di aggiornamento, deve passare sia l'ID della riga di dati che i dati aggiornati:
Se vengono passati sia un ID che i dati, la riga di dati corrispondente all'ID verrà caricata per prima, quindi le proprietà dall'oggetto dati passato verranno utilizzate per sovrascrivere la riga di dati originale per ottenere il contesto dati di trigger finale.
Se vengono passati dati di associazione, anch'essi verranno sovrascritti. Sia particolarmente cauto quando gestisce i dati in ingresso se è configurato il precaricamento di elementi di dati di associazione, per evitare sovrascritture inattese dei dati di associazione.
Inoltre, il parametro URL triggerWorkflows è la chiave del flusso di lavoro; più chiavi di flusso di lavoro sono separate da virgole. Questa chiave può essere ottenuta passando il mouse sul nome del flusso di lavoro nella parte superiore della tela del flusso di lavoro:

Dopo una chiamata riuscita, l'evento di azione personalizzata per la collezione samples corrispondente verrà attivato.
Poiché le chiamate esterne devono anche essere basate sull'identità dell'utente, quando si chiama tramite API HTTP, proprio come le richieste inviate dall'interfaccia normale, è necessario fornire le informazioni di autenticazione. Ciò include l'intestazione della richiesta Authorization o il parametro token (il token ottenuto al login) e l'intestazione della richiesta X-Role (il nome del ruolo corrente dell'utente).
Se ha bisogno di attivare un evento per un dato di associazione uno-a-uno (uno-a-molti non è attualmente supportato) in questa azione, può usare ! nel parametro per specificare i dati di trigger del campo di associazione:
Dopo una chiamata riuscita, l'evento di azione personalizzata per la collezione categories corrispondente verrà attivato.
Quando si attiva un evento di azione tramite una chiamata API HTTP, è necessario prestare attenzione anche allo stato abilitato del flusso di lavoro e alla corrispondenza della configurazione della collezione; altrimenti, la chiamata potrebbe non riuscire o potrebbe verificarsi un errore.