Fórum Somar duplicatas lançadas no mes total de cada cliente #320550

04/05/2006

0

Olá amigos! Tenho um sistema, simples de contas a receber! Funciona normal, imprimo boletos para mandar para o banco com ele, tudo perfeito!
Quem usa o sistema vai lançando conta todos os dias, e no final do mes emite o boleto para cobrança!

O problema é o seguinte, preciso emitir o boleto com o total de contas de cada cliente,e não de cada conta lançada!
Agora é assim, eu lanço na table de car, e filtro por data, por ex, os registros do mes, desta tabela car, e imprimo os boletos com os dados dela. Preciso emitir apenas um boleto de cada cliente. Alguem tem ideia de como fazer isso, somar os registros e salvar em uma outra tabela, contendo apenas os totais?

Pessoal, preciso da opinião e da ajuda de vocês!

Muito obrigado pela atenção novamente!

Um forte abraço a todos!


Jorgerock

Jorgerock

Responder

Posts

04/05/2006

Mvicente

Bom dia amigo!
Vc pode fazer da seguinte maneira : Faça um select usando sum no campo que quer somar. Vc pode agrupar por cliente se quiser ou então passar o cliente como parâmetro. Ex:
Select sum(valor) from contas_receber where id_cliente = :pid_cliente
Dessa forma a instrução vai pegar todos os vencimentos de um determinado cliente e fazer a soma.
Espero ter ajudado!

Abraço

Marcelo


Responder

Gostei + 0

04/05/2006

Jorgerock

Certo, com oque eu faria para agrupar os registros por cliente?
Assim: Select sum(valor) from contas_receber where id_cliente = :pid_cliente ele ira somar apenas o registro de um cliente!
Agrupado ele aparece a soma de todos os clientes?
Valeu pela atenção!


Responder

Gostei + 0

04/05/2006

Jorgerock

Eu tentei montar a sql assim:
select sum(cardup.dpsaldo), CARDUP.CODIGODUP, CARDUP.DPCODIGOCLIENTE, CARDUP.DPNR, CARDUP.DPEMISSAO, CARDUP.DPVENCE, CARDUP.DPVALOR, CARDUP.DPTAXAJURO, CARDUP.DPPAGO, CARDUP.DPDATAPAG, CARDUP.DPPARCELA
from CARDUP where CARDUP.DPCODIGOCLIENTE = CARDUP.DPCODIGOCLIENTE group by CARDUP.DPCODIGOCLIENTE
mas dá esse erro:

select sum(cardup.dpsaldo), CARDUP.CODIGODUP, CARDUP.DPCODIGOCLIENTE, CARDUP.DPNR, CARDUP.DPEMISSAO, CARDUP.DPVENCE, CARDUP.DPVALOR, CARDUP.DPTAXAJURO, CARDUP.DPPAGO, CARDUP.DPDATAPAG, CARDUP.DPPARCELA
from CARDUP where CARDUP.DPCODIGOCLIENTE = CARDUP.DPCODIGOCLIENTE group by CARDUP.DPCODIGOCLIENTE

Na sql eu preciso da soma e do codigo do cliente pelo menos.

Assim ele soma e agrupa pelo codigo do cliente:

select sum(cardup.dpsaldo)
from CARDUP where CARDUP.DPCODIGOCLIENTE = CARDUP.DPCODIGOCLIENTE group by CARDUP.DPCODIGOCLIENTE

Preciso de uma luz!

Agradeço qualquer ajuda!


Responder

Gostei + 0

04/05/2006

Jorgerock

Eu tentei montar a sql assim:
select sum(cardup.dpsaldo), CARDUP.CODIGODUP, CARDUP.DPCODIGOCLIENTE, CARDUP.DPNR, CARDUP.DPEMISSAO, CARDUP.DPVENCE, CARDUP.DPVALOR, CARDUP.DPTAXAJURO, CARDUP.DPPAGO, CARDUP.DPDATAPAG, CARDUP.DPPARCELA
from CARDUP where CARDUP.DPCODIGOCLIENTE = CARDUP.DPCODIGOCLIENTE group by CARDUP.DPCODIGOCLIENTE
mas dá esse erro:

select sum(cardup.dpsaldo), CARDUP.CODIGODUP, CARDUP.DPCODIGOCLIENTE, CARDUP.DPNR, CARDUP.DPEMISSAO, CARDUP.DPVENCE, CARDUP.DPVALOR, CARDUP.DPTAXAJURO, CARDUP.DPPAGO, CARDUP.DPDATAPAG, CARDUP.DPPARCELA
from CARDUP where CARDUP.DPCODIGOCLIENTE = CARDUP.DPCODIGOCLIENTE group by CARDUP.DPCODIGOCLIENTE

Na sql eu preciso da soma e do codigo do cliente pelo menos.

Assim ele soma e agrupa pelo codigo do cliente:

select sum(cardup.dpsaldo)
from CARDUP where CARDUP.DPCODIGOCLIENTE = CARDUP.DPCODIGOCLIENTE group by CARDUP.DPCODIGOCLIENTE

Preciso de uma luz!

Agradeço qualquer ajuda!


Responder

Gostei + 0

04/05/2006

Mvicente

Vc pode fazer assim:
SELECT SUM(CR.VALOR), C.ID_CLIENTE FROM
CONTAS_RECEBER CR, CLIENTES C
WHERE
CR.ID_CLIENTE = C.ID_CLIENTE
GROUP BY C.ID_CLIENTE
Não sei qual o nome de seus campos e tabelas, mas é só vc substituir pelo correspondente ao seu bd...
Assim vai dar certo, ou seja, o select vai retornar pra vc o id do cliente com a somatoria do campo valor.

Qq coisa posta aqui denovo!

Abraço!

Marcelo


Responder

Gostei + 0

11/05/2006

Jorgerock

Certo, assim funciona:
SELECT SUM(cardup.dpsaldo),cliente.codigocliente FROM
cardup , CLIENTE
WHERE
cardup.dpcodigocliente = cliente.codigocliente
GROUP BY cliente.codigocliente

Ele seleciona o codigo e o total na boa. Eu não consegui puxar o nome do cliente junto, dá um erro:

SELECT SUM(cardup.dpsaldo), MAX(cardup.dpvence),cliente.codigocliente, cliente.nomecliente FROM
cardup , CLIENTE
WHERE
cardup.dpcodigocliente = cliente.codigocliente
GROUP BY cliente.codigocliente


Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause).

Preciso puxar o nome do cliente, tambem, para ficar mais facil de visualizar, pois teria que editar a data de vencimento manualmente por cliente!


Assim eu fazia meus filtros, juntando os dados das duas tabelas:

select CARDUP.CODIGODUP, CARDUP.DPCODIGOCLIENTE, CARDUP.DPNR, CARDUP.DPEMISSAO, CARDUP.DPVENCE, CARDUP.DPVALOR, CARDUP.DPTAXAJURO, CARDUP.DPPAGO,CARDUP.DPOBS, CARDUP.DPDATAPAG, CARDUP.DPSALDO, CARDUP.DPPARCELA, CLIENTE.NOMECLIENTE, CLIENTE.CODIGOCLIENTE
from CLIENTE join CARDUP on CLIENTE.CODIGOCLIENTE = CARDUP.DPCODIGOCLIENTE


Responder

Gostei + 0

11/05/2006

Jorgerock

SELECT SUM(cardup.dpsaldo) total, MAX(cardup.dpvence),cliente.nomecliente, cliente.codigocliente FROM
cardup , CLIENTE join CARDUP on CLIENTE.CODIGOCLIENTE = CARDUP.DPCODIGOCLIENTE
WHERE
cardup.dpcodigocliente = cliente.codigocliente
GROUP BY cliente.nomecliente , cliente.codigocliente

A clausula group by precisa listar tb cliente.nomecliente!

Valeu pela ajuda Marcelo!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar