Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-03-2007
Troffed Troffed is offline
Miembro
 
Registrado: mar 2004
Posts: 51
Poder: 21
Troffed Va por buen camino
Question Actualizar owner en Documentos->Detalles

Tengo un TDoc que contiene una lista de TDetail, lo típico para facturas, pedidos, etc.

En cada TDetail se el TDoc que lo contiene mediante el Owner de cada uno.

En TDoc tengo unas propiedades de solo lectura que son el importe total, las unidades totales, etc.

Cuando se actualiza un TDetail ¿cual es la mejor forma de actualizar los totales del TDoc que lo contiene?

Varias posibilidades:
  1. Que la propiedad se calcule cada vez que se requiera, es decir, que recorra la lista de TDetail acumulando el valor requerido.
  2. Una variante del anterior que sería que se recorre la primera vez y se guarda el valor, mediante un flag se controlaría si se han modificado los detalles o no y entonces se devuelve el valor almacenado o se recalcula de nuevo
  3. Un valor, almacenado y recuperado de la base de datos, que se actualiza cada vez que se modifica, añade o elimina un detalle. En este caso había pensado en hacer un procedimiento en TDoc al que se le pasa el TDetail antes de modificar y el TDetail despues de modificar.
¿Que opináis?
__________________
"De la ignorancia nos equivocamos,
de los errores aprendemos."
---
www.softinspain.com
Responder Con Cita
  #2  
Antiguo 01-04-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Haría falta más información sobre las clases, propiedades relevantes o demás.

Yo apuntaría otra opción, Cuando se modifique un TDetail, éste informa mediante un evento al TDoc, y el TDoc Recalcula el total.

Se debería implementar 2 métodos en TDoc para evitar el Cálculo si queremos modificar todos los TDetails.

¿Conoces el BeginUpdate del TStrings, o el DisableControls del TDataset?

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 01-04-2007
Troffed Troffed is offline
Miembro
 
Registrado: mar 2004
Posts: 51
Poder: 21
Troffed Va por buen camino
Es más o menos lo que comentaba con la opción 3, cuando un TDetail se modifica comunica al TDoc que ha de actualizarse.

Es un buen apunte el que haces con el "BeginUpdate". Y si, los conocía...
__________________
"De la ignorancia nos equivocamos,
de los errores aprendemos."
---
www.softinspain.com
Responder Con Cita
Respuesta



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
Canvas , Handle , Owner . Conceptos de Delphi David OOP 4 07-11-2006 16:08:33
Font.Assign(Owner.Font); vs Font:=owner.Font; eliash OOP 10 10-01-2006 02:14:49
Detalles.... yhoho Varios 2 08-03-2005 13:58:22
Imprimir 2 detalles IVAND Impresión 1 28-11-2003 19:45:09
NombreProcedure(Sender/owner/etc ...)?? Giniromero OOP 7 10-10-2003 18:45:35


La franja horaria es GMT +2. Ahora son las 22:30:29.


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