Localizadores sin límites
- Publicado por [N4] agonzalez.velneo
- Código Abierto, Desarrolladores, Velneo
El localizador es un objeto visual de una potencia enorme. Permite localizar un registro concreto desde un menú, un formulario de histórico, una rejilla editable, etc. sin necesidad de que el usuario tenga que memorizar el código del registro buscado. Además, siguiendo la filosofía de programación con Velneo, una de sus ventajas es la simplicidad con la que se programa: para realizar un localizador básico basta escoger la tabla origen y la rejilla en la que se visualizarán los registros.

En este artículo trataremos de daros una solución a los problemas que tradicionalmente por su naturaleza, nos encontramos a la hora de trabajar con localizadores. En primer lugar vamos a identificar estas circunstancias:
- Índices de localizador por proceso: El comando de que disponemos para utilizar un localizador desde un proceso es “Seleccionar ficha mediante localizador” pero en el localizador que nos devuelve este comando nunca dispondremos de la lista de índices, para localizar por código, trozos, etc. Este es el funcionamiento lógico y correcto ya que no tiene ningún sentido tener una lista preexistente, sobre la que queremos trabajar, y que el usuario pueda a continuación seleccionar un índice en el que se incluyen todos los registros. Es decir, un localizador llamado desde proceso, permite seleccionar un registro de entre los que componen la lista desde la que se utilizo el comando “Seleccionar ficha mediante localizador”.
- Resolución de partes de índices: Esta es una utilidad que aporta muchísima potencia a los localizadores. Consiste en poder resolver partes (campos) del índice. Por ejemplo: En un localizador podemos añadir un índice de la tabla facturas compuesto por los campos Código y Empresa resolviendo solo la parte de la empresa y así el usuario solo podrá localizar facturas de la empresa resuelta. Esta resolución parcial no es posible realizarla en un índice por trozos o palabras ya que en un índice por trozos se almacenan las distintas ternas de letras, sin repeticiones, existentes en uno o varios campos, que lo componen. Por tanto es imposible pretender resolver parte del índice con un dato completo ya que en este índice ya no se encuentra ese dato completo. Por ejemplo el código de la empresa, completo, ordenado y alineado.
En el link del final del artículo puedes descargar un mapa de ejemplo en el que se ha desarrollado un localizador manual. En este ejemplo se puede localizar un documento por trozos del nombre del cliente condicionando los documentos a localizar, a la empresa en curso.
El desarrollo consiste en un proceso que inicialmente muestra al usuario un formulario de aspecto similar al del localizador, al final del proceso se retorna la ficha localizada.
En el formulario hay un control edit de una variable que se utiliza para introducir la cadena de búsqueda, a continuación está el botón que ejecuta la búsqueda y muestra los registros encontrados en la rejilla inferior. Ésta es la única diferencia de funcionalidad con respecto a los localizadores nativos de la plataforma, ya que para que se actualice la lista de registros hay que tabular o pulsar el botón de búsqueda. Por último, la selección de una ficha funciona exactamente igual, se puede hacer doble clic en la rejilla sobre el registro deseado o pulsar el botón “Selec” tras seleccionar la ficha. Con el botón “Salir” se cancela la selección de ficha.

Si queremos añadir más índices al localizador manual, basta con añadir una tabla estática en la que el usuario pueda seleccionar el índice deseado y tener esta circunstancia en cuenta a la hora de ejecutar la búsqueda.
Descarga mapa localizador manual
Etiquetas: Código Abierto, desarrollo, ejemplo, Localizador, Velneo








Septiembre 17, 2008 - 20:15 #
Siempre es un consuelo, Alejandro, el tener la solución del formulario localizador que nos proponéis.
Estoy de acuerdo con el tema de los índices en los localizadores normales y su incongruencia en los lanzados por proceso, pero lo que se echa de menos es también el control para proponer el dato a localizar de entre los registros de la lista de origen, en los localizadores lanzados por proceso y, claro, que la localización sea inmediata.
Gracias por tus explicaciones, tan completas.
Septiembre 18, 2008 - 11:38 #
Muchas gracias a ti, Juan.
Ya hemos tenido esta circunstancia en cuenta en el desarrollo de V7. En el blog de betatesters podrás encontrar un artículo donde se trata este tema en V7 de una manera más amplia y técnica “Nuevos comandos de instrucción”.
Saludos.
Octubre 2, 2008 - 13:26 #
Estoy de acuerdo que los localizadores son una herramienta muy poderosa y suponen un ahorra significativo de tiempo a la hora de desarrollar, pero se echa algo de menos….poder subindexar utilizando todos los posibles índices.
Un saludo. Roberto Blasco.
Diciembre 9, 2008 - 15:45 #
[...] más información sobre localizadores, es muy interesante el artículo: Localizadores sin límites Valorar la entrada: (Sin [...]