- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Workflow - Cadastro de devolução
×
Linguagem de Programação ADVPL
Perguntas Workflow - Cadastro de devolução
- Elinton
- Autor do Tópico
- 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.
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
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.
espero ter ajudado.
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Workflow - Cadastro de devolução
Tempo para a criação da página:0.126 segundos