Mensalidade
Olá Pessoal, estou querendo fazer um sistema de controle de uma escolinha de futebol...eu uso Delphi7 e SQL Server 2005 (ADOquery).
Estou em dúvida de como devo proceder com as mensalidades...como seriam minhas tabelas, os relacionamentos, essas coisas...pesquisei muito antes de chegar aqui, mas só consegui achar coisas relacionadas a código, e não é isso que preciso no momento...preciso de idéias!!
Estou em dúvida de como devo proceder com as mensalidades...como seriam minhas tabelas, os relacionamentos, essas coisas...pesquisei muito antes de chegar aqui, mas só consegui achar coisas relacionadas a código, e não é isso que preciso no momento...preciso de idéias!!
Klaus
Curtidas 0
Respostas
Wesley Yamazack
15/11/2011
Olá Klaus,
Vamos ver se consigo te dar uma ajuda. Primeiramente você tem que ter os clientes/alunos(tabela). Depois em uma tabela simples(mensalidade) com as seguintes informações :
Descricao [caso você queria gerar uma série de boletas por ano, 1 de 12]
IDMensalidade [Código autoincremento]
DataVencimento
DataPagamento
ValorTotal
ValorPago
IDCliente [Código do cliente já cadastrado]
Juros
Mora
Será que isso te ajuda a esclarecer as ideias ?
Att,
Wesley Y
www.lithic.com.br
Vamos ver se consigo te dar uma ajuda. Primeiramente você tem que ter os clientes/alunos(tabela). Depois em uma tabela simples(mensalidade) com as seguintes informações :
Descricao [caso você queria gerar uma série de boletas por ano, 1 de 12]
IDMensalidade [Código autoincremento]
DataVencimento
DataPagamento
ValorTotal
ValorPago
IDCliente [Código do cliente já cadastrado]
Juros
Mora
Será que isso te ajuda a esclarecer as ideias ?
Att,
Wesley Y
www.lithic.com.br
GOSTEI 0
Klaus
15/11/2011
Sim WESLEY, ajudou bem sim, te agradeço por isso, porém, estou com uma outra dúvida...como faço pra gerar datas diferentes na data do vencimento, pq depois que eu der baixa nesse pagamento o sistema tem que colocar outra data certo?
GOSTEI 0
Wesley Yamazack
15/11/2011
olá Klaus,
Vamos lá. Recentemente até fiz isso em um cliente, só que como a forma de pagamento dele é bem diversificado eu deixei para que ele informasse as datas de vencimento, ou seja, ele vai colocar em cada parcela a data de vencimento.
Vamos supor o seguinte , você comprou 1000 reais na loja, e quer fazer em 4 x, dividindo da um total de 250,00 pra cada parcela.
Teu sistema teria que fazer um loop gerando as 4 parcelas automaticamente, se você usa ClientDataSet terá que fazer algo mais ou menos assim :
Observe que coloquei uma função chamada incMonth, nela você acrescenta o número de meses desejados em cima de uma data, então se hoje é dia 17/11/2011, quando ele passar no loop teremos o seguinte :
Mas isso é um caso diferente do que eu usei neste meu cliente, neste caso estou partindo do principio que você terá parcelas fixas de 30dias contando da data de hoje, ok ?
Qualquer dúvida só mandar o retorno.
Um abraço.
Vamos lá. Recentemente até fiz isso em um cliente, só que como a forma de pagamento dele é bem diversificado eu deixei para que ele informasse as datas de vencimento, ou seja, ele vai colocar em cada parcela a data de vencimento.
Vamos supor o seguinte , você comprou 1000 reais na loja, e quer fazer em 4 x, dividindo da um total de 250,00 pra cada parcela.
Teu sistema teria que fazer um loop gerando as 4 parcelas automaticamente, se você usa ClientDataSet terá que fazer algo mais ou menos assim :
for i:= 1 to qtdeparcelas do begin cdsparcela.insert; cdsparcela.FieldbyName(IDVenda).asinteteger := IDVenda; cdsparcela.FieldbyName(Valor).asfloat := valor; cdsparcela.FieldbyName(DtVencimento).asdate := incMonth(Date,(qtdeparcela)); cdsparcela.post; end;
Observe que coloquei uma função chamada incMonth, nela você acrescenta o número de meses desejados em cima de uma data, então se hoje é dia 17/11/2011, quando ele passar no loop teremos o seguinte :
[1] = 17/12/2011 [2] = 17/01/2012 [3] = 17/02/2012 [4] = 17/03/2012
Mas isso é um caso diferente do que eu usei neste meu cliente, neste caso estou partindo do principio que você terá parcelas fixas de 30dias contando da data de hoje, ok ?
Qualquer dúvida só mandar o retorno.
Um abraço.
GOSTEI 0
Klaus
15/11/2011
WESLEY, obrigado novamente por responder minha solicitação...
O que eu preciso é mais simples do que vc tá tentando me explicar...vou tentar dizer melhor o que eu preciso...
Estou fazendo um sistema pra controlar uma escolinha de futebol, coisa muito simples, cadastro de alunos e controle de mensalidades...
vc tinha me passado isso antes?
Descricao [caso você queria gerar uma série de boletas por ano, 1 de 12]
IDMensalidade [Código autoincremento]
DataVencimento
DataPagamento
ValorTotal
ValorPago
IDCliente [Código do cliente já cadastrado]
Juros
Mora
isso me tatisfaz, creio que só vou precisar dessa tabela que vc me passou dos seguintes campos:
IDMensalidade [Código autoincremento]
DataVencimento
DataPagamento
ValorPago
IDCliente [Código do cliente já cadastrado]
contudo, o que está me matando é que não sei como vou controlar esse campo DataPagamento, visto que cada mês terá uma data diferente.
**O que eu preciso realmente é de uma forma de controlar a mensalidade, seja ela da maneira que for...
O que eu preciso é mais simples do que vc tá tentando me explicar...vou tentar dizer melhor o que eu preciso...
Estou fazendo um sistema pra controlar uma escolinha de futebol, coisa muito simples, cadastro de alunos e controle de mensalidades...
vc tinha me passado isso antes?
Descricao [caso você queria gerar uma série de boletas por ano, 1 de 12]
IDMensalidade [Código autoincremento]
DataVencimento
DataPagamento
ValorTotal
ValorPago
IDCliente [Código do cliente já cadastrado]
Juros
Mora
isso me tatisfaz, creio que só vou precisar dessa tabela que vc me passou dos seguintes campos:
IDMensalidade [Código autoincremento]
DataVencimento
DataPagamento
ValorPago
IDCliente [Código do cliente já cadastrado]
contudo, o que está me matando é que não sei como vou controlar esse campo DataPagamento, visto que cada mês terá uma data diferente.
**O que eu preciso realmente é de uma forma de controlar a mensalidade, seja ela da maneira que for...
GOSTEI 0
Wesley Yamazack
15/11/2011
olá Klaus, vamos lá.
Inicialmente você irá precisar de uma tela para gerar as parcelas, quantas são ? Seriam 12 ?
Por exemplo, você terá 12 datas de vencimentos
Desta forma você terá para um determinado aluno 12 registro, com as datas de pagamento em branco, o que você tem que fazer é, criar uma outra tela para dar baixar, ou seja, preencher a data de pagamento apenas.
Para você saber quem pagou ou não pagou você saberá se a data de pagamento estiver em branco, ou seja :
Com isso você terá todos os alunos que te devem no mes de janeiro, sacou ?
Qualquer coisa posta que damos um jeito, um abraço.
Att,
Wesley Y
wyamazack@lithic.com.br
Inicialmente você irá precisar de uma tela para gerar as parcelas, quantas são ? Seriam 12 ?
Por exemplo, você terá 12 datas de vencimentos
01.01.2012 01.02.2012 01.03.2012 . . . 01.10.2012 01.11.2012 01.12.2012
Desta forma você terá para um determinado aluno 12 registro, com as datas de pagamento em branco, o que você tem que fazer é, criar uma outra tela para dar baixar, ou seja, preencher a data de pagamento apenas.
Para você saber quem pagou ou não pagou você saberá se a data de pagamento estiver em branco, ou seja :
SELECT * FROM MENSALIDADE WHERE DATAPAGAMENTO IS NULL AND DATAVENCIMENTO >= 01/01/2011 AND DATAVENCIMENTO <= 31/01/2011
Com isso você terá todos os alunos que te devem no mes de janeiro, sacou ?
Qualquer coisa posta que damos um jeito, um abraço.
Att,
Wesley Y
wyamazack@lithic.com.br
GOSTEI 0
Wesley Yamazack
15/11/2011
Olá Klaus, gostaria de saber como ficou o teu problema, conseguiu resolver?
Um abraço.
Um abraço.
GOSTEI 0
Klaus
15/11/2011
pow WESLEY, desculpa por não ter te respondido antes cara...muito obrigado pela ajuda, consegui resolver o meu problema com as dicas q vc me deu aqui...
Abraço!!
Abraço!!
GOSTEI 0