Formulario con subformularios

vForum público de la plataforma de desarrollo Velneo

Moderador: vCoaches

miguelc
vRookie
vRookie
Mensajes: 12
Registrado: 23 Feb 2007, 01:05
Ubicación: Valparaíso - Chile

Formulario con subformularios

Mensaje por miguelc » 11 May 2007, 19:17

Hola amigos:

Estudio Ingeniería en informática y estoy probando Velneo desde varios frentes.

1.- Desarrollando un prototipo de aplicación para un juzgado

2.- Desde HCI (Human computer interaction), es decir evaluando la usabilidad de aplicaciones desarrolladas con Velneo.

Mi problema es con lo siguiente: No he podido generar un formulario de captación de datos que incluya subformularios y que los datos guardados en el formulario se guarden en una tabla y los de los subformularios en otra tabla. EJemplo:

Tabla caso


Nombre del caso
Id-caso:
Fecha-caso:
etc....

______________________________________________________

Tabla personas


Id-persona
Tipo_persona: Demandado
Nombre-persona: Juan
Direccion-persona:
etc...


Tabla personas


Id-persona
Tipo_persona: Demandante
Nombre-persona: Pedro
Direccion-persona:
etc...

Hacer que todos estos datos se capturen en un mismo formulario; pero que se guarden en distintas tablas....... ¿Talvez con variables globales???...Gracias por la ayuda.
Hay 10 tipos de personas: Las que conocen los números binarios y las que no.

Francisco Hoyos
vLeader
vLeader
Mensajes: 2712
Registrado: 22 Sep 2005, 17:56
Ubicación: Gijón (Asturias) España GMaps: 43.538740, -5.661970

Mensaje por Francisco Hoyos » 11 May 2007, 19:33

Tal y como lo planteas la solución típica en Velneo sería la siguiente.

A nivel de tablas

Tabla maestra de Casos y Tabla maestra Personas, histórica de Casos.

A nivel de formulario:

Una pestaña con los datos del caso.
Otra pestaña con una rejilla de histórico apuntando a la tabla personas donde poder dar de alta las personas relacionadas con el caso.

Un saludo.

cabella
vLeader
vLeader
Mensajes: 1013
Registrado: 21 Sep 2005, 16:01
Ubicación: Madrid - España

Mensaje por cabella » 12 May 2007, 18:02

Lo entenderás mejor con el típico ejemplo de Facturas.

Con la cabecera de factura y las líneas que son la rejilla de histórico.

Mírate alguno de los ejemplo y verás como lo solucionas en un plis, plas.

miguelc
vRookie
vRookie
Mensajes: 12
Registrado: 23 Feb 2007, 01:05
Ubicación: Valparaíso - Chile

Mensaje por miguelc » 16 May 2007, 10:37

Amigos:

Gracias por la ayuda... considero que he avanzado en mis conocimientos de Velneo y su potencial; pero lamentablemente para mi, aún no concibo una forma para lograr mostrar 2 registros distintod de la tabla personas - uno en cada subformulario- ya que cuando pincho en la opcion buscar registro y luego elijo uno de ellos, este se muestra en ambos subformularios....

es decir si cargo los datos de un demandado llamado Juan; estos mismos datos se muestran en el subformulario del demandante. Osea Juan se muestra como demandado y demandante...

Hice 2 indices en la tabla casos que apuntan a la tabla personas; pero nada.... igual me da el mismo resultado...

¿Alguna ayuda?.. se lo agradeceria. Gracias amigos
Hay 10 tipos de personas: Las que conocen los números binarios y las que no.

Francisco Hoyos
vLeader
vLeader
Mensajes: 2712
Registrado: 22 Sep 2005, 17:56
Ubicación: Gijón (Asturias) España GMaps: 43.538740, -5.661970

Mensaje por Francisco Hoyos » 16 May 2007, 11:20

Hola miguelc.

Antes de llegar a la fase de la interface con el usuario, creo que no estaría nada mal plantear la parte correspondiente al diseño de la base de datos, con las tablas implicadas y todas sus relaciones.

Entiendo que un caso puede tener varios demandados y varios demandantes. La forma de resolver esto es crearte una tabla de Demandados y otra tabla de Demantantes. Ambas serián históricas de la tabla Casos. El contenido en ambas tablas sería el mismo: un campo código, un campo puntero a mestro donde se guardaría el código del Caso, y un campo puntero a maestro donde se guardaría el código correspondiente a la tabla Personas. También podrías plantearlas como tablas submaestras de la tabla Casos.

Como es lógico, tendrías que crear formularios y rejillas (como mínimo) para estas dos tablas. Y te aconsejo que en los formularios uses los clásicos botones para localizar, dar de alta o modificar los registros de la tabla Personas.

En el formulario de Casos podrías utilizar una pestaña con un subformulaio con una rejilla de histórico para ver/dar de alta/eliminar los demandantes y otra pestaña con un subformulaio con rejilla de histórico para ver/dar de alta/eliminar los demandados.

Creo que esto sería mas ajustado a la realidad cotidiana y sería plenamente funcional.

Un saludo.

miguelc
vRookie
vRookie
Mensajes: 12
Registrado: 23 Feb 2007, 01:05
Ubicación: Valparaíso - Chile

Gracias Francisco

Mensaje por miguelc » 16 May 2007, 19:22

Hola Francisco:

Mira, lo habia pensado de esa forma; pero yo vengo con la mentalidad del modelo entidad-relación (bases de datos relacionales) y aún no asimilo bien en modelo "real" que plantea velneo. (espero hacerlo pronto.... a medida que siga desarrollando aplicaciones).

Ahora bien, no lo hice asi como lo recomiendas porque veo el problema de la redundancia de datos.... ejemplo: Hipotéticamente:

En el caso #1, Juan pérez es el demandante; pero puede ocurrir que ese mismo Juan Pérez sea el demandado en el caso #2 o en varios otros casos; por lo tanto tendría a esa persona en varios registros con los mismos datos en diferentes tablas. ¿Me entiendes???...

El año pasado desarrollé esta aplicación en una asignatura en la universidad, partiendo desde la toma de requerimientos, aplicación de metodología UML, arquitectura 3 capas y terminando en el desarrollo con .NET y SQL Server.

Quiero darle una vuelta más y ver como puedo resolver este problema. Te agradesco tu ayuda. Luego te cuento y a los que quieran saberlo, como resolvi el asunto. Un abrazo. Bye
Hay 10 tipos de personas: Las que conocen los números binarios y las que no.

Francisco Hoyos
vLeader
vLeader
Mensajes: 2712
Registrado: 22 Sep 2005, 17:56
Ubicación: Gijón (Asturias) España GMaps: 43.538740, -5.661970

Mensaje por Francisco Hoyos » 17 May 2007, 08:53

Hola miguelc.

Efectivamente, veo que aún no has terminado de ver claro el modelo. Es mi culpa. No he sabido explicar bien las cosas..

De mi torpe explicación se debería haber deducido que no existe redundancia. Las tablas de Demandantes y Demandados de mi ejemplo sólamente son tablas de relación entre la tabla de Casos y la tabla de Personas. Al ser tablas de relación, no guardan información, solamente contienen punteros (campos que apuntan) a los registros de las tablas maestras correspondientes. Ergo... no hay redundancia de datos.

Si este planteamiento de las cosas te sigue creando problemas, no duces en comentarlo. Construyo un pequeño ejemplo y te lo hago llegar para que lo estudies.

Un saludo.

miguelc
vRookie
vRookie
Mensajes: 12
Registrado: 23 Feb 2007, 01:05
Ubicación: Valparaíso - Chile

Agradecería muuucho un ejemplo práctico

Mensaje por miguelc » 17 May 2007, 15:27

Francisco:

Gracias por contestar e interesarte en ayudarme a resolver este asunto. Mira, creo que si puedes desarrollar un ejemplo básico de lo que me tiene atascado, seria genial...

Cuando puedas hacerlo me lo envias. Muchas gracias de nuevo.

Mi mail: sepptimodiahoy@hotmail.com
Última edición por miguelc el 19 May 2007, 15:29, editado 1 vez en total.
Hay 10 tipos de personas: Las que conocen los números binarios y las que no.

Francisco Hoyos
vLeader
vLeader
Mensajes: 2712
Registrado: 22 Sep 2005, 17:56
Ubicación: Gijón (Asturias) España GMaps: 43.538740, -5.661970

Mensaje por Francisco Hoyos » 17 May 2007, 17:05

Ya lo tienes en tu correo.

Un saludo.

miguelc
vRookie
vRookie
Mensajes: 12
Registrado: 23 Feb 2007, 01:05
Ubicación: Valparaíso - Chile

Gracias Francisco

Mensaje por miguelc » 19 May 2007, 15:25

Francisco:

Gracias por proporcionarme la ayuda para salir del problema... el ejemplo que me enviaste es perfecto, justo lo que necesitaba. Ahora lo estoy implementando en todas las operaciones que lo requieren dentro de la aplicación.

Cuando revisé el .map lo entendi inmediatamente y me puse a trabajar de inmediato... no me di cuenta de la hora, asi que terminé como a las 5 de la mañana.... (tú sabes que los informáticos funcionamos más de noche). en fin... Un abrazo y reitero mis agradecimientos. Adiós
Hay 10 tipos de personas: Las que conocen los números binarios y las que no.

Responder