Inicio > LotusScript > Reutilización de una vista

Reutilización de una vista


reutilvista.gif

Hace poco me encontré con un problemilla: necesitaba mostrar la misma información ordenada o filtrada por un criterio y no quería hacer x vistas por cada una de las posibilidades puesto que si lo hacía de ese modo la base de datos iba a tener demasiadas vistas. Para solucionar este problema en bases de datos relacionales uno suele hacer una consulta en tiempo de ejecución, es decir, construye la sentencia SQL según las necesidades que el usuario solicita y entonces se realiza la búsqueda en las tablas. Podemos hacer eso mismo o parecido en Lotus Notes? Desde la versión 6 es posible! por que a la clase NotesView se le añadió la propiedad “SelectionFormula” que es de lectura y ESCRITURA.

Os lo explicaré mejor con un ejemplo de mi caso:

Dim ws As New NotesUIWorkspace
Dim uiview As NotesUIView
Dim view As NotesView
Dim formula As String

formula = “SELECT ((Form = ‘10.10 ComExpediente’) | (Form = ‘ComExpediente’) & NivelAcceso=’Desarrollo’)”
Set uiview = ws.CurrentView
Set view = uiview.View
view.SelectionFormula = formula
Call ws.ViewRebuild
Call ws.ViewRefresh

Cómo veis existe una variable (formula) dónde se define los documentos que serán visibles en la vista. En esta caso todos aquellos que cumplan que el nivel de acceso sea igual a “Desarrollo”.

El código aquí mostrado puede ponerse en varias acciones (como se ve en la imagen bajo la opción “ver” ) para filtrar la información en tiempo de ejecución.

Es importante que recordeis que si quereis máxima velocidad, es mejor tener las vistas precalculadas y no reutilizar una como aquí. Pero si lo que mostrais no tiene muchos documentos y la base de datos empieza a tener muchos elementos de diseño… es muy útil.

Categorías:LotusScript
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: