Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-10-2013
camiz camiz is offline
Miembro
 
Registrado: ene 2012
Posts: 69
Poder: 13
camiz Va por buen camino
Codigo de Factura

Hola amigos nuevamente aca en el foro buscando ayuda.

tengo un problemita quiero generar un codigo de 6 dijitos que sea autoincremental de esta manera.

000001
000002
000003
000004
000005
000006
000007
000008
000009
000010
asi sucecivamente

Quiero que compruebe con el numero que esta guardado en la base de datos y cree uno nuevo sin repetirse.
tengo este codigo pero me muestra solo un digito y quiero que sea de 6

Código Delphi [-]
begin
with frmConeccion.MostrarNumFactura do
begin
Active := True;
CodFactura := FloatToStr(FieldByName('CODFACTURA').AsInteger +1);
Active := False;
end;
Responder Con Cita
  #2  
Antiguo 12-10-2013
[FGarcia] FGarcia is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Cordoba, Veracruz, México
Posts: 1.123
Poder: 20
FGarcia Va por buen camino
Hola!

Para empezar te diré que el numero de factura es un integer (entero) en el sistema de numeración los 0's a la izquierda no tienen validez por eso los ignora.

Una solucion seria que convirtieras de integer a string, verificaras la longitud que tiene la string y después le añadieras los 0's a la izquierda hasta que tu longitud sea de 6 caracteres


Saludos!
__________________
ESTO ES UN FORO ... NO UN MÓVIL
¿Por qué no escribir de una manera comprensible para que los humanos lo podamos entender?
Responder Con Cita
  #3  
Antiguo 12-10-2013
camiz camiz is offline
Miembro
 
Registrado: ene 2012
Posts: 69
Poder: 13
camiz Va por buen camino
Resuelto

para alguno que lo necesite lo resovi
de esta manera y funciona muy bien.


Código Delphi [-]
var  CodFactura :string;
begin
  with frmConeccion.MostrarNumFactura do
  begin
  Active := True;
  CodFactura := FloatToStr(FieldByName('CODFACTURA').AsInteger +1);
  Active := False;
  begin
    txtnumeroFactura.Text := FormatFloat('000000', StrToInt(CodFactura));
  end;
end;
Responder Con Cita
  #4  
Antiguo 12-10-2013
Avatar de Luis M.
[Luis M.] Luis M. is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Ripollet - Barcelona
Posts: 212
Poder: 20
Luis M. Va por buen camino
Hola.
Más o menos podría ser así:

Código Delphi [-]
procedure XX.Facturas(DataSet: TDataSet);
var
  cText: string;
begin
//--- Obtenemos última factura de la tabla facturas ---
factura.close;
facturas.sql.text := 'Select max(numero) as cUltimo from facturas';
facturas.open;

cText := IntToStr(facturas.FieldByName(cUltimo).AsInteger + 1);
CodFactura := Copy('000000', 1, 6 - Length(cText)) + cText;
facturas.close;

end;
Responder Con Cita
  #5  
Antiguo 13-10-2013
Avatar de José Luis Garcí
[José Luis Garcí] José Luis Garcí is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Las Palmas de G.C.
Posts: 1.372
Poder: 22
José Luis Garcí Va camino a la fama
Hola Camiz, el tema de los códigos ya lo trate en el Tutorial http://www.clubdelphi.com/foros/show...=83457&page=13, aquí encontraras tanto el seguimiento y registro de nº de factura como su serie, puedes ver que el numerador lo registro aparte en configuración, ya que se te puede dar el caso de borrar una factura emitida y tener duplicado un nº de factura con lo que tendrías grabes problemas con hacienda, si te puedo ayudar en algo más, ya sabes.
__________________
Un saludo desde Canarias, "El abuelo Cebolleta"
Responder Con Cita
  #6  
Antiguo 14-10-2013
camiz camiz is offline
Miembro
 
Registrado: ene 2012
Posts: 69
Poder: 13
camiz Va por buen camino
Cita:
Empezado por José Luis Garcí Ver Mensaje
Hola Camiz, el tema de los códigos ya lo trate en el Tutorial http://www.clubdelphi.com/foros/show...=83457&page=13, aquí encontraras tanto el seguimiento y registro de nº de factura como su serie, puedes ver que el numerador lo registro aparte en configuración, ya que se te puede dar el caso de borrar una factura emitida y tener duplicado un nº de factura con lo que tendrías grabes problemas con hacienda, si te puedo ayudar en algo más, ya sabes.

gracias lo boy ha hechar un vistaso.
Responder Con Cita
  #7  
Antiguo 15-10-2013
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
yo uso algo parecido a esto
Código Delphi [-]
procedure TfrmValesdeConsumo.VerificarNumero;
Var _OK :Boolean;
begin
  _ok := True;
  while _ok Do
  Begin
    qryVerNumero.Close;
    qryVerNumero.Parameters.ParamByName('TDC').Value := frmMain._Origen;
    qryVerNumero.Parameters.ParamByName('DOC').Value := _DOC;
    qryVerNumero.Open;
    qryVerNumero.First;
    if qryVerNumeroDOC.AsString <> '' Then // o tambien podria contar cuantos registros hay
    begin
      _Numero := _Numero + 1;
      _DOC := Llenar(frmMain._Serie,3) + '-' + Llenar(FloatToStr(_Numero),7);
    end
    Else
    _ok := False;
  end;
end;



qryvernumero
Cita:
Select TDC,DOC
from tblConsumoc
Where
TDC = :Tdc and
DOC = OC
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #8  
Antiguo 21-10-2013
camiz camiz is offline
Miembro
 
Registrado: ene 2012
Posts: 69
Poder: 13
camiz Va por buen camino
oscarac
Excelente aporte, boy a ver como funciona a ver si lo uso en mi proyecto, gracias.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Factura Electronica Factura-E keys Varios 1 09-11-2010 06:37:46
factura josi Varios 0 06-06-2008 15:50:30
Diseño de Factura con codigo de barra con FPDF jfontane PHP 4 28-05-2008 16:36:59
Fallo Nº Factura y Linea Factura CarmaZone Tablas planas 5 26-05-2005 11:17:19
Nº factura silviodp Conexión con bases de datos 9 21-06-2004 20:01:30


La franja horaria es GMT +2. Ahora son las 07:48:14.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi