Un saludos colegas del club, tengo una aplicacion hecha en delphi 2009 y firebird 2.1 con ibx.
Me esta pasando algo muy raro ultimamente, para generar mi numero de factura lo hago de la siguiente manera:
Código Delphi
[-]
procedure Tfrmprincipal.genera_numero_fact;
begin
with frmdata.st do
begin
DecodeDate(date,periodo,mes,dia);
st_ctr:=false;
if cod_tpo_ncf='0' then
begin
sql.Text:='select max(numero)as numero,max(periodo)as periodo from tb_cd_fact_t where periodo='+floattostr(periodo)+'and cod_tipo_ncf='+QuotedStr(cod_tpo_ncf);
st_ctr:=true;
end
else
sql.Text:='select max(numero)as numero,max(periodo)as periodo from tb_cd_fact_t where periodo='+floattostr(periodo)+'and cod_tipo_ncf >0 ';
open;
cont:=0;
if not FieldByName('numero').IsNull then
begin
cont:=FieldByName('numero').Value;
if periodo=FieldByName('periodo').Value then
begin
cont:=cont+1;
numero:=inttostr(cont);
numero:=StringOfChar('0',7-length (numero))+numero;
frmfactura.num_fact_edit.Text:=numero;
end
else
begin
numero:='1';
numero:=StringOfChar('0',7-length (numero))+numero;
frmfactura.num_fact_edit.Text:=numero;
end;
end
else
begin
numero:='1';
numero:=StringOfChar('0',7-length (numero))+numero;
frmfactura.num_fact_edit.Text:=numero;
end;
end;
end;
Nota: Derrepente me da saltos y me deja hueco en numero.
Realmente no se aque se deba, solo busco al maximo en la consulta,
no se si seran los componentes ibx esto esta muy raro. Cuando hago ciertas prueba generando numero de factura no ocurre y en produccion si.
Nota2: se que lo generadores me dejan muchos huecos y tambien he notado que cuando esto pasa produce esos saltos no se como controlarlos, alguna ayuda les agradesco.