- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Duvida desenvolvimento
×
Linguagem de Programação ADVPL
Perguntas Duvida desenvolvimento
- michel.vittoria
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 40
- Obrigados Recebidos: 0
10 anos 2 meses atrás #25000
por michel.vittoria
Duvida desenvolvimento foi criado por michel.vittoria
Bom dia, estou desenvolvendo meu primeiro workflow, ja fiz o html, para envio e estou no desenvolvimento em advpl, mas meus testes não surtiram efeito ao enviar, vocês poderiam dar uma olhada e verificar o que estou fazendo de errado?
Obrigado
#include "rwmake.ch"
#include "topconn.ch"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³BRWJ100 ºAutor Michel Vittoria º Data ³ 08/12/14 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Programa para avisar sobre consumo diario por CC º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function BRWJ101()
*********************
LOCAL oProcess := Nil, nPos, dData, dDtIni, dDtFim, aRespon := {}, aResumo := {}, aProduto := {}
LOCAL cArqWFD := "wfestrutura.htm"
LOCAL cQuery := "", cDir := "", cEmail := "", cCusto := "", nx, nConta := 0, nNumMax := 200
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Abro arquivos necessarios ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
conout(" ")
conout(" Inicio para processo "+dtoc(MsDate())+" "+Time())
conout("==============================================================")
If (Type("oMainWnd") == "U")
RpcSetType(3)
RPCSetEnv("02","02","","","EST","",{"SG1"})
Endif
dData := MsDate()
//Coloca a barra no final do parametro do diretorio
///////////////////////////////////////////////////
cDir := Alltrim(GetMV("MV_WFDIR"))
If Substr(cDir,Len(cDir),1) != "\"
cDir += "\"
Endif
//Verifica se existe o arquivo de workflow
//////////////////////////////////////////
If !File(cDir+cArqWFD)
conout(">>> Nao foi encontrado o arquivo "+cDir+cArqWFD)
Return
Endif
//Envio do Resumo por Responsável
/////////////////////////////////
If !TCCanOpen(RetSqlName("SG1"))
conout("> Erro de acesso ao DATABASE: "+dtoc(MsDate())+" "+Time())
Return
Endif
////////////////////////////////////////////
//Envio //////////////////
////////////////////////////////////////////
/*cQuery := " SELECT G1_COD,G1_COMP,G1_TRT,G1_QUANT,G1_GROPC,G1_XESTAGI "
cQuery += " FROM "+RetSqlName("SG1")+" "
cQuery += " WHERE G1.D_E_L_E_T_ = '' AND G1_XESTAGI = '' "
cQuery += " AND G1_FILIAL = ' "+xFilial("SG1")+"' "
cQuery += " ORDER BY G1_COD "
cQuery := ChangeQuery(cQuery)*/
cQuery := " SELECT G1_COD,G1_COMP,G1_TRT,G1_QUANT,G1_GROPC,G1_XESTAGI "
cQuery += " FROM "+RetSqlName("SG1")+" G1 WHERE G1.D_E_L_E_T_ = '' "
cQuery += " AND G1_XESTAGI = '' "
cQuery += " AND G1_XESTAGI = '00000' AND G1_FILIAL = ' "+xFilial("SG1")+"' "
cQuery += " ORDER BY G1_COD "
cQuery := ChangeQuery(cQuery)
If (Select("MAR") <> 0)
dbSelectArea("MAR")
dbCloseArea()
Endif
TCQuery cQuery NEW ALIAS "MAR"
aResumo := {}
//Ordeno a matriz por responsavel
/////////////////////////////////
/*aResumo := aSort(aResumo,,,{ |x, y| x[1]+x[3]+x[4]<y[1]+y[3]+y[4] })
nPos := 1
While (nPos <= Len(aResumo))
//Codigo do responsavel
///////////////////////
cRespon := aResumo[nPos,1] //Codigo Responsavel
cEmail := aResumo[nPos,2] //E-mail do Responsavel */
//Monta objeto para enviar o e-mail
///////////////////////////////////
oProcess := TWFProcess():New("ITEST","> Itens fora da estrutura")
oProcess:NewTask("100001",cDir+cArqWFD)
oProcess:cSubject := "Itens fora da estrutura - "+dtoc(MsDate())
////////////////////////////////////////
////////////////////////////////////////
If Empty(cEmail)
// cEmail := "email aqui"
Endif
oProcess:cTo := cEmail '
oProcess:UserSiga := __cUserID
oProcess:oHtml:ValByName("DATA" ,dtoc(dData-1))
//oProcess:oHtml:ValByName("RESPON" ,cRespon+" - "+UsrFullName(cRespon))
//Atualizo arquivo WF com itens para envio
//////////////////////////////////////////
dbSelectArea("MAR")
nConta := 0 ; aProduto := {}
While !Eof()
aadd(oProcess:oHtml:ValByName("IT1.CODIGO") ,MAR->G1_COD)
aadd(oProcess:oHtml:ValByName("IT1.COMP") ,MAR->G1_COMP)
aadd(oProcess:oHtml:ValByName("IT1.SEQUE") ,MAR->G1_TRT)
aadd(oProcess:oHtml:ValByName("IT1.QUANT") ,MAR->G1_QUANT)
aadd(oProcess:oHtml:ValByName("IT1.GRUPO") ,MAR->G1_GROPC)
aadd(oProcess:oHtml:ValByName("IT1.ESTAG") ,MAR->G1_XESTAGI)
//nPrd := aScan(aProduto,{|x| x[1] == aResumo[nPos,4] })
nConta++
If (nConta > nNumMax)
Exit
Endif
dbSelectArea("MAR")
dbSkip()
Enddo
//Envio email
/////////////
oProcess:Start()
oProcess:Finish()
// oProcess := Nil
//Enddo
If (Select("MAR") <> 0)
dbSelectArea("MAR")
dbCloseArea()
Endif
conout(" Final do processo de aviso consumo diario/semanal/mensal "+dtoc(MsDate()))
conout("============================================================")
conout(" ")
//RpcClearEnv()
Return
Obrigado
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Duvida desenvolvimento
Tempo para a criação da página:0.080 segundos