Prezados,
Tenho algumas dúvidas e estou com dificuldade de achar material sobre o assunto. O cenário é o seguinte: Gostaria de customizar o workflow da Ordem de Venda de forma que a transição do (DocPrepare) fosse para (DocComplete) caso um valor de um campo igual x e que fosse para (MeuNó) caso um valor de campo diferente de x. Já entrei como System Administrator e criei o nó (MeuNó), as transições e as condições. Em MeuNó configurei a ação do documento como 'Aprovar'. Depois de tudo isso feito, quando entro na Ordem de Venda e clico no botão de Processar continuam as mesmas opções (Preparar, Fechar, Completar e Anular). Não deveria aparecer mais uma opção, a de Aprovar?
Enfim, como disse estou realmente tateando no escuro por não ter achado algum material sobre o assunto, toda ajuda será bem vinda.
Abraços,
Marcio
Customização de Workflow
-
- Mensagens: 23
- Registrado em: Qui Dez 01, 2011 7:59 am
-
- Mensagens: 146
- Registrado em: Seg Mar 02, 2009 5:52 pm
- Localização: Fortaleza-Ceara
Re: Customização de Workflow
Isso eh pela permissão do papel. Mas mande aprovar que o fluxo vai suspender se a condição for atendida.
-
- Mensagens: 589
- Registrado em: Ter Nov 21, 2006 7:43 am
- Localização: São Paulo
- Contato:
Re: Customização de Workflow
Olá Marcio,
As opções da lista de "Ação de Documento" ficam no código e não são configuradas no Workflow. Você está tentando fazer um workflow de aprovação?
Se sim dê uma olhada no documento: http://www.adempiere.com/How_to_Activat ... l_Workflow
Você não precisa colocar condições em todos os nós, desde que os mesmos sejam do tipo XOR. Ex:
Em DocPrepare --> DocComplete deixe a sequência = 100 e sem condição. Já em DocPrepare --> MeuNó ZZZ coloque uma sequência menor, ex: 10 e coloque a condição. Caso a condição seja atendida o workflow seguirá por este nó, caso contrário irá completar o documento. Note que a ação será feita ao completar o documento, neste caso.
Att.
As opções da lista de "Ação de Documento" ficam no código e não são configuradas no Workflow. Você está tentando fazer um workflow de aprovação?
Se sim dê uma olhada no documento: http://www.adempiere.com/How_to_Activat ... l_Workflow
Você não precisa colocar condições em todos os nós, desde que os mesmos sejam do tipo XOR. Ex:
Código: Selecionar todos
----------------- -------------------
| DocPrepare | -------- > | DocComplete |
----------------- -------------------
|
|
v
-----------------
| MeuNó ZZZ |
-----------------
Em DocPrepare --> DocComplete deixe a sequência = 100 e sem condição. Já em DocPrepare --> MeuNó ZZZ coloque uma sequência menor, ex: 10 e coloque a condição. Caso a condição seja atendida o workflow seguirá por este nó, caso contrário irá completar o documento. Note que a ação será feita ao completar o documento, neste caso.
Att.
Ricardo Alexsander Santana
http://www.kenos.com.br
http://www.kenos.com.br
-
- Mensagens: 23
- Registrado em: Qui Dez 01, 2011 7:59 am
Re: Customização de Workflow
Oi Ricardo/Edilson,
Obrigado pelas respostas.
Dei uma lida naquele documento e fiz exatamente o que estava lá, a única coisa a mais foi colocar uma condição em DocPrepare -> DocApprove que verifica se POReference=5000, ou seja, só deveria mudar para o nó de aprovação se o campo Referência do Pedido for igual a 5000. Fiz isso no workflow Process_Order que é o workflow da Ordem de Venda, depois loguei como Garden Admin e fiz uma Ordem de Venda, coloquei a Ref do Pedido=5000 e cliquei duas vezes no botão para processar, a primeira Preparar e a segunda Completar.
Agora minhas dúvidas:
1. Como tinha a condição satisfeita, depois de entrar no status preparado o Adempiere não deveria aceitar somente a ação Aprovar (e talvez a fechar)?
2. Isso está acontecendo por estar usando o Garden Admin? Não sei como limitar uma Ação de documento a um perfil.
Obs: Estou fazendo tudo isso em uma sandbox, por isso estou mudando o fluxo padrão sem dó nem piedade, estou fazendo mesmo para testar os conceitos.
Abraços,
Marcio
Obrigado pelas respostas.
Dei uma lida naquele documento e fiz exatamente o que estava lá, a única coisa a mais foi colocar uma condição em DocPrepare -> DocApprove que verifica se POReference=5000, ou seja, só deveria mudar para o nó de aprovação se o campo Referência do Pedido for igual a 5000. Fiz isso no workflow Process_Order que é o workflow da Ordem de Venda, depois loguei como Garden Admin e fiz uma Ordem de Venda, coloquei a Ref do Pedido=5000 e cliquei duas vezes no botão para processar, a primeira Preparar e a segunda Completar.
Agora minhas dúvidas:
1. Como tinha a condição satisfeita, depois de entrar no status preparado o Adempiere não deveria aceitar somente a ação Aprovar (e talvez a fechar)?
2. Isso está acontecendo por estar usando o Garden Admin? Não sei como limitar uma Ação de documento a um perfil.
Obs: Estou fazendo tudo isso em uma sandbox, por isso estou mudando o fluxo padrão sem dó nem piedade, estou fazendo mesmo para testar os conceitos.
Abraços,
Marcio
-
- Mensagens: 589
- Registrado em: Ter Nov 21, 2006 7:43 am
- Localização: São Paulo
- Contato:
Re: Customização de Workflow
marcio.rebello escreveu:1. Como tinha a condição satisfeita, depois de entrar no status preparado o Adempiere não deveria aceitar somente a ação Aprovar (e talvez a fechar)?
As ações são fixas de acordo com o campo DocStatus, não importa o que você fez no workflow.
marcio.rebello escreveu:2. Isso está acontecendo por estar usando o Garden Admin? Não sei como limitar uma Ação de documento a um perfil.
As regras vão influenciar apenas quando você tiver usando o nó de aprovação com a coluna IsApproved, pois existem limiares de aprovação por perfil, no caso de outro tipo de nó não importa o perfil.
Ricardo Alexsander Santana
http://www.kenos.com.br
http://www.kenos.com.br
-
- Mensagens: 23
- Registrado em: Qui Dez 01, 2011 7:59 am
Re: Customização de Workflow
Oi Ricardo,
Ainda estou um pouco confuso mas algo me ocorreu que ainda não havia ocorrido antes, veja se estou certo: lá nas classes do Adempiere tem a MOrder, nesta classe tem todos os eventos de DocAction (PrepareIt, ApproveIt, CompleteIt, etc). Nesta classe é onde eu devo programar para que quando o documento seja "Preparado" eu setar o DocAction como Aprovar ou Completar? Ou seja, a próxima ação disponivel é feita com programação nesta classe (tipo setDocAction(xpto))?
Se for isto, qual a solução mais elegante para não mecher direto na MOrder do Adempiere?
Abraços,
Marcio
Ainda estou um pouco confuso mas algo me ocorreu que ainda não havia ocorrido antes, veja se estou certo: lá nas classes do Adempiere tem a MOrder, nesta classe tem todos os eventos de DocAction (PrepareIt, ApproveIt, CompleteIt, etc). Nesta classe é onde eu devo programar para que quando o documento seja "Preparado" eu setar o DocAction como Aprovar ou Completar? Ou seja, a próxima ação disponivel é feita com programação nesta classe (tipo setDocAction(xpto))?
Se for isto, qual a solução mais elegante para não mecher direto na MOrder do Adempiere?
Abraços,
Marcio
-
- Mensagens: 589
- Registrado em: Ter Nov 21, 2006 7:43 am
- Localização: São Paulo
- Contato:
Re: Customização de Workflow
Olá Marcio,
Se você mudar isso, provavelmente vai funcionar da maneira que você está descrevendo, porém é uma alteração muito intrusiva, pois não envolve somente a MOrder e sim DocAction, VDocAction, etc.
Vou te explicar como configurar para o seguinte cenário:
Caso o campo POReference seja igual a 500 o pedido deve seguir para aprovação, caso contrário deve completar diretamente.
Partindo de uma instalação limpa, crie uma nova coluna na tabela C_Order = ZZZ_FoiAprovado do tipo Sim/Não, valor padrão N, tamanho 1, obrigatório e atualizável.
Adicione 1 nó do tipo User Choice no Workflow do pedido. A coluna para este nó deve ser a ZZZ_FoiAprovado. Adicione uma transação do DocPrepare para "Seu novo nó" com sequência igual a 10. Adicione uma condição para esta condição POReference=500.
Adicione uma transição "Seu novo nó" para DocComplete. Neste nó adicione uma condição ZZZ_FoiAprovado = true.
Faça um pedido novo e complete, o pedido deve ser completado normalmente.
Reative o pedido e digite no campo Referencia do Pedido = 500. Agora complete o pedido novamente, neste caso o pedido deverá ficar em "Em Progresso", volte para o menu principal do Adempiere na aba "Atividades de Fluxo de Trabalho" e o verifique o pedido está parado para aprovação. Escolha SIM e volte para o pedido, o mesmo deverá ter sido completado. Caso a escolha seja não, o pedido continuará ativo.
Att.
Se você mudar isso, provavelmente vai funcionar da maneira que você está descrevendo, porém é uma alteração muito intrusiva, pois não envolve somente a MOrder e sim DocAction, VDocAction, etc.
Vou te explicar como configurar para o seguinte cenário:
Caso o campo POReference seja igual a 500 o pedido deve seguir para aprovação, caso contrário deve completar diretamente.
Partindo de uma instalação limpa, crie uma nova coluna na tabela C_Order = ZZZ_FoiAprovado do tipo Sim/Não, valor padrão N, tamanho 1, obrigatório e atualizável.
Adicione 1 nó do tipo User Choice no Workflow do pedido. A coluna para este nó deve ser a ZZZ_FoiAprovado. Adicione uma transação do DocPrepare para "Seu novo nó" com sequência igual a 10. Adicione uma condição para esta condição POReference=500.
Adicione uma transição "Seu novo nó" para DocComplete. Neste nó adicione uma condição ZZZ_FoiAprovado = true.
Faça um pedido novo e complete, o pedido deve ser completado normalmente.
Reative o pedido e digite no campo Referencia do Pedido = 500. Agora complete o pedido novamente, neste caso o pedido deverá ficar em "Em Progresso", volte para o menu principal do Adempiere na aba "Atividades de Fluxo de Trabalho" e o verifique o pedido está parado para aprovação. Escolha SIM e volte para o pedido, o mesmo deverá ter sido completado. Caso a escolha seja não, o pedido continuará ativo.
Att.
Ricardo Alexsander Santana
http://www.kenos.com.br
http://www.kenos.com.br
-
- Mensagens: 23
- Registrado em: Qui Dez 01, 2011 7:59 am
Re: Customização de Workflow
Obrigado Ricardo! Vou seguir as instruções e dou um feedback. Valeu mesmo!
-
- Mensagens: 23
- Registrado em: Qui Dez 01, 2011 7:59 am
Re: Customização de Workflow
Oi Ricardo,
Funcionou tudo certo! Realmente eu estava com uma visão errada da funcionalidade mas agora consegui ver funcionando e isso vai abrir mais alguns horizontes aqui na customização para refletir no nosso dia a dia.
Muito obrigado pela atenção e desculpe a demora em responder.
Abs,
Marcio
Funcionou tudo certo! Realmente eu estava com uma visão errada da funcionalidade mas agora consegui ver funcionando e isso vai abrir mais alguns horizontes aqui na customização para refletir no nosso dia a dia.
Muito obrigado pela atenção e desculpe a demora em responder.
Abs,
Marcio
-
- Mensagens: 226
- Registrado em: Ter Ago 18, 2009 3:44 pm
- Localização: Fortaleza/Ceará
- Contato:
Re: Customização de Workflow
Boa noite à todos os membros da comunidade LBR.
Estava estudando a opção de workflow no sistema, e segui os ensinamentos do Márcio Rebello (aeon) e do Ricardo Santana, e realmente consegui realizar de acordo com os dados fornecidos.
Estou agora estudando um cenário da seguinte forma:
Para um pedido de compra, com valor superior a 1.000,00 para qualquer produto, deverá ser feito um fluxo de aprovação.
Segui os dados de acordo com os exemplos de Márcio e Ricardo, e resolvi incrementar colocando uma transição no (DocComplete) no Nó que eu criei, (DocApprove) e uma condição nessa transição, E/Ou, eu escolhi a opção E, em Coluna eu escolhi GrandTotal, operação >, valor 1000 e tipo de entidade User maintained.
Porém ao completar o pedido de compra ele entra no workflow, independente do valor GrandTotal.
Eu gostaria que para valores acima de 1.000,00, entra-se neste workflow de aprovação e não da forma que está sendo feito, com todos os valores, acima e abaixo do estabelecido.
Grato pela atenção.
Abraço.
Estava estudando a opção de workflow no sistema, e segui os ensinamentos do Márcio Rebello (aeon) e do Ricardo Santana, e realmente consegui realizar de acordo com os dados fornecidos.
Estou agora estudando um cenário da seguinte forma:
Para um pedido de compra, com valor superior a 1.000,00 para qualquer produto, deverá ser feito um fluxo de aprovação.
Segui os dados de acordo com os exemplos de Márcio e Ricardo, e resolvi incrementar colocando uma transição no (DocComplete) no Nó que eu criei, (DocApprove) e uma condição nessa transição, E/Ou, eu escolhi a opção E, em Coluna eu escolhi GrandTotal, operação >, valor 1000 e tipo de entidade User maintained.
Porém ao completar o pedido de compra ele entra no workflow, independente do valor GrandTotal.
Eu gostaria que para valores acima de 1.000,00, entra-se neste workflow de aprovação e não da forma que está sendo feito, com todos os valores, acima e abaixo do estabelecido.
Grato pela atenção.
Abraço.
--
Paulo Dantas O´grady Neto
Paulo Dantas O´grady Neto
Voltar para “Desenvolvimento - AD”
Quem está online
Usuários neste fórum: Nenhum usuário registrado e 1 visitante