Workflow–condições de espera

by Pedro Azevedo 12. April 2015 23:13

Boas pessoal,

Surgiu uma dúvida no fórum MSDN (para variar aproveitei para fazer um post Sorriso ) que tem a ver quando se quer lançar um Fluxo de Trabalho numa determinada data. Como é uma pergunta recorrente resolvi escrever um post com estas informações, com vários casos de utilização. Para além de podermos esperar até uma determinada data ainda podemos esperar por exemplo até quando um valor mudar. Parecem iguais mas diferem em pequenos pormenores, começando que o “Tempo Limite” como o próprio nome diz vai ser sempre uma condição temporal, enquanto que o tipo “Condição de Espera” vai esperar que um determinado campo chegue a um determinado valor. Mas no fundo o “Tempo Limite” é uma condição de espera.

A primeira ressalva vem logo na criação do Fluxo de Trabalho já que com a nova opção de podermos realizar Fluxo de Trabalho síncronos e caso escolhamos esta opção não vamos ter disponível nenhuma opção de condição de espera, por isso não se esqueçam este fluxo de trabalho terá que ser assíncrono, pois ele vai mesmo ser assíncrono. Mas cometendo esse erro para verificarmos esse comportamento:

image

Como podem verificar na imagem estou a criar um fluxo de processo síncrono, vamos ver qual é o comportamento com estas configurações:

image

Como podem reparar não temos a opção de “Condição de Espera” como referi foi de propósito, para converter num processo assíncrono basta carregarmos neste botão:

image

Ao transformarmos num processo assíncrono passamos a ter as seguintes opções:

image

Agora sim podemos avançar com o nosso tutorial, adicionado um condição de espera:

image

Se selecionarmos par configurarmos a condição vamos ter as várias opções:

image

Aqui podemos escolher a própria entidade, neste caso a Oportunidade ou algumas das entidades relacionadas, para além disso podemos escolher o Processo, este Processo é o que nós vamos utilizar para realizarmos uma condição temporal.

image

Dentro do processo temos a opção “Tempo Limite” e é sobre esta propriedade que podemos colocar uma condição de espera, esta como podemos ver a seguir pode ser uma determinada data, ou passado um determinado tempo, ou podermos referenciar um campo data dentro da entidade sobre a qual estamos a realizar o Fluxo de Trabalho ou sobre uma das relacionadas, vejam a seguir as várias opções:

image

image

image

Como disse aqui entra outra das diferenças entre os dois tipos o “Tempo Limite” não permite duas condições, como vemos ele só mostra a opção Processo mesmo assim não é possível selecionar:image

A diferença entre os dois tipos realmente foram as apresentadas, porque ao nível de criação só muda mesmo a configuração da condição, onde podemos fazer comparações com todos os campos:

image

Neste caso eu quero lançar esta Oportunidade quando a Fase de Venda tenha o valor Propor. Vocês agora podem dizer-me mas esta condição eu posso emular sem um Condição de Espera é verdade se vocês configurarem um Workflow para que seja lançado aquando da mudança de um campo também funciona, mas aqui o objetivo é diferente porque eu posso aplicar estas condições de espera a qualquer momento dentro do meu Workflow, ou seja, posso ter um Workflow com muitos steps e ficar a espera que uma determinada condição de espera seja alcançada.

A seguir temos que colocar o que queremos fazer quando esta condição de espera ocorra:

image

Neste caso envio um email. O exemplo pode ser válido pois é enviado um email ao gestor de cliente quando a Data de Fecho Estimada seja alcançada e assim dizer que tem que fechar hoje a oportunidade.

 

Até a próxima.

Tags: , ,

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading

About

Muito bem casado, Pai babado e um gosto muito grande pela tecnologia.

Tenho um lema "Sharing is Learning"

Mais aqui -> http://www.psazevedo.com

Month List