Esperar por evento
A ação interrompe a execução do processo até que o usuário selecionar a próxima ação manualmente.
Parâmetros
O evento pode ser enviado por - quem terá que selecionar a próxima ação.
Exemplo de uso
No exemplo que segue o processo espera até quo o usuário selecionar o comando seguinte.
Na página Fluxos de trabalho no Fluxo de Atividades o funcionário acesse o elemento criado e selecione o comando na aba Processos de negócio.
Condição
A ação direciona o processo pelas ramificações dependendo da condição cumprida.
Tipo de condição - Campo de Documento
A ramificação será acionada se os parâmetros do documento coincidirem com os campos do documento.
Tipo de condição - Valor variável
A ramificação da condição verifica os parâmetros e variáveis do processo.
Tipo de condição - Verdadeiro
Quando o processo atingir a ramificação de tipo Verdadeiro, a mesma será executada em qualquer caso. Adicione tal ramificação para o caso em que nenhuma das condições seja atendida.
Tipo de condição - Código PHP
O código serve de condição.
Se o código PHP especificado retornar o valor true
, a ramificação será acionada. Se for retornado o valor false
, o processo vá para a próxima condição.
Tipo de condição - Foi alterado
Se o processo foi iniciado após a alteração do documento, é possível identificar os campos alterados. A ramificação será realizada se alguma alteração tiver sido feita no campo.
Como configurar esse tipo de ramificação (para desenvolvedores)
Para usar esse tipo de ramificação, é preciso que configurar o módulo que trabalha com o processo. No início do processo é preciso transmitir o maciço dos campos alterados através do parâmetro 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 );
Para que a nova condição apareça no editor visual do processo, é preciso adicionar a seguinte expressão no módulo:
public static function isFeatureEnabled($documentType, $feature) { return in_array($feature, array(\CBPDocumentService::FEATURE_MARK_MODIFIED_FIELDS)); }
Aguardando por um evento paralelo
A ação direciona o processo por ramificações dependendo da ação que acionar primeira.
Para que a ramificação for acionada, é necessário primeiro usar as ações Esperar por evento e Pausar execução.
A ação Pausar execução permite continuar executando o processo após um tempo determinado, se nenhum dos comandos for executado. Caso contrário, o processos de negócio para e aguarda a execução de algum comando.
Execução paralela
A ação configura a execução simultânea das ramificações da ação. Se alguma das ramificações da construção não for concluída, o processo de negócios será interrompido e aguardará sua execução.
Configurar Status
A ação transfere o processo para outro status.
Você também pode usar a opção Abortar status atual. Nesse caso o processo será transferido para o status especificado sem aguardar a conclusão do status anterior.
Iterador
A ação permite processar uma variável múltipla. Utilizando-o, você pode criar um ciclo de ações que serão executadas com o próximo valor da variável.
Nas configurações de ação, especifique a variável desejada.
Depois disso, você pode organizar facilmente a execução de várias ações do mesmo tipo com todos os valores da variável múltipla. Por exemplo, você tem uma variável do tipo Usuário, que é uma lista de funcionários. Você deseja criar uma tarefa para cada um deles sequencialmente. Especifique uma variável da lista nas configurações do Iterador e adicione a ação Tarefa ao próprio loop.
Enquanto houver loop
O loop repete-se até que a condição especificada seja cumprida.
Tipo de condição - Campo de Documento
O loop estará verificando os campos do documento.
Tipo de condição - Valor variável
O loop estará verificando os parâmetros e variáveis do processo.
Tipo de condição - Código PHP
Um código PHP serve de condição para o processo.
Tipo de condição - Verdadeiro
O loop será executado em qualquer caso.