Imprimi Página | Fechar janela

WORKFLOW

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=43239
Data da Impressão: sexta-feira, 19 de abril de 2024 at 04:49


Topico: WORKFLOW

Postado por: PINHEIRO67
Assunto: WORKFLOW
Data Postagem: terça-feira, 19 de maio de 2020 at 08:28

Bom dia
Estou desenvolvendo um workflow (via link) de aprovação de pedido de compra e o envio está ok. Quando aciono o botão ENVIAR o retorno aparentemente está ok também, aparece na browse (resposta enviada ao servidor).
Quando eu executo a função WFRETURN que está configurado no CFG, reparo que no console do protheus indica que a caixa está vazia.
Detalhe... eu troco "mailto:..." por WFHTTPRET.APL, isso evita erro ao clicar no botao ENVIAR do Browse.
Alguem sabe me dizer o que poderia estar de errado?



Respostas:

Postado Por: NEWMAX
Data Postagem: terça-feira, 19 de maio de 2020 at 10:51

Bom dia amigo, estou precisando desenvolver uma rotina parecida aqui onde trabalho, porem nunca fiz algo nesses moldes, estava pesquisando e os modos que encontrei não funcionam mais, que eram com a função sendmail, consegue me passar quais as funções que usam hoje em dia?

Obrigado e espero que encontre o seu erro.



Postado Por: PINHEIRO67
Data Postagem: terça-feira, 19 de maio de 2020 at 10:54

BOM DIA

Passo sim... sem problema...




Postado Por: NEWMAX
Data Postagem: terça-feira, 19 de maio de 2020 at 11:06

Agradeço muito, entre em contato comigo no e-mail informatica@newmaxindustrial.com.br ou me passa seu email que eu entro em contato contigo.

Obrigado.



Postado Por: PINHEIRO67
Data Postagem: terça-feira, 19 de maio de 2020 at 11:13

adflpj@gmail.com



Postado Por: DEUSDETE87
Data Postagem: terça-feira, 19 de maio de 2020 at 14:48

Tenho um modelo implementado para solicitação de compras. Segue o mesmo conceito, só tem que fazer as adaptações para pedido. Caso queira posso enviar.

Consultor Protheus
Deusdete Lopes
deusdetelopes@bol.com.br
(62) 99273-9500



Postado Por: PINHEIRO67
Data Postagem: terça-feira, 19 de maio de 2020 at 14:53

Boa tarde Deusdete,

gostaria sim, dessa forma, consigo ver o que pode estar de errado no processo de retorno.

Obrigado
adflpj@gmail.com




Postado Por: NEWMAX
Data Postagem: terça-feira, 19 de maio de 2020 at 16:18

Boa tarde Deusdete, se puder enviar para mim também, eu agradeço.

Obrigado
informatica@newmaxindustrial.com.br



Postado Por: DEUSDETE87
Data Postagem: terça-feira, 19 de maio de 2020 at 16:32

Sem problemas.

Acabei de enviar para vocês.


Consultor Protheus
Deusdete Lopes
deusdetelopes@bol.com.br
(62) 99273-9500



Postado Por: MAZONI
Data Postagem: quarta-feira, 20 de maio de 2020 at 09:09

Deusdete, bom dia!
Seria possível enviar para danilomazoni@hotmail.com?

Desde já agradeço.
Muito obrigado!



Postado Por: MARCOS_AH
Data Postagem: quinta-feira, 21 de maio de 2020 at 09:44

Bom dia,

Por favor, enviar para marcos_ah@hotmail.com

Obrigado

Marcos Holando
Consultor TMS



Postado Por: PINHEIRO67
Data Postagem: terça-feira, 26 de maio de 2020 at 08:59

#include "PROTHEUS.CH"
#include "TBICONN.CH"

//-------------------------------------------------------------------
/*/{Protheus.doc} wfExemplo    
Função de exemplo de utilização da classe TWFProcess.
/*/
//-------------------------------------------------------------------
User Function wfExemplo()
     Local oProcess      := Nil                                   //Objeto da classe TWFProcess.
     Local cMailId      := ""                                   //ID do processo gerado.
     Local cHostWF     := "http://localhost:81/wf"     //URL configurado no ini para WF Link.
     Local cTo           := "willian.carvalho@totvs.com.br"      //Destinatário de email.    
     Local cCc       := "willian.carvalho@totvs.com.br;" // Copia do Destinatario
     
     PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01"    
     
     //-------------------------------------------------------------------
     // "FORMULARIO"
     //-------------------------------------------------------------------      

     //-------------------------------------------------------------------
     // Instanciamos a classe TWFProcess informando o código e nome do processo.
     //-------------------------------------------------------------------
     oProcess := TWFProcess():New("000001", "Treinamento")
     oProcess:cPriority := "3"

     //-------------------------------------------------------------------
     // Criamos a tafefa principal que será respondida pelo usuário.
     //-------------------------------------------------------------------
     oProcess:NewTask("FORMULARIO", "\Workflow\WF_FORM.html")

     //-------------------------------------------------------------------
     // Atribuímos valor a um dos campos do formulário.
     //-------------------------------------------------------------------         
     oProcess:oHtml:ValByName("TEXT_TIME", Time() )
     
     oProcess:oHtml:ValByName("TEST", ‘TESTE‘ )
     
     oProcess:oHtml:ValByName("N", "N" )
     
     oProcess:oHtml:ValByName("S", "S" )
                                
     //-------------------------------------------------------------------
     // Informamos em qual diretório será gerado o formulário.
     //-------------------------------------------------------------------      
     oProcess:cTo           := "HTML"    

     //-------------------------------------------------------------------
     // Informamos qual função será executada no evento de timeout.
     //-------------------------------------------------------------------      
     oProcess:bTimeOut      := {{"u_wfTimeout()", 0, 0, 5 }}
          
    oProcess:AttachFile("C:\P1225\protheus_data\workflow\Teste.txt")       
    

     //-------------------------------------------------------------------
     // Informamos qual função será executada no evento de retorno.   
     //-------------------------------------------------------------------      
     //oProcess:bReturn      := "u_wfRetorno()"

     //-------------------------------------------------------------------
     // Iniciamos a tarefa e recuperamos o nome do arquivo gerado.   
     //-------------------------------------------------------------------
     cMailID := oProcess:Start()     

     //-------------------------------------------------------------------
     // "LINK"
     //-------------------------------------------------------------------

     //-------------------------------------------------------------------
     // Criamos o ling para o arquivo que foi gerado na tarefa anterior.
     //-------------------------------------------------------------------      
     oProcess:NewTask("LINK", "\workflow\WF_LINK.html")
     
     //-------------------------------------------------------------------
     // Atribuímos valor a um dos campos do formulário.
     //-------------------------------------------------------------------
     oProcess:oHtml:ValByName("A_LINK", cHostWF + "/messenger/emp" + cEmpAnt + "/HTML/" + cMailId + ".htm")
     
     //-------------------------------------------------------------------
     // Informamos o destinatário do email contendo o link.
     //-------------------------------------------------------------------      
     oProcess:cTo           := cTo
     oProcess:cCc           := cCc   
     
     //-------------------------------------------------------------------
     // Informamos o assunto do email.
     //-------------------------------------------------------------------      
     oProcess:cSubject     := "Workflow via link."

     //-------------------------------------------------------------------
     // Iniciamos a tarefa e enviamos o email ao destinatário.
     //-------------------------------------------------------------------      
     oProcess:Start()                                                                        
Return    

//-------------------------------------------------------------------
/*/{Protheus.doc} wfRetorno    
Função executada no retorno do processo.

/*/
//-------------------------------------------------------------------       
User Function wfRetorno( poProcess )
     Local cTime      := ""
     Local cProcesso := ""
     Local cTarefa     := ""
     Local cMailID     := ""
     Local cRet := ""

     cRet := poProcess:oHtml:RetByName("OPC")
     //-------------------------------------------------------------------
     // Recuperamos a hora do processo utilizando o método RetByName.
     //-------------------------------------------------------------------           
     cTime           := poProcess:oHtml:RetByName("TEXT_TIME")
     
     //-------------------------------------------------------------------
     // Recuperamos o identificador do email utilizando o método RetByName.
     //-------------------------------------------------------------------           
     cMailID          := poProcess:oHtml:RetByName("WFMAILID")

     //-------------------------------------------------------------------
     // Recuperamos o ID do processo através do atributo do processo.
     //-------------------------------------------------------------------           
     cProcesso      := poProcess:FProcessID

     //-------------------------------------------------------------------
     // Recuperamos o ID da tarefa através do atributo do processo.
     //-------------------------------------------------------------------      
     cTarefa          := poProcess:FTaskID

     //-------------------------------------------------------------------
     // Exibe mensagem com dados do processamento no console.
     //-------------------------------------------------------------------                  
     Conout(‘Retorno do processo gerado às ‘ + cTime + " número " + cProcesso + ‘ ‘ + poProcess:oHtml:RetByName("WFMAILID") + ‘ tarefa ‘ + cTarefa + ‘ executado com sucesso!‘)
Return Nil    

//-------------------------------------------------------------------
/*/{Protheus.doc} wfTimeout    
Função executada no timeout do processo.

/*/
//-------------------------------------------------------------------
User Function wfTimeout( poProcess )
     //-------------------------------------------------------------------
     // Exibe mensagem com dados do processamento no console.
     //-------------------------------------------------------------------              
     Conout(‘Timeout do processo‘ + poProcess:FProcessID)
Return Nil    

//-------------------------------------------------------------------
/*/{Protheus.doc} WFPE007    
Permite customizar a mensagem de processamento do WF por link.
/*/
//-------------------------------------------------------------------
User Function WFPE007()
     Local cHTML           := ""
     Local plSuccess          := ParamIXB[1]
     Local pcMessage      := ParamIXB[2]     
     Local pcProcessID      := ParamIXB[3]
     
     If ( plSuccess )
          //-------------------------------------------------------------------
          // Mensagem em formato HTML para sucesso no processamento.
          //-------------------------------------------------------------------
         cHTML += ‘Processamento executado com sucesso!‘
         cHTML += ‘

         cHTML += pcMessage
     Else       
          //-------------------------------------------------------------------
          // Mensagem em formato HTML para falha no processamento.
          //-------------------------------------------------------------------
          cHTML += ‘Falha no processamento!‘
         cHTML += ‘

         cHTML += pcMessage
     EndIf
Return cHTML















*************************************************************************
ARQUIVO WF_LINK.HTML



Workflow por Link




Clique no link para responder.






**********************************************************************
ARQUIVO WF_FORM.HTML





Workflow por Link



Processo gerado às !TEXT_TIME!


Clique aqui para responder -->








Postado Por: WANDERSONW
Data Postagem: quarta-feira, 10 de junho de 2020 at 16:45

Boa Tarde,

Voce pode enviar para wanderson.souza@vespor.com.br

Desde ja agradesço.




Postado Por: EDPAULISTA
Data Postagem: quarta-feira, 10 de junho de 2020 at 19:03

Consultor Protheus (Espec. Quality)

Boa Noite,

Poderia me enviar, por favor,

edivaldo.paulista@gmail.com

Desde já agradeço,




Imprimir Página | Fechar Janela