Perguntas Rertornar Soma de uma query em uma variavel

Mais
8 anos 1 mês atrás #31239 por simoes
Ei fiz assim agora e deu "variable does not exist cSoma"

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 1 mês atrás #31240 por kanaamlrr
Em qual linha?

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 1 mês atrás #31241 por simoes
Quando ele chega nessa linha

nTot := (cSoma)->VLR_TOTAL

Por favor Acessar ou Registrar para participar da conversa.

Mais
8 anos 1 mês atrás #31243 por kanaamlrr
Debugando ela realmente não existe?
Tá estranho isso ai!
é a variável cSoma ou a VLR_TOTAL?

Tente mudar esse trecho
nTot := (cSoma)->VLR_TOTAL

por:
If !((cSoma)->(Eof()) .AND. (cSoma)->(Bof()))
    nTot := (cSoma)->VLR_TOTAL
EndIf

Por favor Acessar ou Registrar para participar da conversa.

Mais
7 anos 10 meses atrás - 7 anos 10 meses atrás #31662 por simoes
Boa tarde,

Eu fiz assim deu certo, alguns problemas estavam dando antes pela falta do: Local aArea := GetArea() e o rest ( aArea ) no final, muito obrigado pelo apoio.

#include 'protheus.ch'
#include 'rwmake.ch'
#include 'topconn.ch'

user function LimFunMes() 

Local aArea   := GetArea()
local cQry    := ""
local nLimite := GetMv("MV_LIMFUN")    
local dFim	  := M->C5_EMISSAO
local dPri	  := FirstDate(dFim)		//recebe o primeiro dia do mês
local nTot	  := 0                                                                                                                                     
local cCodCli := M->C5_CLIENTE                                                                                                                  
local cNomCli := POSICIONE("SA1",1,XFILIAL("SA1")+M->C5_CLIENTE + C5_LOJACLI,"A1_NOME")
local cFuncio := POSICIONE("SA1",1,XFILIAL("SA1")+M->C5_CLIENTE + C5_LOJACLI,"A1_FUNCION")

	if(cFuncio == 'S') 				    //se for funcionario
		
		cQry := " SELECT "
		cQry += "	SUM(F2_VALMERC) AS VLR_TOTAL"                                                                
		cQry += " FROM "
		cQry += " " +RetSQLName('SF2')+" SF2 "
		cQry += " WHERE "
		cQry += "	F2_CLIENTE = '"+ cCodCli +"' "
		cQry += "	AND F2_EMISSAO >= '"+ dToS(dPri)+"' "
		cQry += "	AND F2_EMISSAO <= '"+ dToS(dFim)+"' "
		cQry += " 	AND SF2.D_E_L_E_T_ = ' '"
		cQry := ChangeQuery(cQry)                                                                                 
       
   	   	TcQuery cQry New Alias 'QRY_AUX'		
   
	  	nTot := QRY_AUX->VLR_TOTAL				
		QRY_AUX ->(DbCloseArea())  
	   	
     	 if(nTot >= nLimite) 
				MsgAlert("Funcionario "+alltrim(cNomCli)+" atingiu limite de R$ "+cValToChar(nLimite)+" neste mês!","Aviso")
		 	else
		        MsgInfo("Funcionario "+alltrim(cNomCli)+" gastou R$ "+cValToChar(nTot)+" do limite de R$ "+cValToChar(nLimite), "Aviso")
	 	 endif
	 	 			
	endif    
 RestArea(aArea)
return ""
Ultima edição: 7 anos 10 meses atrás por simoes.

Por favor Acessar ou Registrar para participar da conversa.

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