Attendere un Evento
L'attività sospende l'esecuzione di un flusso di lavoro e attende che un utente esegua un'azione.
L'unico parametro dell'attività è L'evento può essere inviato da. Scegli un gruppo di utenti che possono eseguire questo comando.
Considera un breve esempio di utilizzo di questa attività. Dopo aver eseguito il blocco di attività, il flusso di lavoro si fermerà e attenderà che l'utente decida quale ramo seguiranno gli eventi.
Per eseguire un comando:
- Vai su Automazione > Flussi di lavoro.
- Trova e apri l'elemento creato.
- Apri la scheda Processi aziendali.
- Seleziona un comando accanto a Esegui Azione.
- Clicca sul pulsante Esegui Comandi.
Condizione
La struttura consente di indirizzare un flusso di lavoro verso rami diversi in base a condizioni preimpostate.
Sono disponibili diversi tipi di condizioni:
Campo Elemento. Il ramo dell'attività verrà eseguito se i parametri relativi ai campi dell'elemento coincidono.
Valore Variabile. Il ramo dell'attività verrà eseguito se i parametri relativi alle variabili del flusso di lavoro coincidono. Puoi utilizzare i valori di variabili e parametri del modello in questo tipo di condizione.
Misto. Imposta una condizione per diverse fonti utilizzando questo ramo di attività. Non è necessario creare rami separati per verificare ogni condizione. Puoi selezionare variabili, campi dell'elemento o costanti e specificare condizioni per essi.
Vero. Il ramo dell'attività verrà eseguito immediatamente e la condizione sarà sempre soddisfatta. Questo tipo di condizione è utile se nessuna delle altre condizioni è soddisfatta.
Codice PHP. Il codice viene indicato come condizione.
Il codice nella condizione deve restituire un'espressione logica (true
o false
). Se il codice PHP indicato restituisce il valore true
, verrà eseguito il ramo di attività sotto tale condizione. Se restituisce false
, verrà verificata la condizione successiva.
- Solo un utente con diritti amministrativi può impostare un codice PHP.
- Solo un codice PHP può essere utilizzato per questo tipo di condizione. I parametri del tipo
{=Variable:Variable2_printable}
non sono supportati.
Campi Documento Modificati. Se il flusso di lavoro si avvia automaticamente quando viene modificato, è possibile verificare le modifiche ai campi dell'elemento. Il ramo dell'attività verrà eseguito se vengono apportate modifiche a un campo.
Puoi utilizzare questo tipo di condizione solo dopo una configurazione aggiuntiva del modulo. Trova le istruzioni di seguito.
Come configurare il tipo di condizione Campi Documento Modificati (per sviluppatori)
Per utilizzare questo tipo di condizione, è necessario applicare le impostazioni sul lato modulo. Quando si avvia un flusso di lavoro, è necessario passare un array dei campi modificati utilizzando il parametro CBPDocument::PARAM_MODIFIED_DOCUMENT_FIELDS
:
CBPDocument::StartWorkflow( $arDocumentState["TEMPLATE_ID"], BizProcDocument::getDocumentComplexId($arParams["IBLOCK_TYPE_ID"], $arResult["ELEMENT_ID"]), array_merge($arBizProcParametersValues[$arDocumentState["TEMPLATE_ID"]], array( CBPDocument::PARAM_TAGRET_USER => "user_".intval($GLOBALS["USER"]->GetID()), CBPDocument::PARAM_MODIFIED_DOCUMENT_FIELDS => $modifiedFields )), $arErrorsTmp );
Inoltre, è necessario implementare il supporto per questo tipo di condizione in un documento per visualizzarlo nell'editor del flusso di lavoro:
public static function isFeatureEnabled($documentType, $feature) { return in_array($feature, array(\CBPDocumentService::FEATURE_MARK_MODIFIED_FIELDS)); }
Ascolto di un Evento Parallelo
Questa struttura consente di indirizzare un flusso di lavoro verso rami diversi a seconda di quale evento si verifica per primo. In altre parole, l'attività che si verifica prima in un ramo comporterà l'esecuzione della catena sottostante tale attività.
Per scegliere un ramo di attività in questa struttura, utilizza l'attività Attendere un Evento o Mettere in Pausa l'Esecuzione.
L'attività Mettere in Pausa l'Esecuzione consente di riprendere un flusso di lavoro a un determinato momento nel caso in cui nessun comando venga eseguito. Altrimenti, il flusso di lavoro si fermerà e attenderà l'esecuzione di un comando all'interno della struttura.
Esecuzione Parallela
Questa attività consente l'esecuzione simultanea di più rami di attività. Se uno dei rami di attività non viene eseguito nella struttura Esecuzione Parallela, il flusso di lavoro si fermerà fino alla sua esecuzione.
Impostare Stato
L'attività consente di modificare lo stato del flusso di lavoro.
Inoltre, questa attività ha l'opzione Interrompi stato corrente. Sposta immediatamente un elemento nello stato specificato senza attendere il completamento di quello precedente.
Iteratore
Questa attività enumera i valori di fonti a valori multipli. Puoi creare un ciclo di attività che verranno eseguite per ciascun valore, uno alla volta.
Seleziona una variabile a valori multipli, un campo elemento o una costante nei parametri dell'attività.
Dopo di ciò, puoi organizzare l'esecuzione di un set di attività simili per tutti i valori selezionati inseriti nel campo o nella variabile.
Ad esempio, hai una variabile con il tipo Collegamento a Dipendente, che contiene un elenco di utenti dell'account. Devi creare un'attività per ciascuno di questi utenti in sequenza. Per farlo, seleziona la variabile nei parametri dell'iteratore e aggiungi l'attività Crea incarico alla costruzione.
Per utilizzare ogni volta il valore successivo della variabile a valori multipli nel ciclo, inserisci l'elemento Valore dai Risultati Aggiuntivi dell'Iteratore.
Durante loop
Se si verifica un errore e il processo si ripete all'infinito nel ciclo, l'attività verrà eseguita 1.000 volte e verranno inviate 1.000 email dal tuo account. In questo caso, non sarà possibile interrompere l'invio.
Assicurati che la struttura Durante loop funzioni correttamente prima di utilizzarla per inviare email.
La struttura esegue le sue sottoattività finché una determinata condizione è soddisfatta. In altre parole, il ciclo funziona finché la condizione è valida (true
), altrimenti (false
) il ciclo termina.
Sono disponibili diversi tipi di condizioni:
Campo Elemento. Il ciclo continuerà a funzionare finché i parametri relativi ai campi dell'elemento coincidono.
Valore Variabile. Il ciclo continuerà a funzionare finché i parametri relativi alle variabili del flusso di lavoro coincidono. Puoi utilizzare i valori di variabili e parametri del modello in questo tipo.
Misto. Imposta una condizione per diverse fonti utilizzando questo ramo di attività. Non è necessario creare rami separati per verificare ogni condizione. Puoi selezionare variabili, campi dell'elemento o costanti e specificare condizioni per essi.
Codice PHP. Il codice viene indicato come condizione.
Se il codice PHP indicato restituisce il valore true
, il ciclo continuerà a funzionare. Se restituisce false
, il ciclo terminerà.
Vero. Il ciclo verrà sempre eseguito.