# Utilizando um formulário com fluxo de etapas (Workflow)

O formulário com etapas, possui todas as características de um formulário simples. A diferença é que esse formulário possui a característica de possuir etapas que podem ser aprovadas ou reprovadas por um ou mais usuários.

Esses formulários são úteis para controlar processos que evolvem muitas etapas e/ou muitas pessoas. Ajuda no controle, no acompanhamento, e ajuda a garantir que todas ações que estão envolvidas nesse processo sejam cumpridas.

### Utilizando o formulário

A utilização de um formulário com etapas é idêntica a [utilização de um formulário simples](http://wiki.agilityflow.io/books/manual-do-usu%C3%A1rio/page/utilizando-um-formul%C3%A1rio "Utilizando um formulário"). Uma pequena diferença, é no cadastro inicial. Essa fase, funciona como a primeira etapa de um fluxo e não possui o botão salvar. O botão para guardar as informações do primeiro cadastro, chama "salvar e prosseguir". Ele não só salva as informações como em um formulário simples, mas envia o formulário para a próxima etapa.

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/scaled-840-0/image-1551284997561.png)

Outra diferença é na listagem dos registros de um formulário. Além do campos mostrados em colunas, como no formulário simples, é possível verificar a etapa em que um registro se encontra, quais são as próximas (e seus aprovadores) e a quem está atribuído o registro no momento:

[![visao_etapas.gif](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/visao_etapas.gif)](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/visao_etapas.gif)

Em um formulário com etapas, existem outras ações que não estão disponíveis em um formulário simples:

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/scaled-840-0/image-1551285016852.png)

### Ações do fluxo

#### Aprovar

A aprovação de uma etapa, consiste em mover o registro para a próxima etapa. Caso o usuário esteja na última etapa do fluxo e fizer a aprovação, o fluxo se encerra e o registro não pode ser mais alterado. Ao abrir um registro com o fluxo encerrado, os campos estarão desativados para edição e haverá um aviso de quando o fluxo foi encerrado.

<p class="callout success">É possível excluir um registro com fluxo aprovado, mas não é possível modificá-lo.</p>

Somente poderão aprovar uma etapa, os usuários definidos na construção do formulário. Há também casos onde o usuário de uma etapa pode escolher o próximo aprovador, mas essa possibilidade também é definida na construção do formulário.

Caso o usuário que aprovou o registro na etapa atual, precise definir o aprovador, esse registro continuará pendente para ele, até que ele entre no registro e defina o aprovador.

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/scaled-840-0/image-1551294349497.png)

Outra possibilidade, é quando o usuário foi escolhido como aprovador, ele poderá recusar a definição como aprovador. Nesse caso, basta clicar em "troca de responsabilidade".

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/scaled-840-0/image-1551317083321.png)

Quando isso acontece, o usuário que selecionou o aprovador, recebe uma notificação e precisa definir novamente o aprovador da etapa.

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/scaled-840-0/image-1551317167608.png)

Caso o usuário aceite em ser o aprovador, não é necessário nenhuma ação. Basta aprovar (retornar ou reprovar) o registro normalmente.

#### Retornar etapa

Caso haja algum problema com os dados do registro em uma determinada etapa, é possível que o aprovador responsável devolva o registro para uma etapa anterior. Ao selecionar essa ação, o aprovador precisa justificar o retorno com um texto, e selecionar a qual etapa do fluxo ele deseja retornar esse registro.

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/scaled-840-0/image-1551285989039.png)

O usuário responsável pela etapa ao qual o registro foi enviado, recebe uma notificação. Ao abrir o registro, é possível visualizar a justificativa escrita pelo aprovador, que justifica o retorno à essa etapa.

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/scaled-840-0/image-1551286009144.png)

Ao retornar um registro, as modificações possivelmente feitas, não serão salvas. Caso seja necessário fazer alguma alteração no registro, é necessário salvar o registro antes de retorná-lo.

#### Reprovar

A reprovação é uma ação mais crítica que o [retorno](#h_690200398111551286064797). Isso por que, ao reprovar um registro, não é mais possível fazer qualquer alteração, nem mesmo reiniciar o fluxo. Ao abrir um registro reprovado, é apresentado o usuário responsável pela reprovação e a justificativa.

<p class="callout success">É possível excluir um registro com fluxo reprovado, mas não é possível modificá-lo.</p>

Ao reprovar um registro, as modificações possivelmente feitas, não serão salvas. Caso seja necessário fazer alguma alteração no registro, é necessário salvar o registro, antes de reprová-lo.

Somente poderão reprovar uma etapa, os usuários definidos na construção do formulário como aprovadores. Há também casos onde o usuário de uma etapa pode escolher o próximo aprovador, mas essa possibilidade também é definida na construção do formulário. Nesse caso, esse usuário também pode reprovar um registro.

#### Notificações

As notificações ocorrem por e-mail, pela notificação do sistema e pelo app. Elas ocorrem quando uma das ações aprovação, retorno ou reprovação) em fluxo forem realizadas, além de quando existir uma pendência. No Dashboard também é mostrado todas as pendências.

##### Aprovações

Quando um registro percorrer todo o fluxo e for aprovado na última etapa, todos os usuários que participaram do fluxo (criaram ou aprovaram etapas) são notificados.

##### Retorno de etapa

São notificados os responsáveis pela etapa ao qual o registro foi retornado.

##### Reprovação

Quando um registro for reprovado, todos os usuários que participaram do fluxo (criaram ou aprovaram etapas) são notificados.

##### Pendências

Sempre que houver uma pendência de retorno de etapa ou aprovação, os usuários responsáveis pela etapa serão notificados que um registro encontra-se pendente.

##### Aprovador

Quando o responsável por uma etapa escolhe o aprovador, esse usuário recebe uma notificação que ele é o aprovador. Esse usuário pode recusar ser o aprovador. Com isso o usuário da etapa anterior recebe uma notificação que precisa selecionar um outro aprovador.

### Histórico de aprovação

Além de verificar o indicador de etapas na listagem dos registros do fluxo, é possível ver todo o histórico desse registro no fluxo, pela aba [histórico](http://wiki.agilityflow.io/link/56#bkmrk-hist%E3%B3rico) dentro do [acompanhamento](http://wiki.agilityflow.io/books/manual-do-usu%C3%A1rio/page/acompanhamento "Acompanhamento") do registro.

### Aprovação automática

Em alguns casos, uma (ou mais) etapa(s) podem ter uma aprovação automática. Esse tipo de aprovação ocorre sempre que uma condição pré-estabelecida se fizer presente no registro. As condições podem ser relacionadas a um campo ou a um aprovador de alguma etapa. Quando essa condição acontecer, pode-se além da aprovação automática, ter o aprovador alterado.

![](http://wiki.agilityflow.io/uploads/images/gallery/2019-02-Feb/scaled-840-0/image-1551318541222.png)