PDA

Ver la Versión Completa : Problema con campos agregados


alopete
28-12-2007, 12:31:53
Buenas:

A ver si alguien me puede responder a esto:

Trabajo con delphi 2006, dbexpress y firebird 2.

Tengo una tabla maestra (facturas) cuya pk es cod_Factura y cod_empresa. Tb tengo una tabla detalle (lineas) cuya pk es cod_linea y esta unida a la maestra mediante los campos cod_Factura y cod_empresa.

He creado un campo agregado en el clientdatesert del detalle para que me de la suma de importes de la tabla detalle por cada registro de la tabla maestro, pero no tiene en cuenta el campo de empresa, esto es, me hace la suma de los importes de todas las empresas cuyo numero de factura coincida con el del maestro. En cambio en los grids me muestra bien el numero de registros detalle. Que hago mal o como puedo solucionarlo?

Muchas gracias de antemano

Van_Falen
09-01-2008, 18:45:26
Los campos que agregaste son calculados?

Seria bueno que pusieras codigo para poder entender mejor el problema.

jachguate
10-01-2008, 06:36:22
Para salir de la duda, ¿has tocado el valor de GroupingLevel?

Use GroupingLevel to indicate the groups of records over which the field's aggregate is calculated. When GroupingLevel is 0 (the default), the aggregate summarizes all the records in the client dataset. When GroupingLevel is greater than 0, the aggregate summarizes each group of records that has the same values on the first GroupingLevel fields of the index.


Para que esto funcione bien la relación maestro detalle está bien establecida detrás del provider (creo que si, porque comentás que filtra bien en el grid), por lo que del lado de los clientdatasets tendrás en realidad, uno anidado dentro del otro (el detalle dentro del master), y dejando el GroupingLevel a 0, funcionará bien.

Si todo esto está bien, pienso que tamibén es probable que se trate de algun bug dentro de DataSnap (antes midas).

¿que versión de delphi usas? ¿tiene instalados todos sus parches?

Hasta luego.

;)

Oriol M.
10-01-2008, 19:42:56
Hola a todos, paso a creer que se debería definir como llave primaria de la tabla detalle a los tres campos: los dos de factura (factura y empresa) más el de producto.

No conozco Firebird, pero la lógica relacional recomendaría una llave primaria como la que menciono.

Saludos.

jachguate
10-01-2008, 20:05:19
Y esto... ¿tiene algo que ver con el problema que tiene alopete?

Yo creo que no... y prefiero suponer que la llave primaria no está dando problema alguno, pues no se ha mencionado. :p

Hasta luego.

;)

alopete
11-01-2008, 12:20:06
Hola de nuevo:

Ya se me ocurrio lo de la llave primaria pero dadas las caracteristicas de la aplicacion, no se podia hacer (bueno, si se podia tecnicamente pero no funcionalmente). La verdad es que no se pq lo hacia mal, me creo cualquier cosa :)

jachguate
11-01-2008, 16:46:08
Y las preguntas que yo hice... ¿que pasó con tu respuesta?

alopete
11-01-2008, 16:51:16
Predona, a que preguntas te refieres?

Si es lo de la version de delhi: Borland® Delphi® for Microsoft® Windows™ Version 10.0.2151.25345 Copyright © 2005 Borland® Software Corporation. All Rights Reserved.

Lo de los parches no se donde lo indica.

jachguate
11-01-2008, 17:31:19
Bien, veo que se trata de BDS 2006.

Si no sabes si tiene aplicados los parches, es porque no los tiene. :)

Te recomiendo instalarlos. El IDE será mucho mas estable y se corregirán algunos bugs en la VCL, aunque no se si eso pueda ser la solución a esto. Tampoco me has respondido sobre la relación maestro detalle y el grouplevel.

Los parches podes encontrarlos en:
http://www.codegear.com/downloads/regusers/delphi

Si no lo recuerdo mal, hay 2 updates y 10 hotfixes.

Hasta luego.

;)

alopete
14-01-2008, 08:03:43
hola de nuevo:

Lo de maestro detalle y el grouping level no lo he entendido como pregunta pero es igual: como indicaba arriba, si que funciona bien el maestro detalle, ami tambien me xtraña que funcionando bien ,el campo agragado no lo haga. Le puse algun refresh pero ni aun asi. El grouping level si que lo tengo puesto a 0.
si me he dejado alguna pregunta mas, dimelo sin miedo.

Se puede bajar esos parches que comentas?

Un saludo