Club Delphi  
    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 12-05-2010
DELFIN2000 DELFIN2000 is offline
Miembro
 
Registrado: mar 2010
Posts: 12
Poder: 0
DELFIN2000 Va por buen camino
cual es la mejor tecnica para crear una factura

Hola a todos, desde hace dias he estado checando poder encontrar informacion de alguna forma correcta de crear una factura con sus respectivos detalles, tengo una vaga idea perno se que no es correcta, por lo que agradecere si alguien tiene alguna inforacion o ejemplo. estaba pensando que cada vez que yo busque un producto me aparezca en una grid, pero esto implica ir gravando cada vez la linea del detalle, el problema seria cuando se corrompa la compu por alguna razon, me quedarian guardados los detalle en la tabla cuando deberia quedar guardado en forma general tanto la cabecera como los detalles en sus respectivas tablas, bueno necesito una mejor tecnica. gracias de antemano
Responder Con Cita
  #2  
Antiguo 13-05-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: 18
Cañones Va por buen camino
Hola.
No entendí bien que es lo que necesitas. El modelo en DB o una idea de como es el formulario?
Saludos.
Responder Con Cita
  #3  
Antiguo 13-05-2010
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.233
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
Normalmente hay dos formas de enfocar este problema.

1) Cada operación que realizas en las líneas de detalle o en la cabecera (normalmente se modifica al modificar las líneas de detalle) se guarda en base de Datos.

2) Trabajar en memoria (tabla en memoria o Tclientdataset, por ejemplo) y sólo guardar la factura en Base de Datos cuando se acaba toda la factura.

El primero tiene el inconveniente de que haces muchas operaciones en Base de Datos respecto al segundo, pero si por lo que sea a medio trabajo se apaga la máquina, tendrás guaradados todos los datos hasta ese momento (media factura), mientras que con el segundo sistema no.

Puede haber un intermedio, que es trabajar en memoria, e ir guardando una copia de los datos en local (para evitar pérdidas); Una vez acabado se guarda en Base de datos y se elimina la copia en local. Te evita pérdidas de datos, pero añade complejidad al asunto.
__________________
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
  #4  
Antiguo 13-05-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
yo voto por usar un TClienteDataset, muy sencillo y con muchas opciones de solución.
__________________

Responder Con Cita
  #5  
Antiguo 14-05-2010
DELFIN2000 DELFIN2000 is offline
Miembro
 
Registrado: mar 2010
Posts: 12
Poder: 0
DELFIN2000 Va por buen camino
Ejemplo de como aplicar ClientDataset

Gracias a los compañeros por su orientacion sobre la tecnica de como crear una factura con sus detalles. Alguien tiene por ahi alguna referecia o mejor un ejemplo de como aplicar un ClientDataset en una factura. pk estoy atorado.

de antemano gracias
Responder Con Cita
  #6  
Antiguo 23-10-2010
Chaja Chaja is offline
No confirmado
 
Registrado: ago 2004
Ubicación: Mar del Plata
Posts: 238
Poder: 0
Chaja Va por buen camino
Master detail

Master:
no se si ya solucionastes el problema, pero te cuento que hago yo.
Yo tengo tres tablas que conforman la factura, una la cabecera, detalles y los impuestos.
estas dos ultimas tienen el id de la cabecera.
Uso ClienttDataSet, ya que son practicos para trabajar y me da las funcionalidades similiares a cuando lo hacia con tablas paradox.
en fin cuando inicio una factura doy de alta los valores de cabecera, y cuando ingreso en los detalles, voy dando de alta cada lina con ref, a la cabecera. los impuesto se generan solo en las opreaciones de calculo que se ejecutan despues de cada post del detalle. Cuando esta en el detalle, yo bloqueo la cabecera, pero eso es depende de como lo hagas, lo hago asi pues en la cabecera, tengo datos que repito en las linea de detalles, como el deposito, la fecha, el codigo de cliente y demas cosas.
Los 3 CDS no los tengo enlazados en relacion master detail. cuando despues de hacer la factura o consulta uno , levanto de las tres tablas haciendo ref,. al id de cabecera.
para gravar genero un incio de tr hago loas applyuptade(0) y comit.
cualquier cosa avisame

Luis Roldan
Mar del Plata
Argentina
Responder Con Cita
  #7  
Antiguo 23-10-2010
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Lo mejor es usar ya sea TClientDatasets o algun otro tipo de tablas en memoria. Primero haces todo tus movimientos tanto en la cabecera como en los detalles y ya cuando vas a grabar inicias una transacción, grabas la cabecera, grabas el detalle y grabas los impuestos y haces un commit. Si ocurre algún problema la transacción se cierra y no se guarda nada de manera que no te quedan registro "volando". Ahora bien, hay casos en los que la cabecera puede tener como clave, id o folio un campo autoincrementado o bien que no sabes su valor hasta que se guarda en la bd, en ese caso haces lo mismo solo que despues de grabar la cabecera, obtienes el valor que le asignó el motor de BD y con ese valor modificas todos los registros de las tablas de detalle y de impuestos y entonces si procedes a grabarlas.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
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
La mejor tecnica para actualizar datos NickName Firebird e Interbase 1 20-06-2011 16:47:08
cual componenete es mejor para dibujar pulpin C++ Builder 4 11-04-2008 08:34:22
Cual es el mejor componente para reproducir video pjmedina Varios 2 24-01-2007 18:47:43
Cual es la mejor opción para imprimir ?? Delphitest Impresión 4 27-10-2006 22:50:59
Cual es la mejor herramienta para Reportes? el_barto Impresión 3 13-06-2005 17:53:32


La franja horaria es GMT +2. Ahora son las 16:01:12.


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