Fazer parcelas com intervalo diferente
Olá é o seguinte tenho uma venda onde defino quantas vezes quer parcelar e n° de intervalo entre 1 parcela ate 2 parcela e assim por adiante... estaria tudo bem se esse intervalo fosse fixo, ou seja a cada 15 dias, ou cada 30 dias...Só que houve alterações a qual eu preciso definir quantas vezes quer com intervalo difirente
Hoje é 24/05
1 parcela será 08/06
2 parcela será 28/06
3 parcela será 28/07
Será que alguém tem ideia como poderia fazer isso?
Hoje é 24/05
1 parcela será 08/06
2 parcela será 28/06
3 parcela será 28/07
Será que alguém tem ideia como poderia fazer isso?
Tecnofine
Curtidas 0
Respostas
Ant.carlos/sp
24/05/2009
Caro colega!
Tbem tenho isso definido no meu Sistema.
O que fiz, antes de gravar as parcelas, apresentei uma tabela onde tem Vencimentos, Valores q podem serem alterados de acordo com o q o usuario deseja.
espero ter ajudado.
100+
ANT.CARLOS/SP
Tbem tenho isso definido no meu Sistema.
O que fiz, antes de gravar as parcelas, apresentei uma tabela onde tem Vencimentos, Valores q podem serem alterados de acordo com o q o usuario deseja.
espero ter ajudado.
100+
ANT.CARLOS/SP
GOSTEI 0
Tecnofine
24/05/2009
Olá obrigado por responder.
Eu não entendi bem a sua resposta. Poderia me explicação melhor?
De qualquer forma, explicarei o meu caso passo a passo novamente.
Quando vou finaliza a venda, ele aparece uma outra janela a qual já é definida a forma de pagamento (se é 2 parcelas ou 3 parcelas, etc) e depois quando seleciono e clico OK, e gerar parcelas com intervalo fixo e ele faz um loop (dependendo de qtas parcelas) enviando direto no contas a receber.
Só que agora meu caso mudou. Não sei como enviar no contas a receber através de um loop com intervalo diferente.
Eu não entendi bem a sua resposta. Poderia me explicação melhor?
De qualquer forma, explicarei o meu caso passo a passo novamente.
Quando vou finaliza a venda, ele aparece uma outra janela a qual já é definida a forma de pagamento (se é 2 parcelas ou 3 parcelas, etc) e depois quando seleciono e clico OK, e gerar parcelas com intervalo fixo e ele faz um loop (dependendo de qtas parcelas) enviando direto no contas a receber.
Só que agora meu caso mudou. Não sei como enviar no contas a receber através de um loop com intervalo diferente.
GOSTEI 0
Walter Faria
24/05/2009
Boa tarde, colega . vc tera que colocar duas tabelas no seu sistema :
FORMAPAGTO, ITEMFORMAPAGTO.
estrutura
FORMAPAGTO
CODFORMAPAGTO
NOME
ITEMFORMAPAGTO
CODITEMFORMAPAGTO
CODFORMAPAGTO
DIAS
NA primeiro TABELA tera registro , de exibicao p/ usuario selecionar:
ex:
1 A VISTA
2 20/30/60
3 5/15/30
NA segunda tabela tera itens para identificar dias de cada parcela .seria assim, colocaria os registros filhos, com dias determinado , ex: registro 2 da tabela acima.
teria quer ter 3 registros filhos desta forma:
1 2 20
2 2 30
3 2 60
dai vc montaria um SQL conforme codigo da forma de pagto , e selecionaria os registros da tabela filho , e jogaria no ctas a receber ( LOOP )pegando a data atual do pedido + campo DIAS da tabela ITEMFORMAPAGTO.
Ve se vc entedeu qualquer coisa estou no forum ...
FORMAPAGTO, ITEMFORMAPAGTO.
estrutura
FORMAPAGTO
CODFORMAPAGTO
NOME
ITEMFORMAPAGTO
CODITEMFORMAPAGTO
CODFORMAPAGTO
DIAS
NA primeiro TABELA tera registro , de exibicao p/ usuario selecionar:
ex:
1 A VISTA
2 20/30/60
3 5/15/30
NA segunda tabela tera itens para identificar dias de cada parcela .seria assim, colocaria os registros filhos, com dias determinado , ex: registro 2 da tabela acima.
teria quer ter 3 registros filhos desta forma:
1 2 20
2 2 30
3 2 60
dai vc montaria um SQL conforme codigo da forma de pagto , e selecionaria os registros da tabela filho , e jogaria no ctas a receber ( LOOP )pegando a data atual do pedido + campo DIAS da tabela ITEMFORMAPAGTO.
Ve se vc entedeu qualquer coisa estou no forum ...
GOSTEI 0
Tecnofine
24/05/2009
Caro Walter Faria obrigado por responder.
Eu entendi a sua idéia sobre formapagto e itemformapagto, mas fiquei imaginando como poderia colocar em codigo a parte SQL. Será voce poderia me dar um exemplo em codigo. É que sou iniciante, então não tenho idéia como fazer isso...rsrs.
Mas tenho código abaixo que eu uso e deu certo quando o intervalo é fixo.
Será que tem como adaptar esse código ou teria que mudar completamente.
if(formformapagamento.ShowModal=mrok)then
begin
intParcelas := StrToInt(Trim(tblParcelasNUMEROPARCELAS.AsString));
// Cria os dados das parcelas mensais
for intnumeroparcelas := 1 to intParcelas do //cria loop ate acabar
begin
strVencimento := DateToStr(Date+(30*intNumeroParcelas));
tblParcelas.Append;
tblParcelasREGISTRO.AsInteger := intNumeroParcelas;
tblParcelasCODIGOCLIENTE.AsString := qryFornecedoresCODIGOCLIENTE.AsString;
tblParcelasNUMEROPARCELA.AsString := Trim(IntToStr(intNumeroParcelas))+´/´+Trim(IntToStr(intParcelas));
tblParcelasVENCIMENTO.AsString := strVencimento;
.
.
.
.
tblParcelas.Post;
// codigo para contas a receber
end; //finaliza o loop
end;
formadepagamento.destroy;
Aguardo a resposta. Obrigado pela paciência
Eu entendi a sua idéia sobre formapagto e itemformapagto, mas fiquei imaginando como poderia colocar em codigo a parte SQL. Será voce poderia me dar um exemplo em codigo. É que sou iniciante, então não tenho idéia como fazer isso...rsrs.
Mas tenho código abaixo que eu uso e deu certo quando o intervalo é fixo.
Será que tem como adaptar esse código ou teria que mudar completamente.
if(formformapagamento.ShowModal=mrok)then
begin
intParcelas := StrToInt(Trim(tblParcelasNUMEROPARCELAS.AsString));
// Cria os dados das parcelas mensais
for intnumeroparcelas := 1 to intParcelas do //cria loop ate acabar
begin
strVencimento := DateToStr(Date+(30*intNumeroParcelas));
tblParcelas.Append;
tblParcelasREGISTRO.AsInteger := intNumeroParcelas;
tblParcelasCODIGOCLIENTE.AsString := qryFornecedoresCODIGOCLIENTE.AsString;
tblParcelasNUMEROPARCELA.AsString := Trim(IntToStr(intNumeroParcelas))+´/´+Trim(IntToStr(intParcelas));
tblParcelasVENCIMENTO.AsString := strVencimento;
.
.
.
.
tblParcelas.Post;
// codigo para contas a receber
end; //finaliza o loop
end;
formadepagamento.destroy;
Aguardo a resposta. Obrigado pela paciência
GOSTEI 0
Tecnofine
24/05/2009
Alguém mais poderia me ajudar???
GOSTEI 0
Walter Faria
24/05/2009
Ola, desculpa a demora , ve se vc consegue ajustar ai pra vc:
SQL :
With SqlFP Do
Begin
Close;
SQL.Clear;
SQL.Add(´Select ItemFormaPagto.Dias from ItemFormaPagto´);
SQL.Add(´Inner Join FormaPagto on FormaPagto.CodFormaPagto = ItemFormaPagto.CodFormaPagto Where FormaPagto.CodFormaPagto = :CodFormaPagto´);
ParamByName(´CodFormaPagto´).asInteger:= EdtFormaPagto.Tag;
Open;
DAI A PARTIR DAQUI VC USA SE CODIGO PARA FAZER LOOP NOS REGISTRO DA SQL ACIMA. esta sql basea na estrutura da tabela que comentei. OK qualquer coisa vc manda suas duvida no meu email :
walter@rwconsultoria.com.br
....
....
SQL :
With SqlFP Do
Begin
Close;
SQL.Clear;
SQL.Add(´Select ItemFormaPagto.Dias from ItemFormaPagto´);
SQL.Add(´Inner Join FormaPagto on FormaPagto.CodFormaPagto = ItemFormaPagto.CodFormaPagto Where FormaPagto.CodFormaPagto = :CodFormaPagto´);
ParamByName(´CodFormaPagto´).asInteger:= EdtFormaPagto.Tag;
Open;
DAI A PARTIR DAQUI VC USA SE CODIGO PARA FAZER LOOP NOS REGISTRO DA SQL ACIMA. esta sql basea na estrutura da tabela que comentei. OK qualquer coisa vc manda suas duvida no meu email :
walter@rwconsultoria.com.br
....
....
GOSTEI 0