Ver Mensaje Individual
  #1  
Antiguo 17-05-2016
ronalg ronalg is offline
Miembro
 
Registrado: may 2003
Ubicación: Sucre - Bolivia
Posts: 68
Reputación: 21
ronalg Va por buen camino
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.
Responder Con Cita