Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-01-2010
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 24
ronimaxh Va por buen camino
las facturas cuando se anulan solo cambia a status I (inactiva).
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #2  
Antiguo 15-01-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.441
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Cuantos usuarios trabajan de forma concurrente?
¿En qué momento insertas la factura?
¿Utilizas transacciones?
¿La insertas utilizando SQL o componentes DataAware?
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 15-01-2010
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
Sería conveniente que en vez de por correo se ponga el código aquí en el Foro, así si la solución resulta interesante alguién más pueda beneficiarse.

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
  #4  
Antiguo 15-01-2010
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 24
ronimaxh Va por buen camino
De momento un usuario, luego se me conectaran más.
Inserto lo factura cuando ha eligido un producto y le da click al boton guardar,
inicio la transacción y luego genero el numero de factura y el del comprobante.
componentes que utilizo ibx. los Tedit, Tdblookupcombobox y dbgrid para presentar el detalle.


Nota: Lo que estoy probando es: Le puse indice al numero de factura y numero de comprobante en la tabla cabecera de factura. Para que cuando genere un numero la busqueda del maximo responda más rápido a ver si con esto mejora.
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #5  
Antiguo 15-01-2010
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Poder: 20
Cañones Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Sería conveniente que en vez de por correo se ponga el código aquí en el Foro, así si la solución resulta interesante alguién más pueda beneficiarse.

Un Saludo.
Eso seguro. En unas horas pongo un post con la solución.
Responder Con Cita
  #6  
Antiguo 15-01-2010
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 947
Poder: 25
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Este codigo te entrega codigos intercalados debido al

IF (Cod_Tpo_Ncf='0')

Dependiendo de esta condicion obtendra un MAX(Numero) Diferente...

Me tome la libertad reescribir el codigo...y eliminar algunas lineas que estan demas.

Código Delphi [-]
procedure Tfrmprincipal.genera_numero_fact;
begin
     with frmdata.st do
     begin
        DecodeDate(Date,Periodo,Mes,Dia);
         st_ctr:=false;

         If cod_tpo_ncf='0' Then
         Begin
             Sql.Text:='Select Max(Numero) As numero From tb_cd_fact_t Where cod_tipo_ncf='+QuotedStr(Cod_Tpo_Ncf);
             st_ctr:=True;
             //Como Resultado puede dar ejm: 10
         End
         Else
             Sql.Text:='Select Max(Numero) As Numero From tb_cd_fact_t Where cod_tipo_ncf >0';
           //Como Resultado puede dar ejm: 5

         //Deberias usar un solo MAX(Numero) sin condiciones para que te obtenga el maximo de la tabla...

         Open;

         Cont:=1;

         If (Not FieldByName('numero').IsNull) And (Periodo=FieldByName('Periodo').Value) Then
            Cont:=FieldByName('Numero').Value+1;

         Numero:=IntToStr(Cont);
         Numero:=StringOfChar('0',7-Length(Numero))+Numero;

         frmfactura.Num_Fact_Edit.Text:=Numero;

     end;
end;

Espero haber ayudado...Un abrazo

Última edición por cloayza fecha: 15-01-2010 a las 21:16:14.
Responder Con Cita
  #7  
Antiguo 16-01-2010
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
Yo añado que siempre he utilizado una tabla en donde guardo el último número de factura.

Las nuevas facturas les asigno un número provisional y si se consolidan, es decir no se cancelan a la mitad, entonces, bloqueo el registro le sumo uno al último número lo almaceno y de paso lo tomo para la nueva factura, de esta manera no es posible que estando en red dos usuarios repitan número de factura.

El acceso a la obtención del número lo hago en tres intentos con retardo de un par de segundos entre ellos por si diera la casualidad dificil más no imposible de que accedieran dos usuarios a la vez a la obtención del número.

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
  #8  
Antiguo 17-01-2010
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 24
ronimaxh Va por buen camino
Gracias amigos por sus buenos comentarios y tambien por la arreglo del codigo.
Código Delphi [-]
    Este codigo te entrega codigos intercalados debido al

IF (Cod_Tpo_Ncf='0')

Dependiendo de esta condicion obtendra un MAX(Numero) Diferente...

En esta condición tal y como dices depende de otros tipos de numero de facturas.

Nota: Yo he reforozado el codigo y presenta el numero generado cuando guarda la factura, ademas tambien el campo numero de factura esta indexado, realmente mejoro. ya en marcha probare en produccion a ver si todo sale mejor ahi. De todas forma les dejare saber.
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #9  
Antiguo 20-01-2010
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Poder: 20
Cañones Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
Yo añado que siempre he utilizado una tabla en donde guardo el último número de factura.

Las nuevas facturas les asigno un número provisional y si se consolidan, es decir no se cancelan a la mitad, entonces, bloqueo el registro le sumo uno al último número lo almaceno y de paso lo tomo para la nueva factura, de esta manera no es posible que estando en red dos usuarios repitan número de factura.

El acceso a la obtención del número lo hago en tres intentos con retardo de un par de segundos entre ellos por si diera la casualidad dificil más no imposible de que accedieran dos usuarios a la vez a la obtención del número.

Un Saludo.
Ni más ni menos como lo que dices.
Se podría refinar el tema de cuando y como se hace.

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
fecha y numero de factura lis983 Varios 3 13-07-2008 01:31:23
numero de factura josi Varios 7 06-06-2008 15:55:59
Problema Con campo Numero factura josejose Varios 1 01-02-2007 15:44:46
Fallo Nº Factura y Linea Factura CarmaZone Tablas planas 5 26-05-2005 11:17:19
saltos en tabulador. kwan Varios 3 09-01-2004 02:25:17


La franja horaria es GMT +2. Ahora son las 13:38:22.


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