![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Autoincrementos no creo que pueda servir, ya que pueden quedar huecos y en números de factura, no se permite.
No creo que sea nada complejo.
El problema más grave es recuperar el número de factura más alto de un grupo, ya que al ser texto, la ordenación de un String no tiene nada que ver con integer. La forma de salvar este obstaculo, es añadir ceros por la izquierda, así se puede pedir un listado de nFactura ordenado descendente. El primer nFactura será el que se incrementa. Código:
st-00000001 st-00010000 Sin embargo, manteniendo el orden ASCendente, aquí no se obtienen los mismos resultados: Código:
st-13 st-10000 st-1
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
#2
|
|||
|
|||
|
Generacion automatica factura
Hola:
Otra variante puede ser porque imagino que pueden estar facturando varias personas a la vez, es que cuando el facturador entre en el formulario insertar un registro con los datos minimos tales como fecha, consecutivo, etc y cuando se guarde realizar un update con el resto de los datos del formulario con el id que debes haber obtenido cuando se hizo el insertar inicial. De esta forma garantizas reservar un consecutivo unico. Lo otro que tienes que hacer es para los casos en que no se termine de llenar el formulario por cualquier motivo es eliminar el registro y asi garantizas recuperar el consecutivo. Este codigo en SQL lo resolvi de esta forma Código:
CREATE PROCEDURE [insert_Bolsos] (@recepcionista_ [int], @fecha_ [datetime], @servicio_ [int], @ruta_ [int], @tipo_ [int], @id_ int Output, @consecutivo_ int Output) AS SELECT @consecutivo_ = MAX(consecutivo) FROM dbo.Bolsos WHERE (fecha = CONVERT(DATETIME, @fecha_, 102)) IF @consecutivo_ is Null SET @consecutivo_ = 1 ELSE SET @consecutivo_ = @consecutivo_ + 1 INSERT INTO [Sala].[dbo].[Bolsos] ([recepcionista], [fecha], [servicio], [ruta], [tipo], [consecutivo]) VALUES (@recepcionista_, @fecha_, @servicio_, @ruta_, @tipo_, @consecutivo_) SELECT @id_ = @@IDENTITY GO Luis Garcia |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Problema Con campo Numero factura | josejose | Varios | 1 | 01-02-2007 15:44:46 |
| cerrar automáticamente | emiliu | Varios | 5 | 27-11-2005 16:37:12 |
| Fallo Nº Factura y Linea Factura | CarmaZone | Tablas planas | 5 | 26-05-2005 11:17:19 |
| Ejecutar procedimiento automaticamente | Javi2 | Varios | 2 | 08-07-2004 13:02:02 |
| Cambiar de edit automaticamente | CRIS | Internet | 1 | 12-07-2003 23:44:01 |
|