× Linguagem de Programação ADVPL

Perguntas Erro envio Relatorio pelo Schedule - Variavel nao existe _CRDD (APLIB200.PRW)

Mais
10 anos 9 meses atrás #21550 por rtsouza777@hotmail.com
Boa tarde a todos !!!

Estou com esta mensagem de erro sendo gravada no console.log do ambiente WORKFLOW:

/*
THREAD ERROR ([2468], ___, ) 14/03/2014 11:21:01

Stack :
variable does not exist __CRDD on CHKFILE(APLIB200.PRW) 05/12/2013 14:01:39 line : 769

[build: 7.00.121227P-20130625]
[environment: WORKFLOW]
[thread: 2468]
[rpodb: SQL]
[localfiles: CTREE]
[remark: U_WFFIN001|01|0101]
[threadtype: JobThread]
Called from U_WFFIN001(WFFIN001.PRW) 14/03/2014 11:17:26 line : 38
Called from WFLAUNCHER(WF.PRW) 20/09/2013 16:57:56 line : 476

Segue fonte do relatorio, caso alguem tenha uma dica ai e ja vivenciou este problema e puder me ajudar, agradeço.


#include "rwmake.ch"
#include "TbiConn.ch"
#include "TbiCode.ch"
#Include "topconn.ch"
#Include "protheus.ch"
#Include "totvs.ch"

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ WFFIN001 ºAutor ³ Rodrigo Teixeira Data ³ Marco/2014 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Workflow de Titulos Vencidos Contas a Receber º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ DataTraffic º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/

User Function WFFIN001()

Local _cIndex, _cFiltro, _cOrdem, _lProcesso := .F.
Local _cOpcao, _cObs
Local lLiberou := .F. , cObs := "", cMotivo := ""
Local _Fl := CHR(13)
Local _nDias := 0
Local _dDias := Date() - _nDias //calcula a data para envio
Public _dData := _ConvData(DtoS(date()),1)
Public _cFilial := ""

//Tipo de Email
//If _nOPC == "1"

//Gravando Inicio do Processo do WF no Console.LOG
ConOut("WFFIN001 - Workflow de Titulos Vencidos - Contas a Receber - Inicio: "+Time())
CHKFILE("SE1",.F.,"SE1")
_cFilial := substring(cNumEmp,1,4)

// CRIAR QUERY DE LEITURA DOS DADOS
_nDias := GetMV("MV_DIASF") //parametro com o numero de dias que sera subtraido da database
_dDias := Date() - _nDias //calcula a data para envio

//Query para buscar os titulos vencidos
_cQuery := ""
_cQuery := " SELECT SE1.E1_FILIAL,SE1.E1_CLIENTE, SE1.E1_NOMCLI, SA1.A1_EMAIL, SE1.E1_LOJA, SE1.E1_NUM, SE1.E1_SERIE, SE1.E1_EMISSAO, SE1.E1_VENCREA, SE1.E1_VALOR "+_Fl
_cQuery += " FROM "+RetSqlName("SE1") + " SE1 INNER JOIN " + RetSqlName("SA1") + " SA1 ON SA1.A1_COD=SE1.E1_CLIENTE AND SA1.A1_ENVMAIL='S' AND SA1.A1_EMAIL<>'' AND SA1.D_E_L_E_T_='' AND SA1.A1_FILIAL='' "+_Fl
_cQuery += " WHERE SE1.E1_VENCREA <= " +DTOS(_dDias)+" AND (SE1.E1_TIPO= 'NF' OR SE1.E1_TIPO= 'DP') "+_Fl
_cQuery += " AND SE1.E1_BAIXA='' "+_Fl
_cQuery += " AND SE1.D_E_L_E_T_='' "+_Fl
_cQuery += " AND SE1.E1_FILIAL = '"+_cFilial+"'"
_cQuery += " ORDER BY SE1.E1_CLIENTE DESC"+_Fl

//MemoWrite("D:\QryWFTit.SQL", _cQuery)

If Select("TMP01") > 0
TMP01->(DbCloseArea())
Endif

TcQuery _cQuery NEW Alias "TMP01"

dbSelectArea("TMP01")
dbGoTop()

//Se Tem informações Envia Email
if ! TMP01->(Eof())
// EnviaEP( _cFilial, _cFornece ,_cLOJA ,_cNum, , _cChave) ,_cWF
// _cWFId := EnvWFFIN(TMP01->C7_FILIAL,TMP01->C7_FORNECE,TMP01->C7_LOJA,TMP01->C7_NUM,TMP01->(C7_FILIAL+C7_FORNECE+C7_NUM),"1")
_cWFId := EnvWFFIN(TMP01->E1_FILIAL, TMP01->E1_FILIAL+TMP01->E1_CLIENTE, "1") //Chamada da Função de Envio do Email
_lProcesso := .T.
ELSE
ConOut("Sem Titulos a Receber - "+_dData)
Endif

// Endif

If _lProcesso
ConOut(" WorkFlow WFFIN001 - Enviado: "+Time())
Else
ConOut(" WorkFlow WFFIN001 - Nao Enviado: "+Time())
EndIf

Return

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³Envia EmailºAutor ³ Rodrigo Teixeira º Data ³ Mar/2014 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ º±±
±±º ³ _cWF ' ' - Envia email para os responsaveis º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ WFFIN001 º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function EnvWFFIN( _cXFilial, _cXChave , _cXWF )

Local _cWFId := ''
Local _nTotal:= 0
lDetalhe := .F.

IF TRIM(_cXWF) == "1"

dbSelectArea("TMP01")
dbGoTop()

While ! TMP01->(EOF())

//FUNCOES PARA ENVIO DE HTML
oProcess:= TWFProcess():New( "000001", "WorkFlow de Titulos Vencidos - Contas a Receber "+_dData )
oProcess :NewTask( "Workflow de Titulos Vencidos - Contas a Receber" , "\WORKFLOW\FINWF001.htm" )
oProcess:cSubject := "Titulos Vencidos - Contas a Receber - Data de Envio: "+_dData
oProcess:NewVersion(.T.)
oHtml := oProcess:oHtml

// Hidden Fields
oHtml:ValByName( "CHAVE" , _cXChave)
oHtml:ValByName( "CFILANT" , _cXFilial)
oHtml:ValByName( "WFID" , oProcess:fProcessId)

oHtml:ValByName("Cliente",left(TMP01->E1_CLIENTE,6)+" - "+LEFT(TMP01->E1_NOMCLI,30))

//titulos
oHtml:ValByName("it1.nota" , {})
oHtml:ValByName("it1.serie" , {})
oHtml:ValByName("it1.emissao" , {})
oHtml:ValByName("it1.vencto" , {})
oHtml:ValByName("it1.total" , {})

_cLojaCli := TMP01->E1_CLIENTE+TMP01->E1_LOJA //armazena os codigos iniciais

_nTotal := 0
//enquanto for o mesmo cliente adiociona os dados
While ! TMP01->(EOF())

if _cLojaCli = TMP01->E1_CLIENTE + TMP01->E1_LOJA

aadd((oHtml:ValByName("it1.nota" )) , TMP01->E1_NUM)
aadd((oHtml:ValByName("it1.serie" )) , TMP01->E1_SERIE)
aadd((oHtml:ValByName("it1.emissao")) , _ConvData(TMP01->E1_EMISSAO,1))
aadd((oHtml:ValByName("it1.vencto")) , _ConvData(TMP01->E1_VENCREA,1))
aadd((oHtml:ValByName("it1.total" )) , TRANSFORM(TMP01->E1_VALOR ,'@R 9999,999.99'))
_nTotal += TMP01->E1_VALOR

endif

_cLojaCli := TMP01->E1_CLIENTE+TMP01->E1_LOJA
_cPara := ""
_cPara := TMP01->A1_EMAIL

dbselectarea("TMP01")
dbSkip()

if TMP01->(EOF()) .or. (AllTrim(TMP01->E1_CLIENTE)+(TMP01->E1_LOJA))<>_cLojaCli
exit
endif

EndDo

oHtml:ValByName("Total",TRANSFORM(_nTotal ,'@R 9999,999.99'))

//envia o e-mail
//_cUser := Subs(cUsuario,7,15)
//oProcess:ClientName(_cUser)
oProcess:cTo := _cPara
_Subj := "Titulos Vencidos - Contas a Receber - Data de Envio: "+_dData
oProcess:cSubject := _Subj
oProcess:Start()

dbselectarea("TMP01")
if TMP01->(EOF())
exit
endif

EndDo

//fecha a conexão
ConOut("Final do WorkFlow de Titulos Vencidos - Contas a Receber: "+Time())
oProcess:Finish() // FINALIZA O PROCESSO

// RESET ENVIRONMENT
DbCloseAll()

Endif

Return _cWFId

/********************************
Funcao para Converter Datas
*********************************
*/
Static Function _ConvData(_xData,_xTp)

Local _lData := ""

if _xTp==1
_lData := substring(_xData,7,2)+'/'+substring(_xData,5,2)+'/'+substring(_xData,1,4)
endif

Return(_lData)
//******************************


Abraços!
Rodrigo Teixeira

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #21559 por kanaamlrr
Rodrigo,
Aparentemente você esqueceu de utilizar o prepare environment no inicio do seu fonte.

Adicione ele antes da linha do chkfile()
tdn.totvs.com/pages/releaseview.action?pageId=6814708

abraço!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #21620 por rtsouza777@hotmail.com
Boa tarde Kanaãn,

Era esse o problema mesmo brother....

PREPARE ENVIRONMENT EMPRESA "01" FILIAL "01" MODULO "FAT"


valeu demais !
Abç!

Por favor Acessar ou Registrar para participar da conversa.

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