![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Los TDataSource en maestro detalle
Buenas y santas amigos de club delphi, regresando a la programación desde hace unos meses despues de varios años alejado y dedicado a a la administración y a la educación, estoy algo empolvado en el tema pero algunas cosas no se olvidan (a Dios gracias).
Estoy haciendo el clasico sistema de compras, ventas y almacenes y me surgen algunas dudas sobre la eficiencia de mi lógica, por favor les pido darme unas orientaciones y espero no ser muy "cargaso" con mis consultas. ahora tengo una consulta: Tengo cuatro tablas: TB_COMPRAS_VENTAS (GUARDA LAS VENTAS Y LAS COMPRAS) TB_DETALLES_CV (GUARDA EL DETALLE DE LOS ITEMS EN RELACION CON TB_COMPRAS_VENTAS); TB_SERIES_ITEMS (GUARDA LAS SERIES DE LOS ITEMS, SI LOS TIENEN, EN RELACION CON CADA LINEA INSERTADA EN TB_DETALLES_CV DEFINIDO POR LA CANTIDAD DE ITEMS VENDIDOS EN LA LINEA DE DETALLE, POR EJEMPLO VENDO 4 PROCESADORES Y CADA UNO TIENE SU NUMERO DE SERIE) TB_CUOTAS (EN RELACION CON TB_COMPRAS_VENTAS ALMACENA LAS CUOTAS DE PAGO DE LA VENTA CUANDO ES A CREDITO) Obviamente estan conectados maestro detalle con Tdatasource y para evitar problemas de integridad referencial en mi servidor (perdón uso Firebird 2.5) uso las actualizaciones en cache una vez que envio toda la venta aplicando las actualizaciones en cache los triggers se encargan de hacerel resto (actualizar inventarios, etc) [esta utlima parte de los trigger es mi segunda duda]. 1ra Duda: Uso los mismos datasource para hacer la relacion maestro detalle y para conectar los componentes de datos en el formulario de ventas me gustaria saber si esto es correcto o por lo menos factible o me traera algún problema en un futuro; sería mejor usar un datasource para la relacion maestro detalle entre mis TIBDatasets y usar otro datasource para conectar los componentes de datos. 2da Duda: Es recomendable usar actualziaciones en cache juntamente con triggers o son incompatibles, hasta donde entiendo debrian ser compaibles. 3ra Duda: Uso campos LOOKUP en varias de mis tablas. Por ejemplo la TB_DETALLES_CV tiene un campo REF_ITEM que lo relaciona con la TB_ITEMS donde se lista los items, su nombre y su existencia en almacenes pero en TB_DETALLES_CV solo se inserta el CODIGO del ITEM en el campo REF_ITEM uso un campo LOOKUP para mostrar el nombre del item. Pero también podria usar en la propiedad SELECTSQL del IBDataSet relacionado con la tabla TB_DETALLES_CV una consulta usando JOIN para evitar usar campos LOOKUP (Tambien deberia modificar la propiedad REFRESHSQL) ¿QUE ES MEJOR? USARS CAMPOS LOOKUP O USAR CONSULTA CON JOINs DE ANTEMANO, MIL GRACIAS POR SU AYUDA.
__________________
Saludos desde Sucre - Bolivia "Si te lo puedes imaginar lo puedes resolver" Pyriel Última edición por ronalg fecha: 17-05-2016 a las 00:59:14. |
#2
|
||||
|
||||
......................
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#3
|
|||
|
|||
Gracias mil
Sobre al duda Nro 2 lei en varios lugares que los cacheupdates en los ibdataset (delphi 6 - 7 y al parecer delphi XE5 hasta XE8 aun tienen esos componentes); producen errores "inexplicables" cuando se combinan con trigger.
En lo personala mi no me ha pasado, pero ante la duda pregunto...... será que a alguien le ha pasado? y que cuidados tener para que no pase estos errores.
__________________
Saludos desde Sucre - Bolivia "Si te lo puedes imaginar lo puedes resolver" Pyriel |
#4
|
||||
|
||||
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Saber si el DBGrid (Detalle) esta Vacio en Relacion Maestro/Detalle | Adrian Murua | Conexión con bases de datos | 2 | 03-01-2009 13:48:46 |
Maestro/Detalle (No graba en tabla Maestro) | teclilla | Tablas planas | 12 | 21-04-2008 20:59:54 |
Problema tabla Maestro-detalle en la q la pk de t.detalle formad por 2cods de la maes | akinom38 | Varios | 1 | 09-11-2007 19:27:44 |
Numerar el detalle Maestro / detalle en secuencia | josejose | SQL | 5 | 10-02-2007 00:27:38 |
Maestro-Detalle ;Actualizar detalle a partir de un DBgrid | norberto_larios | Conexión con bases de datos | 1 | 11-09-2004 18:17:34 |
![]() |
|