FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
yo voto por usar un TClienteDataset, muy sencillo y con muchas opciones de solución.
__________________
|
#2
|
|||
|
|||
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 |
#3
|
|||
|
|||
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 |
#4
|
||||
|
||||
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|| |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
La mejor tecnica para actualizar datos | NickName | Firebird e Interbase | 1 | 20-06-2011 15:47:08 |
cual componenete es mejor para dibujar | pulpin | C++ Builder | 4 | 11-04-2008 07:34:22 |
Cual es el mejor componente para reproducir video | pjmedina | Varios | 2 | 24-01-2007 17:47:43 |
Cual es la mejor opción para imprimir ?? | Delphitest | Impresión | 4 | 27-10-2006 21:50:59 |
Cual es la mejor herramienta para Reportes? | el_barto | Impresión | 3 | 13-06-2005 16:53:32 |
|