parcelamento no firebird
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
Curtidas 0