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 07-03-2005
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 22
@-Soft Va por buen camino
Talking Por defecto Como generar números consecutivos en Facturación.

hola

este hilo es mas para un consejo, quisiera que me explique de forma interactiva y con ejemplos la mejor forma de generar un numero secuencial para un documento, es decir, una factura, un recibo, una cotizacion, etc.

y ademas quisiera saber como se puede generar y que no se repita estando en una red con 5 pc insertando simultaneamente. Seria recomendable que la explicacion se realice basado tanto en Tablas planas (Paradox) como en DBMS o SGBD (MySQL, Firebird).

Gracias de antemano.
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.

Última edición por marcoszorrilla fecha: 07-03-2005 a las 07:04:40. Razón: Modificar Título
Responder Con Cita
  #2  
Antiguo 07-03-2005
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Como generar números consecutivos en Facturación.

Yo utilizo una tabla auxiliar en donde guardo el último número de documento.

Los usuarios en la red, a cada uno le doy un número, cuando se inicia un documento, le pongo el número = número de usuario * 10, de esta manera y en tanto no se guarde el documento todos tienen un número provisional, sin que haya colisiones.

Cuando alguien pulsa en la opción guardar, bloqueo la tabla auxiliar, aumento un número, y a continuación modifico el número de documento provisional y finalmente lo envío al servidor.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 07-03-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Wop!

Otra opción es basarte en las características del sistema de BD que tengas. Si trabajas con Oracle, puedes usar secuencias, en FB/IB, generadores, etc.
__________________
E pur si muove
Responder Con Cita
  #4  
Antiguo 07-03-2005
Avatar de @-Soft
@-Soft @-Soft is offline
Miembro
 
Registrado: may 2003
Ubicación: Santo Domingo, Rep. Dom.
Posts: 200
Poder: 22
@-Soft Va por buen camino
Thumbs up

hola

y que opinan de generar el no. al final del documento justo al momento de salvar la informacion. o mejor aun generar el no. y antes de grabar volver a verificar 10 veces si es el mismo numero todavia con un bucle (for) y si a las 10 veces da el mismo numero entonces grabo el no.

esto es solo una idea, me gustaria que la analizaran y opinaran con respecto a eso.
__________________
Ivan Lora

http://www.arrobasoft.da.ru

Valientes son aquellas personas que triunfan donde otros fracasan.
Bienaventurado los que nada esperan porque jamas seran defraudados.
Responder Con Cita
  #5  
Antiguo 07-03-2005
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 22
marto Va por buen camino
Wop!

Cita:
Empezado por @-Soft
y que opinan de generar el no. al final del documento justo al momento de salvar la informacion.
En el caso de secuencias o generadores, te es igual, ya que son independendientes de transacciones, por lo tanto, aunque lo generes al principio, puedes estar seguro de que es único. Eso sí, si quieres tambien que sea una serie continua (como los números de factura), sí tendrás que generarlo al final.
En el caso que plantea Marcos, al hacer la verficación al final, ya lo estás generando en ese momento.

Cita:
Empezado por @-Soft
o mejor aun generar el no. y antes de grabar volver a verificar 10 veces si es el mismo numero todavia con un bucle (for) y si a las 10 veces da el mismo numero entonces grabo el no.
Bueno, tambien puedes verificarlo 1 millón de veces o, mejor, bloquear todos los dispositivos de red y obligar a que los usuarios de diez vueltas a la oficina antes de guardar... p¡ero la idea es que el código tambien sea eficiente!
__________________
E pur si muove
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


La franja horaria es GMT +2. Ahora son las 11:48:02.


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