× Linguagem de Programação ADVPL

Perguntas Workflow - Cadastro de devolução

  • Elinton
  • Autor do Tópico
  • Visitante
  • Visitante
11 anos 5 meses atrás #14449 por Elinton
Workflow - Cadastro de devolução foi criado por Elinton
Estou precisando de um workflow que seja enviado sempre que houver uma nota fiscal de devolução de certo fornecedor. Alguém tem algo assim.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 5 meses atrás #14450 por kanaamlrr
Respondido por kanaamlrr no tópico Workflow - Cadastro de devolução
Cara, eu uso o PE MT103FIM

a rotina é basicamente isso:

O único detalhe é que eu só envio quando o produto é encaminhado para o CQ, por isso do join com a SD7.
No seu caso você trata de acordo com sua regra.
*----------------------*
User Function MT103FIM()
*----------------------*
Local cCorpo := ""
Local cSql   := ""      
Local aArea  := GetArea()

If PARAMIXB[1] == 3 .AND. PARAMIXB[2] == 1 .AND. SF1->F1_TIPO = "D"
   cSql += " SELECT D1.D1_COD, D1.D1_QUANT, D1.D1_NFORI, D1.D1_SERIORI, D7.D7_NUMERO "
   cSql += " FROM "+RetSqlName("SD1")+" D1 "
   cSql += " INNER JOIN "+RetSqlName("SD7")+" D7 "
   cSql += " ON D1.D1_DOC = D7.D7_DOC AND "
   cSql += " D1.D1_SERIE = D7.D7_SERIE AND "
   cSql += " D1.D1_COD = D7.D7_PRODUTO "
   cSql += " WHERE D1.D_E_L_E_T_ <> '*' "
   cSql += " AND D1.D1_FILIAL = '"+xFilial("SD1")+"' "
   cSql += " AND D1.D1_DOC = '"+SF1->F1_DOC+"' "
   cSql += " AND D1.D1_SERIE = '"+SF1->F1_SERIE+"' "
   cSql += " AND D7.D_E_L_E_T_ <> '*' "
   cSql += " AND D7.D7_FILIAL = '"+xFilial("SD7")+"' "
   PlsQuery(cSql,"QRY")

   While QRY->(!Eof())
      cCorpo += "<tr>"
      cCorpo += "<td width='05%' height='19'><div align='center'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'> "+cEmpAnt+" </font></div></td>"
      cCorpo += "<td width='20%'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+QRY->D1_COD+"</font></td>"
      cCorpo += "<td width='25%'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+Trans(QRY->D1_QUANT,"@ER 999,999,999")+"</font></td>"
      cCorpo += "<td width='25%'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+AllTrim(QRY->D1_NFORI)+"-"+AllTrim(QRY->D1_SERIORI)+"</font></td>"
      cCorpo += "<td width='25%'><font size='1' face='Verdana, Arial, Helvetica, sans-serif'>"+QRY->D7_NUMERO+"</font></td>"            
      cCorpo += "</tr>"	 
      QRY->(dbSkip())	   
   EndDo
   QRY->(dbCloseArea())
   If !Empty(cCorpo)
      SendMail(cCorpo)
   EndIf
EndIf
//
RestArea(aArea)
Return .T. 


/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma  ³ SendMail  ºAutor  ³Kanaãm L. R. R.    º Data ³  01/10/2012  º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc.     ³Rotina que envia e-mail apos inclusão de doc de devolução    º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso       ³ AMEND                                                       º±±   
±±ÃÄÄÄÄÄÄÄÄÄÄÏÄÄÄÂÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄű±
±±³ PROGRAMADOR  ³ DATA   ³ BOPS ³  MOTIVO DA ALTERACAO                    º±±
±±ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄű±
±±³Kanaãm L.R.R. ³01/10/12³      ³ Desenvolvimento da Rotina.			   º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
*------------------------------*
Static Function SendMail(cCorpo)    
*------------------------------*
Local cHtml     := ""
Local cHtml2    := ""
Local cServidor := GetMV("MV_RELSERV")
Local cConta    := GetMV("MV_RELACNT")
Local cPassWord := GetMV("MV_RELPSW") 
Local cContEnv  := email@provedor.com //seu e-mail de destino
Local cAssunto  := "assunto"

SA1->(dbSetOrder(1))
SD1->(dbSetOrder(1))
SF2->(dbSetOrder(1))

SA1->(dbSeek(xFilial("SA1")+SF1->F1_FORNECE))
SD1->(dbSeek(xFilial("SD1")+SF1->(F1_DOC+F1_SERIE)))
SF2->(dbSeek(xFilial("SF2")+SD1->(D1_NFORI+D1_SERIORI)))

CONNECT SMTP SERVER cServidor ACCOUNT cConta PASSWORD cPassWord Result lConectou
	
   cHtml  := "<table width='1036' border='0'>"
   cHtml  += "<tr>"
//monta seu e-mail
   cHtml  := (cHtml + cCorpo)
	
SEND MAIL From "email@provedor.com.br" To cContEnv SUBJECT cAssunto BODY cHtml RESULT lEnvio
//	
Return



espero ter ajudado.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.126 segundos
Joomla templates by a4joomla