×
Linguagem de Programação ADVPL
Perguntas Workflow via link
- rrabaldelli
- Autor do Tópico
- Desconectado
- Membro Iniciado
-
Menos
Mais
- Postagens: 6
- Obrigados Recebidos: 0
8 anos 1 semana atrás #31789
por rrabaldelli
Workflow via link foi criado por rrabaldelli
Bom dia Pessoal.
Configurei e desenvolvi um Workflow para aprovação de pedidos de compras. Inicialmente fiz o sistema enviar um email em formato HTML e o aprovador clicava em Sim ou Não. Funcionou perfeitamente. Porém aqui na empresa utilizamos um programa para emails no celular e esse programa não retorna a resposta corretamente para o sistema ler e executar o retorno.
Portanto alterei a forma do Workflow para funcionar via link.
O sistema envia o link, eu abro clico na opção desejada, o browser aparece que a resposta foi enviada para o servidor, porém o sistema não executa a rotina de retorno.
Analisei o console do appserver e quando respondo via link aparece lá que o servidor recebeu a resposta, mas a rotina de retorno não é executada.
Alguém tem alguma ideia ou já passou por isso.
Obrigado
Configurei e desenvolvi um Workflow para aprovação de pedidos de compras. Inicialmente fiz o sistema enviar um email em formato HTML e o aprovador clicava em Sim ou Não. Funcionou perfeitamente. Porém aqui na empresa utilizamos um programa para emails no celular e esse programa não retorna a resposta corretamente para o sistema ler e executar o retorno.
Portanto alterei a forma do Workflow para funcionar via link.
O sistema envia o link, eu abro clico na opção desejada, o browser aparece que a resposta foi enviada para o servidor, porém o sistema não executa a rotina de retorno.
Analisei o console do appserver e quando respondo via link aparece lá que o servidor recebeu a resposta, mas a rotina de retorno não é executada.
Alguém tem alguma ideia ou já passou por isso.
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
-
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- rrabaldelli
- Autor do Tópico
- Desconectado
- Membro Iniciado
-
Menos
Mais
- Postagens: 6
- Obrigados Recebidos: 0
8 anos 1 semana atrás #31791
por rrabaldelli
Respondido por rrabaldelli no tópico Workflow via link
Segue código que gera o HTML e o email com Link
Obrigado
oProcess:=TWFProcess():New("000001","WORKFLOW PARA APROVACAO DE PEDIDOS")
oProcess:NewTask('Inicio',"\WORKFLOW\HTM\AprovPedido.htm")
oHtml := oProcess:oHtml
oHtml:ValByName("cFILIAL" , WCR->C7_FILIAL)
oHtml:ValByName("cNUM" , WCR->C7_NUM)
oHtml:ValByName("cNIVEL" , WCR->CR_NIVEL)
oHtml:ValByName("cEMISSAO" , DTOC(WCR->C7_EMISSAO))
oHtml:ValByName("cSOLICIT" , Alltrim(Posicione('ZZU',1,xFilial('ZZU')+WCR->C1_USER,'ZZU_NOME')))
oHtml:ValByName("cCODAPROV" , WCR->CR_USER)
oHtml:ValByName("cCODAPROV2" , WCR->CR_APROV)
oHtml:ValByName("cAPROV" , "")
oHtml:ValByName("cSTATUS" , WCR->CR_STATUS)
oHtml:ValByName("cMOEDA" , WCR->C7_MOEDA)
oHtml:ValByName("cMOTIVO" , WCR->CR_OBS)
oHtml:ValByName("it.ITEM" , {})
oHtml:ValByName("it.PRODUTO" , {})
oHtml:ValByName("it.DESCRI" , {})
oHtml:ValByName("it.UM" , {})
oHtml:ValByName("it.QUANT" , {})
oHtml:ValByName("it.VALOR" , {})
dbSelectArea("WCR")
dbGoTop()
While WCR->(!EOF())
aadd(oHtml:ValByName("it.ITEM") ,WCR->C7_ITEM )
aadd(oHtml:ValByName("it.PRODUTO") ,WCR->C7_PRODUTO )
aadd(oHtml:ValByName("it.DESCRI") ,WCR->B1_DESC )
aadd(oHtml:ValByName("it.UM") ,WCR->B1_UM )
aadd(oHtml:ValByName("it.QUANT") ,TRANSFORM(WCR->C7_QUANT,'@E 999,999.99' ))
aadd(oHtml:ValByName("it.VALOR") ,TRANSFORM(WCR->C7_TOTAL,'@E 999,999.99' ))
nTotal += WCR->C7_TOTAL
WCR->(dbSkip())
End
oHtml:ValByName("nTotal", TRANSFORM(nTotal,'@E 999,999.99' ))
oProcess:cTo := "\TEMP"
cMailID := oProcess:Start()
oProcess:NewTask('Link',"\WORKFLOW\HTM\LinkPedido.htm")
oHtml:ValByName('pedido' , cNumPed)
oHtml:ValByName('aprovador' , cNomeAP)
oHtml:ValByName('proc_link', 'http://IP:8082/wf/'+ cMailId + '.htm' )
oProcess:cTo := cEmail
oProcess:cSubject := "WORKFLOW - Aprovação de Pedido - "+cNumPed
oProcess:bReturn := "U_WFCOM02()"
oProcess:bTimeOut := {{"U_WFCOM03()", 0 , 20, 00 }}
oProcess:Start()
oProcess:Free()
oProcess:= Nil
Obrigado
oProcess:=TWFProcess():New("000001","WORKFLOW PARA APROVACAO DE PEDIDOS")
oProcess:NewTask('Inicio',"\WORKFLOW\HTM\AprovPedido.htm")
oHtml := oProcess:oHtml
oHtml:ValByName("cFILIAL" , WCR->C7_FILIAL)
oHtml:ValByName("cNUM" , WCR->C7_NUM)
oHtml:ValByName("cNIVEL" , WCR->CR_NIVEL)
oHtml:ValByName("cEMISSAO" , DTOC(WCR->C7_EMISSAO))
oHtml:ValByName("cSOLICIT" , Alltrim(Posicione('ZZU',1,xFilial('ZZU')+WCR->C1_USER,'ZZU_NOME')))
oHtml:ValByName("cCODAPROV" , WCR->CR_USER)
oHtml:ValByName("cCODAPROV2" , WCR->CR_APROV)
oHtml:ValByName("cAPROV" , "")
oHtml:ValByName("cSTATUS" , WCR->CR_STATUS)
oHtml:ValByName("cMOEDA" , WCR->C7_MOEDA)
oHtml:ValByName("cMOTIVO" , WCR->CR_OBS)
oHtml:ValByName("it.ITEM" , {})
oHtml:ValByName("it.PRODUTO" , {})
oHtml:ValByName("it.DESCRI" , {})
oHtml:ValByName("it.UM" , {})
oHtml:ValByName("it.QUANT" , {})
oHtml:ValByName("it.VALOR" , {})
dbSelectArea("WCR")
dbGoTop()
While WCR->(!EOF())
aadd(oHtml:ValByName("it.ITEM") ,WCR->C7_ITEM )
aadd(oHtml:ValByName("it.PRODUTO") ,WCR->C7_PRODUTO )
aadd(oHtml:ValByName("it.DESCRI") ,WCR->B1_DESC )
aadd(oHtml:ValByName("it.UM") ,WCR->B1_UM )
aadd(oHtml:ValByName("it.QUANT") ,TRANSFORM(WCR->C7_QUANT,'@E 999,999.99' ))
aadd(oHtml:ValByName("it.VALOR") ,TRANSFORM(WCR->C7_TOTAL,'@E 999,999.99' ))
nTotal += WCR->C7_TOTAL
WCR->(dbSkip())
End
oHtml:ValByName("nTotal", TRANSFORM(nTotal,'@E 999,999.99' ))
oProcess:cTo := "\TEMP"
cMailID := oProcess:Start()
oProcess:NewTask('Link',"\WORKFLOW\HTM\LinkPedido.htm")
oHtml:ValByName('pedido' , cNumPed)
oHtml:ValByName('aprovador' , cNomeAP)
oHtml:ValByName('proc_link', 'http://IP:8082/wf/'+ cMailId + '.htm' )
oProcess:cTo := cEmail
oProcess:cSubject := "WORKFLOW - Aprovação de Pedido - "+cNumPed
oProcess:bReturn := "U_WFCOM02()"
oProcess:bTimeOut := {{"U_WFCOM03()", 0 , 20, 00 }}
oProcess:Start()
oProcess:Free()
oProcess:= Nil
Por favor Acessar ou Registrar para participar da conversa.
- kanaamlrr
- Desconectado
- Membro Platina
-
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
8 anos 1 semana atrás #31792
por kanaamlrr
Respondido por kanaamlrr no tópico Workflow via link
Cara, o erro está no bReturn.
Você está utilizando o bReturn no processo que envia o link e não no retorno do seu HTML
Tente dessa forma:
Você está utilizando o bReturn no processo que envia o link e não no retorno do seu HTML
Tente dessa forma:
oProcess:=TWFProcess():New("000001","WORKFLOW PARA APROVACAO DE PEDIDOS")
oProcess:NewTask('Inicio',"\WORKFLOW\HTM\AprovPedido.htm")
oHtml := oProcess:oHtml
oHtml:ValByName("cFILIAL" , WCR->C7_FILIAL)
oHtml:ValByName("cNUM" , WCR->C7_NUM)
oHtml:ValByName("cNIVEL" , WCR->CR_NIVEL)
oHtml:ValByName("cEMISSAO" , DTOC(WCR->C7_EMISSAO))
oHtml:ValByName("cSOLICIT" , Alltrim(Posicione('ZZU',1,xFilial('ZZU')+WCR->C1_USER,'ZZU_NOME')))
oHtml:ValByName("cCODAPROV" , WCR->CR_USER)
oHtml:ValByName("cCODAPROV2" , WCR->CR_APROV)
oHtml:ValByName("cAPROV" , "")
oHtml:ValByName("cSTATUS" , WCR->CR_STATUS)
oHtml:ValByName("cMOEDA" , WCR->C7_MOEDA)
oHtml:ValByName("cMOTIVO" , WCR->CR_OBS)
oHtml:ValByName("it.ITEM" , {})
oHtml:ValByName("it.PRODUTO" , {})
oHtml:ValByName("it.DESCRI" , {})
oHtml:ValByName("it.UM" , {})
oHtml:ValByName("it.QUANT" , {})
oHtml:ValByName("it.VALOR" , {})
dbSelectArea("WCR")
dbGoTop()
While WCR->(!EOF())
aadd(oHtml:ValByName("it.ITEM") ,WCR->C7_ITEM )
aadd(oHtml:ValByName("it.PRODUTO") ,WCR->C7_PRODUTO )
aadd(oHtml:ValByName("it.DESCRI") ,WCR->B1_DESC )
aadd(oHtml:ValByName("it.UM") ,WCR->B1_UM )
aadd(oHtml:ValByName("it.QUANT") ,TRANSFORM(WCR->C7_QUANT,'@E 999,999.99' ))
aadd(oHtml:ValByName("it.VALOR") ,TRANSFORM(WCR->C7_TOTAL,'@E 999,999.99' ))
nTotal += WCR->C7_TOTAL
WCR->(dbSkip())
End
oHtml:ValByName("nTotal", TRANSFORM(nTotal,'@E 999,999.99' ))
oProcess:cTo := "\TEMP"
oProcess:bReturn := "U_WFCOM02()"
oProcess:bTimeOut := {{"U_WFCOM03()", 0 , 20, 00 }}
cMailID := oProcess:Start()
oProcess:NewTask('Link',"\WORKFLOW\HTM\LinkPedido.htm")
oHtml:ValByName('pedido' , cNumPed)
oHtml:ValByName('aprovador' , cNomeAP)
oHtml:ValByName('proc_link', 'http://IP:8082/wf/'+ cMailId + '.htm' )
oProcess:cTo := cEmail
oProcess:cSubject := "WORKFLOW - Aprovação de Pedido - "+cNumPed
oProcess:Start()
oProcess:Free()
oProcess:= Nil
Os seguintes usuário(s) disseram Obrigado: advpl
Por favor Acessar ou Registrar para participar da conversa.
- rrabaldelli
- Autor do Tópico
- Desconectado
- Membro Iniciado
-
Menos
Mais
- Postagens: 6
- Obrigados Recebidos: 0
8 anos 1 semana atrás #31793
por rrabaldelli
Respondido por rrabaldelli no tópico Workflow via link
Perfeito.
Era isso mesmo.
Muito Obrigado
Era isso mesmo.
Muito Obrigado

Por favor Acessar ou Registrar para participar da conversa.
- LEXX
- Desconectado
- Membro Iniciado
-
Menos
Mais
- Postagens: 2
- Obrigados Recebidos: 0
Tempo para a criação da página:0.131 segundos