Fórum parcelamento no firebird #339912
04/04/2007
0
oi, galera estou com este galho em uma Stored Procedure...
nesta miha SP abaixo, eu estou gerando umas parcelas de um determinado carne, só quando inclemento um novo :PERIODO (proxima data de vencimento) não consigo fazer com que as datas fiquem com periodos de 30 dias.... por exemplo um carne em 12 pagamentos com aprimeira para dia ( 01/04/2007 ) fica assim:
01/05/2007
31/05/2007
30/06/2007
30/07/2007
29/08/2007
28/09/2007
28/10/2007
27/11/2007
27/12/2007
26/01/2008
25/02/2008
26/03/2008
eu tambem precisaria de uma outra forma para fixar por data de vencimento e não por periodo, por exemplo vencimento todo dia 30 de cada mês...
CREATE PROCEDURE PROC_INS_CONTAS_RECEBER (
cont_venda integer,
num_parcelas integer,
dias_primeira integer,
periodo integer,
data_vencimento date,
cod_cliente integer,
aprazo numeric(18,2))
as
declare variable i integer;
declare variable data_vencto date;
declare variable valor_parcela numeric(18,2);
begin
/* gerar parcelas */
i = 0;
data_vencto = :data_vencimento + :DIAS_PRIMEIRA;
valor_parcela = :APRAZO / :NUM_PARCELAS;
while (i < :NUM_PARCELAS) do
begin
insert into contas_receber
(CF_cod, CR_data_doc, CR_data_vencto, CR_valor_doc, cr_controle_venda)
values
(:COD_CLIENTE, current_date, :DATA_VENCTO, :VALOR_PARCELA, :CONT_VENDA);
i = :i + 1;
data_vencto = data_vencto + :PERIODO;
end
END
teria com pegar o promixo mês do RDB$DATABASE ? poderia ser uma saida! Estou usando o FireBird 1.5
Erivando Sena
nesta miha SP abaixo, eu estou gerando umas parcelas de um determinado carne, só quando inclemento um novo :PERIODO (proxima data de vencimento) não consigo fazer com que as datas fiquem com periodos de 30 dias.... por exemplo um carne em 12 pagamentos com aprimeira para dia ( 01/04/2007 ) fica assim:
01/05/2007
31/05/2007
30/06/2007
30/07/2007
29/08/2007
28/09/2007
28/10/2007
27/11/2007
27/12/2007
26/01/2008
25/02/2008
26/03/2008
eu tambem precisaria de uma outra forma para fixar por data de vencimento e não por periodo, por exemplo vencimento todo dia 30 de cada mês...
CREATE PROCEDURE PROC_INS_CONTAS_RECEBER (
cont_venda integer,
num_parcelas integer,
dias_primeira integer,
periodo integer,
data_vencimento date,
cod_cliente integer,
aprazo numeric(18,2))
as
declare variable i integer;
declare variable data_vencto date;
declare variable valor_parcela numeric(18,2);
begin
/* gerar parcelas */
i = 0;
data_vencto = :data_vencimento + :DIAS_PRIMEIRA;
valor_parcela = :APRAZO / :NUM_PARCELAS;
while (i < :NUM_PARCELAS) do
begin
insert into contas_receber
(CF_cod, CR_data_doc, CR_data_vencto, CR_valor_doc, cr_controle_venda)
values
(:COD_CLIENTE, current_date, :DATA_VENCTO, :VALOR_PARCELA, :CONT_VENDA);
i = :i + 1;
data_vencto = data_vencto + :PERIODO;
end
END
teria com pegar o promixo mês do RDB$DATABASE ? poderia ser uma saida! Estou usando o FireBird 1.5
Erivando Sena
Erivando
Curtir tópico
+ 0
Responder