× Linguagem de Programação ADVPL

Perguntas Duvida desenvolvimento

Mais
10 anos 2 meses atrás #25000 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?
#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.

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