Jump to content


Photo

Ayuda para organizar una estructura de datos de 4 niveles


  • Please log in to reply
12 replies to this topic

#1 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 posts
  • LocationPinar del Río, Cuba

Posted 11 May 2009 - 09:40 AM

Hola a todos, no se si la pregunta esta bien formulada, pero el problema se los detallo a continuacion
La situacion es que la estructura de una Organización, se compone de 3 niveles en unos casos, y de 4 niveles en otros casos, pero todos responden a la misma empresa.
El programa tiene que Resumir o consolidar para el nivel superior, todos los informes de todas las entidades subordinadas

Caso 1: Empresa -> Nivel Superior -> Nivel Subordinado -> Nivel de Base -> Informes
Caso 2: Empresa -> Nivel Superior -> Nivel Subordinado -> Informes

En un caso es el Nivel Subordinado quien edita los informes, y en el otro caso es el Nivel de Base quien edita los informes

Y aqui es donde me complico al enlazar las tablas de los informes, para despues poder resumir a nivel de empresa

Alguna idea o sugerencia de como resolver este enredo?  :^)


  • 0

#2 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6295 posts
  • LocationArgentina

Posted 11 May 2009 - 11:46 AM

Hola _Jose_,
Entiendo más o menos la organización de la empresa... mi pregunta ahora es ¿informes en que? ¿Qué debemos entender por informes? ¿Qué es el "resumen"?

Eso es lo que no comprendo... ¿Podrí­as darnos algunos detalles más técnicos?

Saludos,
  • 0

#3 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 posts
  • LocationPinar del Río, Cuba

Posted 11 May 2009 - 12:09 PM

Pues, Informes son 8 Modelos donde se introducen los datos, Los modelos son Demandas, Reclamaciones, Contratos y otros

El Resumen es la sumatoria de cada uno de esos modelos

Es decir, un Resumen del modelo de Demandas, otro resumen del modelo de Reclamaciones, etc., agrupados a nivel de empresa

O dicho de otra manera, Visto de forma mas especifica
- En el nivel de base (Brigada), tengo la cantidad de Contratos de una brigada
- En el nivel subordinado (UEB), si edita los Modelos tengo la cantidad de contratos de esa UEB, y si tiene brigadas subordinadas, lo que tiene es la sumatoria de todos los contratos de cada brigada subordinada
- En el nivel superior (Grupo Empresarial), tengo la sumatoria de todos los contratos de todas las UEB subordinadas
- En la Empresa tengo la sumatoria de todos los contratos de cada Grupo Empresarial subordinado, es decir, aqui tendrí­a todos los Contratos.

Como ves, la situacion esta en la UEB, que hay UEB que editan sus modelos porque no tienen brigadas, y en otros casos no edita modelos porque tiene brigadas, y estas son las que llenan los modelos

Espero haberme explicado bien


  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6295 posts
  • LocationArgentina

Posted 11 May 2009 - 12:29 PM

Gracias _Jose_  por los detalles, ahora se va entendiendo mejor el asunto pero la máxima duda y a lo que querí­a llegar es si tu duda pasa más por como organizar los datos en una base de datos... o en como generar los reportes con algún reporteador, QickReport por ejemplo.

Cuando mencionabas informes yo no sabrí­a como interpretarlo, si es que se debe a un reporte generado por un reporteador, si se trata de como organizar una estructura adecuada de los datos para guardar los datos de ciertos informes que registran, etc.

¿Cómo éstas trabajando? Como éstas enfocando tu diseño... es a eso a lo que apunto yo.

Nos describes de forma conceptual pero necesitarí­amos que bajes más a tierra lo que expones. Ser más explí­cito y técnico, si nos comentas que bases de datos usas, que componentes, si se trata a nivel de reporteador, si es algo referente a bases de datos... ¿Me explico?

Saludos,
  • 0

#5 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 posts
  • LocationPinar del Río, Cuba

Posted 11 May 2009 - 02:51 PM

Gracias Delphius por tu atención
Estoy usando delphi 7, con bases de datos de access, y para los reportes uso el QReport
En como sacar los reportes no tengo problemas.

La duda que tengo es en como organizar los datos, de forma que el usuario final no se complique con muchas configuraciones y definiciones de datos.

Y el mayor problema lo veo cuando la empresa va a anexar los datos de las entidades subordinadas, pues unas UEB tienen brigadas y otras no, si siempre fuera la misma situacion (todos con brigadas, o todos sin brigadas), no habria problemas, pues se resuelve con una SQL de datos anexados

En lo que estoy complicado es en como organizar los datos, a la hora de que si la UEB tiene brigadas, lo que tiene que hacer solamente, es importar los Modelos de esas brigadas, y si no tiene brigadas, entonces tendrí­a que tener acceso a los modelos para introducirle o modificar los datos

Esta es la traba que tengo






  • 0

#6 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4266 posts
  • LocationCosta Rica

Posted 11 May 2009 - 03:12 PM

Hola
No se, tal vez no entienda bien pero me parece que con campos clave seria suficiente para que cada cual tenga control y acceso a la parte que le corresponda he interese del programa mas teniendo en cuenta que se usa access, lo cual se hace mas sencillo.
Repito, tal vez no entiendo bien la situación, pero me da la impresión de que es parecido a darle acceso a empleados a diferentes partes de un programa o base de datos.
Usando un mismo programa se puede hacer, no se.
Saludos
  • 0

#7 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 posts
  • LocationMexico D.F:

Posted 11 May 2009 - 04:20 PM

asegun yo entiendo y generalmente no entiendo mucho

lo que pasa es que al generar los reportes
unos tienen mas datos que otros
y pues seria inutil presentar un informe con datos inecesarios
creo hay la respuesta
desde mi muy humilde punto de vista es
que tiengas una tabla donde venga asignado a cada unidad organizativa un tipo de reporte
asi cuando pidan un reporte de la unidad "A" que si tiene brigadas
use plantilla de reporte 1
cuando el reporte sea de la unidad "B" que no tiene brigadas
use la platilla 2


  • 0

#8 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 posts
  • LocationPinar del Río, Cuba

Posted 12 May 2009 - 08:42 AM

Caral
Lo que pretendo No es precisamente darle accesos a diferentes partes del programa a los usuarios.
En realidad el problema los tengo en como organizar la forma de entrar los datos (en unos casos es la UEB y en otros es la Brigada), y de como anexarlos despues a la BD de la Empresa

Arroyoj
Al generar los reportes no tengo problemas, pues ya teniendo los datos correctos en ls BD, lo demas es facil.
El problema esta precisamente en que tengo dos situaciones diferentes para entrar los datos, pero al final todos tienen que anexarse a la BD de la Empresa

  • 0

#9 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 posts
  • LocationPinar del Río, Cuba

Posted 12 May 2009 - 09:00 AM

Resumiendo:
Para el caso de las UEB, si No tiene Brigadas, edita los Modelos, y si Si tiene Brigadas, lo que hace es importar y anexar los modelos de todas sus Brigadas subordinadas

Un poco complicado eh  *-)

  • 0

#10 root

root

    mister

  • Miembro Platino
  • PipPipPip
  • 529 posts
  • LocationMexico D.F:

Posted 12 May 2009 - 09:03 AM

:-# (y) (})
  • 0

#11 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 posts
  • LocationPinar del Río, Cuba

Posted 12 May 2009 - 11:48 AM

Volvi a analizar el problema y lo replantee  *-)

Llegue a la conclusion de dejarlo solo en dos Niveles de Responsabilidad (y asi no me complico tanto  :s)

Cuando la brigada (o cualquier nivel subordinado) vaya a exportar para la UEB (o su nivel superior), agrupo los Modelos por el codigo de la UEB (y no por el de la Brigada), y de esa forma los puedo anexar a los Modelos de la UEB, y como requisito (por supuesto), el codigo de la UEB tiene que existir en la BD del Nivel Superior

Me parece que con este nuevo analisis, resolvere el problema, ya lo probe preliminarmente y funciono

  • 0

#12 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6295 posts
  • LocationArgentina

Posted 12 May 2009 - 08:03 PM

Hola _Jose_
NO he podido pasearme por DA en todo el dí­a, estuve pensando en esto mientras tanto... y la verdad es que no terminaba de comprender concretamente en que aspecto tení­as problemas. Intuí­a que se debe a un aspecto más del tipo estético que de base de datos e informes.

Si el tema es estético o de interfaz, no creo que sea demasiado complicado mostrar y/o ocultar un panel o cualquier otro componente (yo propondrí­a el uso de Frames) que tenga la posibilidad de agrupar controles en él a fin de que se agrupen en éste la información respecto a Nivel de base. Podrí­a lanzarse alguna consulta SQL para determinar si el nivel de subordinado a visualizar tiene o no nivel base, si lo tiene mostrar el panel, en otro caso no dejarlo visible.
O algo similar a esto...

Si es a esto a lo que apuntas... tal vez no es muy tarde a que sigas manteniendo a como lo tení­as y no alterar demasiado el diseño original que tení­as.

Saludos,
  • 0

#13 JoAnCa

JoAnCa

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 775 posts
  • LocationPinar del Río, Cuba

Posted 13 May 2009 - 07:33 AM

Hola Delphius
En lo que es el tema estético o de interfaz, no tengo problemas, pues hay varias formas de poder hacerlo

La dificultad estaba en organizar la estructura de datos, para poder anexarlos de una BD a otra

De la forma en que lo deje, me sirve para cualquier cantidad de niveles de responsabilidad, ya sean 2, 3 o 4 (y mas tambien)

El analisis que hago es el siguiente:
- Si el Cod del Nivel Superior del que voy a importar los datos = Cod Nivel Superior que va a recibir los datos, entonces: Anexo los modelos individuales
Y si son diferentes entonces: Si ese codigo está en mi lista de Nivel Subordinado, entonces Agrupo los Modelos por Nivel Superior en la BD Origen y los anexo en la BD Destino como una entidad subordinada.

De esta forma me sale bien ya
(y)



  • 0




IP.Board spam blocked by CleanTalk.