PDA

Ver la Versión Completa : Asignacion Automatica


frholguin
17-10-2006, 17:10:24
Hola

Estoy creando un programita de facturacion y quiero saber como puedo hacer que el numero de factura se incremeten solo.

Por favor necesito ayuda en esto.

Caral
17-10-2006, 17:21:05
Hola
La factura es unica?
Tienes Base de datos?. Me parece que debes de tener, si es el caso.
Te aconsejo que generes un campo en la base de datos que tengas y lo pongas autonumerico, por que de otro modo seria generar una variable que se perderia al cerrar el programa.
Saludos

Enan0
17-10-2006, 17:22:38
Lo estas haciendo basado en una base de datos?
si es asi tendrias que poner un campo Nº de Factura o algo asi.
y simplemente obtener el ultimo valor e incrementarlo.
y sino tendrias que buscar algun medio de almacenamiento masivo.
un archivo o algo

frholguin
17-10-2006, 17:56:26
Ok estoy de acuerdo, pero lo que quiero hacer es lo siguiente

es que si comienzo con

FAC-AL-001

cuando yo presione el boton nueva factura me genere

FAC-AL-002

y que se almacene en la base de datos para consultar.

Lepe
17-10-2006, 18:03:23
En principio, un autonumérico no sirve. Ya que si se crea una factura y despues se elimina por cualquier razón, o incluso se cancela la edición de la factura, la próxima vez quedará un hueco (un salto de numeración), y al menos en españa, no está permitido.

Tampoco dices si está en red o no. Lo que suele hacerse es usar una tabla temporal con el último número de factura usado. Al crear una nueva, pillas ese valor, lo incrementas y muestras la factura, al grabar la factura, actualizas ese valor de la tabla temporal, pero si está en red, puede que no sea suficiente.

Saludos

Lepe
17-10-2006, 18:07:14
Viendo tu mensaje, es mejor que en esa tabla temporal, tengas 3 campos:

Prefijo tipo valor (integer)
FAC AL 1


Despues haces varias rutinas para que dado el Prefijo y el Tipo, aumente el valor y los concatene (añadiendo ceros por la izquierda).

Realmente no sé si el campo "tipo" hace falta, pero bueno, tú lo sabrás mejor que yo ;)

Saludos

Enan0
17-10-2006, 18:10:31
FAC-AL-001

cuando yo presione el boton nueva factura me genere

FAC-AL-002


Bueno entonces FAC-AL- deberia ser una constante.
y solo elvalor 002 o 00X.. el indice a incrementar.
si lo haces con una base de datos. seria..


Select numfac from NumeroFactura

.... guardar tu numero de facutra y lo incrementas....

Update NumeroFactura set numfac=numfac+1

Caral
17-10-2006, 18:26:06
Hola
Para mi como dice Lepe, se necesita una tabla, no necesariamente temporal, la sigla FAC, es factura, tal vez necesites otra que diga, CON, que seria consignacion o PRO, que seria proforma, esto no es importante, la sigla AL debe ser el tipo de documento, tampoco es importante, y el numero pues tampoco.
Haces una nueva tabla con dos campos FacturaTipo (texto) y NumeroDocumento (numero), cuando ingreses a la tabla pones la condicion que lea el ultimo registro y para grabar el siguiente haces una variable que sume el NumeroDocumento + 1 y ya.
Saludos

kalimero
18-10-2006, 18:17:17
Hola.
Pues yo lo que haria es,justo antes de postear:

select max(camponumerodefactura) + 1 from tabladefacturas


Recogia el valor de la consulta y se lo asigno a la nueva factura

Saludos

Neftali [Germán.Estévez]
19-10-2006, 10:24:54
Hace no muchos días se habló en este hilo (http://www.clubdelphi.com/foros/showthread.php?t=36364&highlight=hueco) del mismo problema.