[firebase-br] OFF - parcelamento não funciona para venda sem entrada
Marcelo Geyer
estanisgeyer em gmail.com
Qua Mar 4 20:47:15 -03 2009
Favor enviar a sua dúvida para uma lista de delphi. Cadê a moderação? Desse
jeito vou postar as minhas dúvidas de QT/C++ para ver se alguém aqui
responde...
2009/3/4 Reijanio Nunes Ribeiro <rnribeiro em gmail.com>
> bom dia pessoal desculpem o off mais é que ja queimei todos os cartuchos
> tentando entender pq essa rotina não funciona pra vendas sem entrada onde a
> 1º prestação é 30 dias, pois pra vendas xom entrada funciona perfeitamente
> procedure TF_Orcamento.financeiro;
> var
> i: integer;
> vlrtotal,vlrparc, diferenca : Real;
> vcto :tdate;
> numparc :integer;
> Begin
> numparc := F_dmm.TipoPgtoQTDE_PARC.AsInteger;
> vlrtotal := F_dmm.C_VendaTOTAL.AsFloat;
> vcto := now+f_dmm.TipoPgtoPRI_PARC.AsInteger;
> if vlrtotal >0.00 then
> begin
> //arredonda as casas decimais
> vlrparc := trunc((vlrtotal/numparc)*100)/100;
> // verifica se existe diferença
> if ((vlrparc*numparc)<>vlrtotal) then
> diferenca := vlrtotal-(vlrparc*numparc)
> else
> diferenca := 0;
> for i := 0 to numparc -1 do *//o erro provavelmente é aqui*
> // for i := 1 to numparc do
> // for i := 1 to numparc -1 do
> begin
> f_dmm.ContasReceber.Open;
> f_dmm.ContasReceber.Insert;
> f_dmm.ContasReceberCODIGO.Value := f_dmm.inc_gen('GEN_CONTASRECEB_ID');
> f_dmm.ContasreceberCODVEN.Value := f_dmm.C_VendaCODIGO.Value;
> f_dmm.ContasreceberNUMDOC.AsString := f_dmm.c_vendaCODIGO.AsString;
> f_dmm.ContasreceberCODCLIENTE.Value := F_dmm.C_VendaCODCLI.Value;
> f_dmm.ContasreceberTIPOPGTO.Value := F_DMM.TipoPgtoCODIGO.Value;
> f_dmm.ContasreceberEMISSAO.Value := dbedit6.Field.Value;
> f_dmm.ContasreceberLANCAMENTO.Value := dbedit6.Field.Value;
> f_dmm.ContasReceberSTATUS.Value := 'P';
> F_dmm.ContasReceberPARCELA.Value := i + 1;
> f_dmm.ContasreceberVENCIMENTO.AsDateTime := vcto;
> vcto := vcto + 30;
>
> //verifica se é a ultima parcela
> if (i=(numparc-1)) then
> begin
> f_dmm.ContasreceberVLRTOTAL.AsFloat := vlrparc + diferenca;
> end
> else
> f_dmm.ContasreceberVLRTOTAL.AsFloat := vlrparc;
> end;
> //end;
> if f_dmm.ContasReceber.ChangeCount>0 then
> begin
> f_dmm.ContasReceber.ApplyUpdates(0)
> end
> else
> //begin
> ShowMessage('erro ao Salvar, valor deverá ser maior que 0.00');*//ta dando
> sempre essa msg de erro*
> //end;
> end;
> end;
>
> tabela tipo_pgto
> CREATE TABLE TIPO_PGTO (
> CODIGO INTEGER NOT NULL,
> DESCRICAO VARCHAR(20) CHARACTER SET WIN1252,
> QTDE_PARC INTEGER,
> PRI_PARC INTEGER,
> FORMA_PGTO INTEGER,
> TX_JUROS NUMERIC(10,2)
> );
>
> uma venda sem entrada a tabela ficaria assim
> CODIGO INTEGER NOT NULL,
>
> QTDE_PARC INTEGER, = *1 parcela*
> PRI_PARC INTEGER, = *30 dias*
> FORMA_PGTO INTEGER,
> TX_JUROS NUMERIC(10,2)
> Responder
>
> Encaminhar
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista