- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Funções AdvPL
- Rertornar Soma de uma query em uma variavel
Perguntas Rertornar Soma de uma query em uma variavel
- simoes
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 51
- Obrigados Recebidos: 0
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
- simoes
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 51
- Obrigados Recebidos: 0
- kanaamlrr
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 1576
- Obrigados Recebidos: 4
8 anos 1 mês atrás #31243
por kanaamlrr
Respondido por kanaamlrr no tópico Rertornar Soma de uma query em uma variavel
Debugando ela realmente não existe?
Tá estranho isso ai!
é a variável cSoma ou a VLR_TOTAL?
Tente mudar esse trecho
por:
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.
- simoes
- Autor do Tópico
- Desconectado
- Membro Sénior
Menos
Mais
- Postagens: 51
- Obrigados Recebidos: 0
7 anos 10 meses atrás - 7 anos 10 meses atrás #31662
por simoes
Respondido por simoes no tópico Rertornar Soma de uma query em uma variavel
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.
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.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Funções AdvPL
- Rertornar Soma de uma query em uma variavel
Tempo para a criação da página:0.145 segundos