Discussion:
[tryton-es] Agrupación de registros
Josias Pérez
2017-10-08 18:46:28 UTC
Permalink
Hola, buen día.

Me gustaría saber la mejor manera de agrupar registros para un informe.

Manejamos la siguiente jerarquía de información,

Zona
-- Distrito

Con reportes por semana y por mes.

Estoy sobreescribiendo el método search con context_model para realizar la
consulta y funciona bien.
http://doc.tryton.org/4.4/trytond/doc/ref/models/models.html?highlight=search#trytond.model.ModelStorage.search


La pregunta es como agrupar los los resultados del método *search*

*Reporte Actual*
*Zona Distrito Cantidad*
Zona 1 Distrito A 10
Zona 1 Distrito B 20
Zona 2 Distrito C 30
Zona 2 Distrito D 25
Zona 2 Distrito E 25
Zona 3 Distrito F 22
Zona 3 Distrito G 23

*Reporte Resumido*
*Zona Cantidad*
Zona 1 30
Zona 2 80
Zona 3 45
:
*Reporte actual *
*Zona Semana Mes Cantidad*
Zona 1 Semana 1 Octubre 25
Zona 1 Semana 2 Octubre 25
Zona 1 Semana 3 Octubre 25
Zona 1 Semana 4 Octubre 25

*Reporte resumido*
*Zona Mes Cantidad*
Zona 1 Octubre 100

Desde ya muy agradecido por la ayuda!
Sergi Almacellas Abellana
2017-10-09 07:24:54 UTC
Permalink
Hola, buen día.
Hola,
Me gustaría saber la mejor manera de agrupar registros para un informe.
Manejamos la siguiente jerarquía de información,
Zona
-- Distrito
Con reportes por semana y por mes.
Estoy sobreescribiendo el método search con context_model para realizar
la consulta y funciona bien.
http://doc.tryton.org/4.4/trytond/doc/ref/models/models.html?highlight=search#trytond.model.ModelStorage.search
<http://doc.tryton.org/4.4/trytond/doc/ref/models/models.html?highlight=search#trytond.model.ModelStorage.search>
Aunque te funcione, yo creo que lo mejor es crear modelos nuevos que
definan el método table_query [1] para hacer la consulta directa a la
base de datos. En esa consulta, puedes utilizar la clausula group_by
para agrupar con los criterios que quieras.

En el módulo de timesheet[2] tienes varios ejemplos de cómo hacer
reportes similares a los que estas buscando.

Un saludo,


[1]
http://doc.tryton.org/4.4/trytond/doc/ref/models/models.html?highlight=table_query#trytond.model.ModelSQL.table_query
[2] http://hg.tryton.org/modules/timesheet/file/9708a4e8ad35/line.py#l203
--
Sergi Almacellas Abellana
www.koolpi.com
Twitter: @pokoli_srk
Josias Pérez
2017-10-11 05:42:46 UTC
Permalink
Funciona perfecto, muchas gracias!

El lunes, 9 de octubre de 2017, 1:24:56 (UTC-6), Sergi Almacellas Abellana
Post by Josias Pérez
Post by Josias Pérez
Hola, buen día.
Hola,
Post by Josias Pérez
Me gustaría saber la mejor manera de agrupar registros para un informe.
Manejamos la siguiente jerarquía de información,
Zona
-- Distrito
Con reportes por semana y por mes.
Estoy sobreescribiendo el método search con context_model para realizar
la consulta y funciona bien.
http://doc.tryton.org/4.4/trytond/doc/ref/models/models.html?highlight=search#trytond.model.ModelStorage.search
Post by Josias Pérez
<
http://doc.tryton.org/4.4/trytond/doc/ref/models/models.html?highlight=search#trytond.model.ModelStorage.search>
Aunque te funcione, yo creo que lo mejor es crear modelos nuevos que
definan el método table_query [1] para hacer la consulta directa a la
base de datos. En esa consulta, puedes utilizar la clausula group_by
para agrupar con los criterios que quieras.
En el módulo de timesheet[2] tienes varios ejemplos de cómo hacer
reportes similares a los que estas buscando.
Un saludo,
[1]
http://doc.tryton.org/4.4/trytond/doc/ref/models/models.html?highlight=table_query#trytond.model.ModelSQL.table_query
[2] http://hg.tryton.org/modules/timesheet/file/9708a4e8ad35/line.py#l203
--
Sergi Almacellas Abellana
www.koolpi.com
Loading...