Foros del Web » Programación para mayores de 30 ;) » .NET »

Número de Factura Automatico

Estas en el tema de Número de Factura Automatico en el foro de .NET en Foros del Web. Estoy trabajando un proyecto en Visual Basic 2010 y SQL Server 2008. Dentro del proyecto tengo un formulario para generar una Factura. El número de ...
  #1 (permalink)  
Antiguo 27/02/2014, 20:48
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Número de Factura Automatico

Estoy trabajando un proyecto en Visual Basic 2010 y SQL Server 2008. Dentro del proyecto tengo un formulario para generar una Factura. El número de Factura que se genera en forma automática es el siguiente:

001-000001
001-000002
001-000003
Y así sucesivamente. Los tres primeros números (001) son la Serie y después del guión los 6 números que siguen (000001) es de la factura que se genera consecutivamente. En este caso no tengo problema porque sí se genera el número de factura con su respectiva serie.

El problema es como hacer para que cuando llegue a la factura 001-999999 el número que siga sea 002-000001. Es decir debe cambiar el Número de Serie de 001 a 002 y el Número de Factura se empiece a generar nuevamente desde el 000001.
  #2 (permalink)  
Antiguo 28/02/2014, 02:58
Avatar de Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 3 meses
Puntos: 606
Respuesta: Número de Factura Automatico

Una opción sencilla sería no tratarlo como dos números/campos sino como uno mismo y luego a la hora de escribirlo, separarlo.

Si lo piensas bien, el siguiente número del 1999999 es el 2000000. Si partimos de que es un entero donde mantienes ese contador (personalmente usaría un campo identidad de SqlServer) y que recuperas desde código, simplemente jugando un poco con el ToString lo tendrías.

Te pongo el código en C# de como se haría. El pasarlo a Visual Basic no te tendría que costar mucho:
Código C#:
Ver original
  1. int numeroFactura;
  2.  
  3.             // Obtenemos el valor del numero de la BBDD, en este ejemplo lo ponemos de forma manual
  4.             numeroFactura = 1999999;
  5.  
  6.             string idFactura = numeroFactura.ToString("[000-000000]");
__________________
Aviso: No se resuelven dudas por MP!
  #3 (permalink)  
Antiguo 28/02/2014, 08:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 3
Respuesta: Número de Factura Automatico

Hola, yo cojeria el ultimo de la base de datos en este caso el 3 y sumarle uno el 001 me supongo que es el numero de autorizacion del punto de venta tons lo puedes quemar(no se si este bien) el 0004 como te digi sumale uno al ultimo de la base y agregale los ceros pero debes tmar en cuenta que si llega a 10 debes quitarle un cero
  #4 (permalink)  
Antiguo 28/02/2014, 10:13
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Número de Factura Automatico

Muchas gracias Malenko y también gracias diegocres. Cuando los genero, los tengo separado, pero cuando los guardo, se graban en un sólo campo. Es decir, al grabar lo hace como 001-000001.

El 001- que es la serie la capturo en un Label que lo tengo oculto. Luego genero automáticamente el número 000001, 000002, 000003 y así sucesivamente. Hasta allí no tengo problemas. Lo que pasa es que no se como hacer para cuando llegue el último número de factura de la primera SERIE que sería 001-999999, como le hago para que el 002-000001 salga automáticamente sin tener que modificar nada. Todo debe hacerse dinámicamente.

Muchas gracias por contestarme. Espero sus respuestas y que Dios los bendiga.
  #5 (permalink)  
Antiguo 28/02/2014, 10:54
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 3
Respuesta: Número de Factura Automatico

Hola, en los 99999 cuenta cinco nueves y sacas el 1 o el ultimo digito de la serie 001 para que le sumes
  #6 (permalink)  
Antiguo 28/02/2014, 11:34
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Número de Factura Automatico

Hola diegocres sería posible que pongas un ejemplo por favor. Con el siguiente código genero el número de factura automático

Código:
Dim comm As New SqlCommand("Select count(idFact) from Factura", CON)
Dim nFact As Integer
nFact = comm.ExecuteScalar
nFact = nFact + 1
LblFact.Text = LblSer.Text & Format(nFact, "000000")

' CON ES LA CONEXION
******
ESTA CODIFICACIÓN GENERA EL CÓDIGO 001-000001, 001-000002 ...
  #7 (permalink)  
Antiguo 28/02/2014, 12:58
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 14 años, 10 meses
Puntos: 3
Respuesta: Número de Factura Automatico

Tienes que hacer un for osea
b=0
for i = 1 hasta 5
a = Convert.ToChar(this.txtTexto.Text.Substring(i, 1));
si (a == 9)
b=b+1
else
sale del si
si b== 5
sume al 002 +1
end for


pruebale porfa y nos avisas
  #8 (permalink)  
Antiguo 28/02/2014, 14:49
 
Fecha de Ingreso: enero-2013
Ubicación: Lima
Mensajes: 38
Antigüedad: 11 años, 3 meses
Puntos: 0
Respuesta: Número de Factura Automatico

Hola diegocres Muchas gracias, me parece o estas usando PHP. Me gustaría ver el código en Visual Basic.
De todas maneras muchas gracias.
  #9 (permalink)  
Antiguo 02/03/2014, 05:18
Avatar de freegirl
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: Catalonia
Mensajes: 4.334
Antigüedad: 20 años, 6 meses
Puntos: 156
Respuesta: Número de Factura Automatico

si cuando llegas a 001-999999 tienes que cambiar a 002. Pues metes un IF.

No obstante ¿de dónde sacas la serie? Supongo que la tienes guardad en la BD...Si el label de la serie no es visible, y no tiene ninguna otra utilidad que la de almacenar un valor ¿no sería mejor tenerlo en una variable?

Código vb:
Ver original
  1. Dim comm As New SqlCommand("Select count(idFact) from Factura", CON)
  2. Dim nFact As Integer
  3. nFact = comm.ExecuteScalar
  4.  
  5. IF nFact=999999 Then
  6. varSerie= varSerie +1
  7. nFact =1
  8. Else
  9. nFact = nFact + 1
  10. End If
  11.  
  12. LblFact.Text =   Format(varSerie, "000") & Format(nFact, "000000")
__________________
Saludos
  #10 (permalink)  
Antiguo 20/04/2015, 16:03
 
Fecha de Ingreso: septiembre-2014
Ubicación: peru
Mensajes: 6
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Número de Factura Automatico

Alguno de Ustedes ya Logro Resolver como Hacer para Poder Genrear ese Numero Por Favor Podrian Echare una Mano y por Cierto Buen Tema
  #11 (permalink)  
Antiguo 20/04/2015, 16:22
 
Fecha de Ingreso: septiembre-2014
Ubicación: peru
Mensajes: 6
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Número de Factura Automatico

Alguno de Ustedes ya Logro Resolver como Hacer para Poder Genrear ese Numero Por Favor Podrian Echare una Mano y por Cierto Buen Tema

Etiquetas: automatico, factura, sql, visual
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:01.