Perguntas Soma de valores
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
7 anos 9 meses atrás #31788
por diegoo_martins
Soma de valores foi criado por diegoo_martins
Pessoal, bom dia.
Preciso retornar o valor da variável nTotMao após a soma na query.
A query está funcionando. POrém, o retorno sempre está sendo 0.
Segue fonte.
User Function CalcMOD()
Local nTotMao := 0
Local cQuery := ""
While SZ1->(!EOF())
//Trecho da Query
cQuery := " SELECT Z1_FILIAL,Z1_ITEM, Z1_NUM, Z1_COD,Z1_DESCR,Z1_UM,Z8_NUM, Z1_QUANT, Z1_VALOR, Z1_PRCUNIT, "
cQuery += " SUM(Z1_VALOR) AS nTotMao "
cQuery += " FROM " + RetSqlName("SZ1") + " SZ1 "
cQuery += " JOIN " + RetSqlName("SZ8") + " SZ8 "
cQuery += " ON SZ1.Z1_NUM = SZ8.Z8_NUM"
cQuery += " WHERE SZ1.D_E_L_E_T_ = '' "
cQuery += " GROUP BY Z1_FILIAL,Z1_ITEM, Z1_NUM, Z1_COD,Z1_DESCR,Z1_UM,Z8_NUM, Z1_QUANT, Z1_VALOR, Z1_PRCUNIT "
cQuery += " ORDER BY Z1_NUM "
TcQuery cQuery new alias "SZ1"
DbSelectArea("SZ1")
SZ1->(DbGoTop())
If Select("SZ1") > 0
dbSelectArea("SZ1")
dbCloseArea()
EndIf
//Fim do trecho
nTotMao += Z1_VALOR
Enddo
MsgAlert( "R$: " + cValToChar(nTotMao) )
Return
Preciso retornar o valor da variável nTotMao após a soma na query.
A query está funcionando. POrém, o retorno sempre está sendo 0.
Segue fonte.
User Function CalcMOD()
Local nTotMao := 0
Local cQuery := ""
While SZ1->(!EOF())
//Trecho da Query
cQuery := " SELECT Z1_FILIAL,Z1_ITEM, Z1_NUM, Z1_COD,Z1_DESCR,Z1_UM,Z8_NUM, Z1_QUANT, Z1_VALOR, Z1_PRCUNIT, "
cQuery += " SUM(Z1_VALOR) AS nTotMao "
cQuery += " FROM " + RetSqlName("SZ1") + " SZ1 "
cQuery += " JOIN " + RetSqlName("SZ8") + " SZ8 "
cQuery += " ON SZ1.Z1_NUM = SZ8.Z8_NUM"
cQuery += " WHERE SZ1.D_E_L_E_T_ = '' "
cQuery += " GROUP BY Z1_FILIAL,Z1_ITEM, Z1_NUM, Z1_COD,Z1_DESCR,Z1_UM,Z8_NUM, Z1_QUANT, Z1_VALOR, Z1_PRCUNIT "
cQuery += " ORDER BY Z1_NUM "
TcQuery cQuery new alias "SZ1"
DbSelectArea("SZ1")
SZ1->(DbGoTop())
If Select("SZ1") > 0
dbSelectArea("SZ1")
dbCloseArea()
EndIf
//Fim do trecho
nTotMao += Z1_VALOR
Enddo
MsgAlert( "R$: " + cValToChar(nTotMao) )
Return
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
7 anos 9 meses atrás #31794
por admin
Respondido por admin no tópico Soma de valores
Código Refeito:
[/code]
[code]User Function CalcMOD()
Local nTotMao := 0
Local cQuery := ""
//Trecho da Query
cQuery := " SELECT Z1_FILIAL,Z1_ITEM, Z1_NUM, Z1_COD,Z1_DESCR,Z1_UM,Z8_NUM, Z1_QUANT, Z1_VALOR, Z1_PRCUNIT, "
cQuery += " SUM(Z1_VALOR) AS TOTAL "
cQuery += " FROM " + RetSqlName("SZ1") + " SZ1 "
cQuery += " JOIN " + RetSqlName("SZ8") + " SZ8 "
cQuery += " ON SZ1.Z1_NUM = SZ8.Z8_NUM"
cQuery += " WHERE SZ1.D_E_L_E_T_ = '' "
cQuery += " GROUP BY Z1_FILIAL,Z1_ITEM, Z1_NUM, Z1_COD,Z1_DESCR,Z1_UM,Z8_NUM, Z1_QUANT, Z1_VALOR, Z1_PRCUNIT "
cQuery += " ORDER BY Z1_NUM "
TcQuery cQuery new alias "TMP1"
DbSelectArea("TMP1")
TMP1->(DbGoTop())
nTotMao := 0
While TMP1->(!EOF())
nTotMao += TMP1->TOTAL
TMP1->(dbSkip(1))
Enddo
MsgAlert( "R$: " + cValToChar(nTotMao) )
TMP1->(dbCloseArea())
Return
Por favor Acessar ou Registrar para participar da conversa.
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
7 anos 9 meses atrás #31797
por diegoo_martins
Respondido por diegoo_martins no tópico Soma de valores
Perfeito!!
Muito Obrigado.
Muito Obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
7 anos 9 meses atrás #31799
por diegoo_martins
Respondido por diegoo_martins no tópico Soma de valores
Só mais um detalhe....
Preciso utilizar o resultado da variável nTotMAO em outra função dentro do mesmo fonte e desta forma abaixo retorna o valor 0,00.
User Function CalcTot()
Local nTotal := 0
Local nTotMao := 0
Local nTotMer := 0
nTotal := nTotMao + nTotMer
MsgAlert( "R$: " + cValToChar(nTotal) )
Return
Preciso utilizar o resultado da variável nTotMAO em outra função dentro do mesmo fonte e desta forma abaixo retorna o valor 0,00.
User Function CalcTot()
Local nTotal := 0
Local nTotMao := 0
Local nTotMer := 0
nTotal := nTotMao + nTotMer
MsgAlert( "R$: " + cValToChar(nTotal) )
Return
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
7 anos 9 meses atrás #31801
por admin
User Function CalcTot(nTotMao)
Local nTotal := 0
Local nTotMer := 0
DEFAULT nTotMao := 0
nTotal := nTotMao + nTotMer
MsgAlert( "R$: " + cValToChar(nTotal) )
Return
nTotMao := U_CalcMOD()
U_CalcTot(nTotMao)
Respondido por admin no tópico Soma de valores
User Function CalcMOD()
Local nTotMao := 0
Local cQuery := ""
//Trecho da Query
cQuery := " SELECT Z1_FILIAL,Z1_ITEM, Z1_NUM, Z1_COD,Z1_DESCR,Z1_UM,Z8_NUM, Z1_QUANT, Z1_VALOR, Z1_PRCUNIT, "
cQuery += " SUM(Z1_VALOR) AS TOTAL "
cQuery += " FROM " + RetSqlName("SZ1") + " SZ1 "
cQuery += " JOIN " + RetSqlName("SZ8") + " SZ8 "
cQuery += " ON SZ1.Z1_NUM = SZ8.Z8_NUM"
cQuery += " WHERE SZ1.D_E_L_E_T_ = '' "
cQuery += " GROUP BY Z1_FILIAL,Z1_ITEM, Z1_NUM, Z1_COD,Z1_DESCR,Z1_UM,Z8_NUM, Z1_QUANT, Z1_VALOR, Z1_PRCUNIT "
cQuery += " ORDER BY Z1_NUM "
TcQuery cQuery new alias "TMP1"
DbSelectArea("TMP1")
TMP1->(DbGoTop())
nTotMao := 0
While TMP1->(!EOF())
nTotMao += TMP1->TOTAL
TMP1->(dbSkip(1))
Enddo
MsgAlert( "R$: " + cValToChar(nTotMao) )
TMP1->(dbCloseArea())
Return nTotMao
User Function CalcTot(nTotMao)
Local nTotal := 0
Local nTotMer := 0
DEFAULT nTotMao := 0
nTotal := nTotMao + nTotMer
MsgAlert( "R$: " + cValToChar(nTotal) )
Return
nTotMao := U_CalcMOD()
U_CalcTot(nTotMao)
Por favor Acessar ou Registrar para participar da conversa.
- diegoo_martins
- Autor do Tópico
- Desconectado
- Membro Dourado
Menos
Mais
- Postagens: 175
- Obrigados Recebidos: 0
7 anos 9 meses atrás #31805
por diegoo_martins
Respondido por diegoo_martins no tópico Soma de valores
Desculpa a demora na resposta..Coloquei desta forma e deu erro
User Function CalcTot(nTotMao,nTotMer)
Local nTotal := 0
Local nTotMer := 0
DEFAULT nTotMao := 0
DEFAULT nTotMer := 0
nTotal := (nTotMao + nTotMer) // LINHA COM ERRO
MsgAlert( "R$: " + cValToChar(nTotal) )
Return
=> type mismatch on + on U_CALCTOT(HWORCA.PRW) 15/02/2017 11:59:20 line : 377
User Function CalcTot(nTotMao,nTotMer)
Local nTotal := 0
Local nTotMer := 0
DEFAULT nTotMao := 0
DEFAULT nTotMer := 0
nTotal := (nTotMao + nTotMer) // LINHA COM ERRO
MsgAlert( "R$: " + cValToChar(nTotal) )
Return
=> type mismatch on + on U_CALCTOT(HWORCA.PRW) 15/02/2017 11:59:20 line : 377
Por favor Acessar ou Registrar para participar da conversa.
Tempo para a criação da página:0.127 segundos