Indice compuesto con campo por trozos de palabra


([N1] Giuseppe::Komenco) #1

Es posible definir un indice compuesto donde uno de los campos sea por trozos de palabras?
.
Uso bastante la nueva vista de datos en los campos de edición alfabética, subindexada por empresas. Pero a la hora de buscar, me gustaría que lo hiciera por trozos de palabras. He intentado cambiar el ínidice usado, pero no me aparece los campos de trozos de palabras. Para estos casos, debería usar un localizador?


([N4] sat) #2

Hola:

Hasta donde yo se, los índices por palabras o por trozos de palabras no admiten subindexación. Por tanto, cualquier comportamiento en esta línea, tendrás que programártelo tú.

Un saludo.


([N1] Giuseppe::Komenco) #3

Nunca me he tenido que hacer un localizador, y me he puesto manos a la obra.
.
Me he creado un formulario sin origen, con un campo edición alfabética para la introducción del valor y
una vista de datos, para mostrar los datos.
.
Me he creado una búsqueda, que filtra por empresa, y cruza por el indice de trozos, y ese índice de trozos, lo resuelvo con uan variable.
.
Por otro lado, me he creado una función (con el valor a buscar como parámetro), que creando un manejador de objeto lanza la búsqueda, modificando la variable del objeto búsqueda, para retornar la lista a la salida, y alimentar la vista de datos con ésta función.
.
El problema es, que no me deja añadir la lista a la salida de la función, pero, según la función, me encuentro obviamente en una lista de entidades. Alguna idea?

[attachment=21086,1666]


([N1] Giuseppe::Komenco) #4

Ninguna idea?


([N4] Fran) #5

Buenos dias:

No lo he probado, pero se me ocurre realizar esta búsqueda con un proceso, que si permite retornar una lista o una ficha.

El proceso y el objeto que muestre la lista resultante, se concatenarían con una acción... ya digo que no lo he probado y no se si funcionaria.

Un saludo,

Fran.
EfeUno Consultores de Gestión y Software, S.L.
www.efeuno.org


([N1] Giuseppe::Komenco) #6

Pero entonces como le paso al proceso el texto que intento buscar? Por eso uso una función.


([N1] Pepeto) #7

Respecto a la imagen, tienes razon, no se puede "Añadir la lista a la salida"

Pero puede ser por varias razones, para que esta instruccion funcione, el Destino del proceso debe ser de Lista y la Tabla de registros correspondiente a la misma tabla de la busqueda.

Si no es asi, puedes crear una Cesta local y cuargar los registros en la cesta y despues "Procesar la cesta."

un saludo
José Luis
http://www.ascsl.com


([N2] gegeo) #8

@Giuseppe

¿Probaste la instruccion en la carpeta objetos: Añadir lista al objeto (.locent) ?

Saludos ;)


([N1] Giuseppe::Komenco) #9

@Gegeo

No, no probé, porque el objeto locent es la búsqueda en sí, por lo que no veo sentido, añadir la salida de la búsqueda, a la búsqueda...
Comento lo que intento hacer.
Quiero desarrollarme un localizador, que me permita localizar entidades por trozos de palabra y subindexado por empresas.
.
Y para ello, me he hecho un formulario, con un campo de edición donde introducir el texto, y una vista de datos donde pretendo mostrar los datos coincidentes, de una búsqueda que me he creado. Ahora, la cuestión, es plasmar esa búsqueda en la rejilla, y es donde estoy atascado. Quizás lo estoy enfocando incorrectamente.


([N2] gegeo) #10

Por otro lado, me he creado una función (con el valor a buscar como parámetro), que creando un manejador de objeto lanza la búsqueda, modificando la variable del objeto búsqueda, para retornar la lista a la salida, y alimentar la vista de datos con ésta función.
.
El problema es, que no me deja añadir la lista a la salida de la función, pero, según la función, me encuentro obviamente en una lista de entidades. Alguna idea?

Segun entendi, no podias retornar la lista.
Si no añades la lista al objeto, no tienes el resultado de la lista todavia para trabajarlo.

Cuando añades la lista al objeto, es entonces cuando puedes hacer con la lista que ha resultado de tu busqueda, lo que quieras.
La recorres, la estableces en una variable local como resultado, la devuelves como retorno del proceso...

Saludos ;)


([N2] overall) #11

Hola Giuseppe,
Todo lo que te detallo en las líneas de abajo lo llamas desde un manejador de objetos, tal y como lo tienes hecho (en lugar de llamar a la búsqueda, llamas a un formulario)
Deberías crear un formulario (form_MENU) y añadir un control "Vista de datos" que como objeto_1 llame una búsqueda y objeto_2 la rejilla. La búsqueda tendrá asociado un formulario, donde nos pedirá la información requerida (aquí podemos definir la búsqueda por palabras, trozos, nombre, etc... y todo ello con un componente en la búsqueda que nos devuelva los registros por empresa. Lo que tendrás que hacer es poner las mismas variables del formulario de la búsqueda que la propia búsqueda.
Cuando lancemos el formulario form_MENU, nos pedirá los datos que tengamos en el formulario asociado a la búsqueda, y después de aceptar nos presentará los datos que nos proporcionará el resultado de la búsqueda, desde aquí solo nos hará falta incluir un botón que llame a un evento y que éste atrape el contenido del registro seleccionado en la rejilla y nos lo devuelva al manejador de objetos de donde lo hemos llamado mediante la sentencia "Get variable local del objeto..."

Espero que te sirva.

Saludos


Overall

Luis Palomo

overall@overall-bcn.com

www.overall-bcn.com


([N1] Giuseppe::Komenco) #12

A ver si lo he entendido correctamente.
.
Requisitos.
Formulario para la rejilla, formulario para los datos de la búsqueda, la búsqueda, la acción, y el proceso.
Paso Uno.
Acción que llama a un proceso, que crea el manejador de objeto formulario con la rejilla, que se alimenta de una búsqueda con formulario donde introducimos el término a buscar.
Paso Dos.
En el formulario rejilla, con la búsqueda refinada, un evento que recupera el valor de la rejilla, y lo guarda en una variable.
Paso 3
En el subproceso del manejador, recupero la variable con Get Variable local

Todo ésto está y funciona, pero....ahora como recupero éste valor para el control, donde precisamente quiero el valor?


([N2] overall) #13

Giuseppe, entiendo que en el proceso que llamas al manejador de objetos es el que tiene que atrapar el contenido, para que quieres añadir añadir ficha o lista a la salida?, se entiende que necesitas solo un registro, no?, de ser así lo atrapas con "Get variable local del objeto...", de esta manera ya tienes el registro que querías localizar.
Saludos


Overall

Luis Palomo

overall@overall-bcn.com

www.overall-bcn.com


([N1] Giuseppe::Komenco) #14

Es un formluario (bueno, varios) en el que intento localizar un valor para un campo, una entidad para más señas.

Uso bastante la nueva vista de datos en los campos de edición alfabética, subindexada por empresas. Pero a la hora de buscar, me gustaría que lo hiciera por trozos de palabras. He intentado cambiar el ínidice usado, pero no me aparece los campos de trozos de palabras. Para estos casos, debería usar un localizador?

Gracias.

[attachment=21114,1668]


([N4] mdelgado) #15

@Giuseppe

Hola, échale un ojo a este post

http://www.theseedsc.com/blog/panel-de-busqueda/

saludos
Miguel Delgado


([N1] Giuseppe::Komenco) #16

Parece la aproximación que comentaba @Pepeto de hacerlo con centas.
.
Este tema ya lo dejo para mañana, porque me estoy empezando a cabrear, y voy a comenzar a escupir fuego, así que mejor...gracias Miguel,


([N2] overall) #17

Si miras la open app overERP verás que utilizo localizadores de este tipo. Creo que es lo que buscas.
Saludos


Overall

Luis Palomo

overall@overall-bcn.com

www.overall-bcn.com