Contar serviços no mês e liberar no próximo...

27/12/2005

Salve galera....

Meu problema é:
Tenho que liberar para um determinado cliente uma quantidade de itens por mês, por exemplo: O cliente pode pegar sem pagar nada na minha barraquinha de pipocas todos os meses até 2 pipocas sem pagar nada, mais quando chegar no mês seguinte, essa contagem deve ser zerada, para que ele possa pegar novamente mais 2 pipocas. Estou com digiculdades para resolver esse meu problema...

desde de já agradeço qq ajuda!!! :wink:


Paullsoftware

Respostas

27/12/2005

Edilcimar

em princípio o cliente vai pegar 2 pipocas, mas no mês seguinte para pegar mais 2 pipocas deve ter pago as anteriores, caso contrário vc não deveria deixar ele pegar nada, portanto basta criar um campo ´saldo´ onde vc colocaria a quantidade que ele deve


Responder Citar

27/12/2005

Martins

vc poderia tentar o seguinte, criar um arquivo de parametros, uma tabela ou um arquivo de configuração mesmo (seusistema.cfg), e guardar os parametros dentro desse arquivo, dentre esses paramentros teria [b:2a143ab930]competência[/b:2a143ab930] no caso mm/aaaa, vc poderia ao carregar seus forms ter uma instrução SQL para lhe mostrar somente os registros pertencentes a competência informada no parametro do sistema, assim digamos, vc estava trabalhando com a competência: 11/2005, fechou esse competência blz, abriu a competência: 12/2005 então grids e tudo mais não mostrariam nada do mês anterior a menos q seja necessário e informado ao sistema para mostrar, algo como (Saldo anterior, valor transportado, etc...).

A ídeia seria mais ou menos essa, qualquer coisa agente até tentar arrumar um tempinho aqui para escrever um exemplo.

Boa sorte!!!


Responder Citar

28/12/2005

Paullsoftware

em princípio o cliente vai pegar 2 pipocas, mas no mês seguinte para pegar mais 2 pipocas deve ter pago as anteriores, caso contrário vc não deveria deixar ele pegar nada, portanto basta criar um campo ´saldo´ onde vc colocaria a quantidade que ele deve


A questão não seria ele pagar as pipocas do mês anterior, é que todos os meses ele tem direito a [b:de355e0736]pegar[/b:de355e0736] duas pipocas FREE sem precisar pagar nada, sei que devo fazer um filtro para mostrar e contar os dados existentes no corrente mês o meu problema é que desconheço o código para filtrar os dados pegando o mês corrente: Tipo, pegando o primeiro dia do mês e pegando o último dia do mês posso fazer um filtro num arquivo/tabela que já possou onde ele vai me retornar a quantidade de registros existentes nela por exemplo:
TabelaPipocas
Cliente = Integer;
Data = Date;
Pessoa = TExto;
Pipocas = Integer;
sendo assim quero saber o código que me retorne o primeiro e ultimo dia do mês corrente...
por que ai eu posso fazer um filtro que me retorne todos os registros de determinado cliente naquele mês e posso contar quantas pipocas ele pegou e se o mês corrente não houver nada posso liberar para novas pipocas...


Responder Citar

02/01/2006

Paullsoftware

Valeu pela ajuda de todos, consegui resolver o meu problema... e se alguém possui ou chegar a possuir a mesma dúvida que eu ta ai o código:

[b:53cf87a368]
PROPRIEDADE SQL DO COMPONENTE TADOQUERY
[/b:53cf87a368][i:53cf87a368]
SELECT * FROM CONTA_PIPOCAS
WHERE CLIENTE=:CODCLIENTE
ORDER BY DATA DESC
[/i:53cf87a368][b:53cf87a368]
CAMPOS DA TABELA[/b:53cf87a368][i:53cf87a368]
CLIENTE,DATA,PIPOCAS,BENEFICIADO
[/i:53cf87a368][b:53cf87a368]
NO BOTÃO COLOQUEI O SEGUINTE EVENTO:
[/b:53cf87a368][i:53cf87a368]
CONTA_PIPOCAS.Close;
CONTA_PIPOCAS.SQL[1&93;:=´WHERE CLIENTE=:CODCLIENTE AND DATA BETWEEN :D1 AND :D2 ´;
CONTA_PIPOCAS.Parameters&91;0&93;.Value := vCodCliente;
CONTA_PIPOCAS.Parameters&91;1&93;.Value := FormatDateTime(´dd/mm/yyyy´,StartOfTheMonth(Now));//Retorno o primeiro dia do mês corrente
CONTA_PIPOCAS.Parameters[2&93;.Value := FormatDateTime(´dd/mm/yyyy´,EndOfTheMonth(Now));//retorno o último dia do mês corrente
CONTA_PIPOCAS.Open;
//ContaPipocasMes = variavel do tipo inteiro
ContaPipocasMes := CONTA_PIPOCAS.RecordCount;//AQUI ME RETORNA O TOTAL DE REGISTRO EXISTENTES QUE É IGUAL A QUANTIDADE DE PIPOCAS QUE ELE PEGOU ENTRE O PRIMEIRO E ÚLTIMO DIA DO MÊS
[/i:53cf87a368]

valeu mais uma vez pela força galera...


Responder Citar

02/01/2006

Okama

TABELA PIPOCA

cliente qtde produto     data
======= ==== =========== ==========
01       8   DOCES       20/12/2005
01       4   PIPOCA      01/01/2006
01       3   PAÇOCA      15/01/2006
01       5   BALA        04/02/2006


//Total Retirado no mês
Select Sum(qtde) as Qtde from Pipoca where month(data) = 1 and year(data) = 2006;

Result:
Qtde 
==== 
7


//Diferenciando Produtos
Select Sum(qtde) as Qtde, Produto from Pipoca where month(data) = 1 and year(data) = 2006 group by produto

Result:
Qtde Produto
==== =======
4    PIPOCA
3    PAÇOCA



Responder Citar