Page 1 of 1

Seleccionar campos múltiples en PropertyGroup

PostPosted:Sat May 18, 2013 4:41 pm
by rbahntje
Utilizando la opción de seleccionar los metadatos de una tabla, es posible cargar más de un campo con un mismo select?

Tomando el ejemplo publicado en http://wiki.openkm.com/index.php/Form_E ... escription

En la definición del Property Group el select utiliza 2 variables pero solo una es utilizada:
Code: Select all
 <select label="Provincia" name="okp:provincia" type="simple" 
      	table="provincia" 
        optionsQuery="select $pro_id, $pro_nombre from DatabaseMetadataValue dmv where dmv.table='provincia'"/>
Que determina que el valor de okp:provincia sea $pro_nombre y no $pro_id?

Es posible aplicarle al documento ambos metadatos? (pro_id y pro_nombre)?

Gracias
Ruben

Re: Seleccionar campos múltiples en PropertyGroup

PostPosted:Mon May 20, 2013 10:15 am
by jllort
Uno es la clave primaria pro_id de hecho podrías hacer una select del tipo:
Code: Select all
select $pro_id, concat($pro_id, "-", $pro_nombre) from DatabaseMetadataValue dmv where dmv.table='provincia'
Notese que esto se ha hecho pensado en una mysql ( concat ) !

Se podría intentar hacer una select de varias tablas
dmv.table into ('tabla1', 'tabla2') pero ojo que entonces o las dos tienen un $pro_id o esto lo tendras que plantear de otra forma. Date cuenta que el $pro_id internamente lo que hace es hacer un getString("pro_id") esta es un poco la idea de la implementacion interna ( podrías probar con un $0 ? sinceramente tendría que ver el código fuente para hacer una estimación de lo que puede pasar ).

De todas formas la idea de que un metadata venga de varias tablas fuente es un poco raro. Me gustaría entender el caso.

Re: Seleccionar campos múltiples en PropertyGroup

PostPosted:Mon May 20, 2013 3:34 pm
by rbahntje
Me exprese mal, los metadatos vienen todos de la misma tabla, lo que busco es poder traer más de un dato.
Supongamos que a la tabla provincia le agregamos un campo para el código postal (pro_zipcode), no me queda claro como hacer para que el select devuelva ambos datos y los aplique como metadatos, ej:

Provincia: Nombre_de_la_Pcia
ZipCode: 00010

Re: Seleccionar campos múltiples en PropertyGroup

PostPosted:Tue May 21, 2013 8:57 am
by jllort
Tu lo que quieres es que un campo dependa de otro no ? A partir de la provincia que te añada el código postar. Es esto ?

Re: Seleccionar campos múltiples en PropertyGroup

PostPosted:Wed May 22, 2013 1:58 am
by rbahntje
Exacto, seleccionando un campo pueda aplicar como metadatos el resto de los datos almacenados en la misma fila (no se trata de hacer joins ni buscar datos en diferentes tables, sino de aplicar un PropertyGroup que contiene más de un campo)

Re: Seleccionar campos múltiples en PropertyGroup

PostPosted:Thu May 23, 2013 7:04 am
by jllort
Esto no esta implementado. Se puede hacer pero tiene su trabajo. Requiere primero un cambio en el dtd para que se puedan establecer relaciones entre properties y lo segundo es modificar el FormManager.java para contemplar este caso ( obviamente el cambio del dtd implica algun que otro cambio en el Select.java y en la forma como se leen los datos del xml ).