Fazer parcelas com intervalo diferente

Delphi

24/05/2009

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?


Tecnofine

Tecnofine

Curtidas 0

Respostas

Ant.carlos/sp

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


GOSTEI 0
Tecnofine

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.


GOSTEI 0
Walter Faria

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 ...


GOSTEI 0
Tecnofine

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


GOSTEI 0
Tecnofine

Tecnofine

24/05/2009

Alguém mais poderia me ajudar???


GOSTEI 0
Walter Faria

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
....
....


GOSTEI 0
POSTAR