Scripting clases documentales.
Es el tipo de scripting que más se utiliza y sirve para personalizar las acciones y el comportamiento del sistema dentro de una clase documental.
Por ejemplo, la clase documental “Cliente” puede tener cierto comportamiento mientras el documento esté activo, y la clase documental “Proveedor”, uno totalmente distinto.
Este tipo de scripting estará disponible para todas aquellas ventanas de Thuban donde se haga uso de los documentos de una clase documental: Creación, búsqueda, edición de documentos, entre otras. Para su funcionamiento, deberá crear un archivo .bsh con una estructura predeterminada, cuyo nombre sea el mismo que el de la clase documental. Luego, deberá introducir el .bsh generado dentro de la carpeta Scripting, que se encuentra dentro de la carpeta Context.
Eventos de scripting de Clases Documentales
El scripting se ejecuta cuando desde el aplicativo se disparan determinados eventos. A continuación se detallan los eventos de scripting.
indexesBulkLoad
Se ejecuta al momento de cargar la pantalla de indexación rápida de documentos. En el mapa de parámetros del evento, se incluyen los siguientes componentes. El nombre del parámetro sería como la key del mapa.
winDocIndex: Es la ventana DocIndex.
classId: El nombre de la clase documental.
documentService: El servicio de Thuban para el manejo de documentos.
applicationContext: El contexto de la aplicación de donde es posible obtener cualquier bean del sistema, ya sean propios del sistema o nuevos definidos en user-application-context.xml
dataSource: el datasource de conexión a la base de datos de Thuban.
contextHolder: El contexto de aplicación de spring.
adminService: Servicio de Thuban con funciones de administración, entre otros servicios, para ejecutar consultas contra la base de datos de Thuban.
indexesBulkSave
Se ejecuta al antes de empezar el proceso de actualización de todos los documentos en la ventana de indexación rápida. Lo que se obtiene en el evento es:
Idem indexesBulkLoad
indexesBulkAfterSave
Se ejecuta al finalizar el proceso de actualización de todos los documentos en la ventana de indexación rápida. Lo que se obtiene en el evento es:
Idem indexesBulkLoad
indexesBeforeItemSave
Se ejecuta en la ventana de indexación rápida de documentos antes de actualizar cada documento. Es decir, el evento se dispara una vez por documento cada documento que se vaya a actualizar, antes de que el mismo sea actualizado. Lo que se obtiene en el evento es:
Idem indexesBulkSave más documentId, que es el id Thuban del documento que se está actualizando.
indexesAfterItemSave
Se ejecuta en la ventana de indexación rápida de documentos luego de actualizar cada documento. Es decir, el evento se dispara una vez por documento actualizado. Lo que se obtiene en el evento es:
oIdem indexesBulkAfterItemSave
groupingOpen
Este evento se ejecuta en las ventanas de creación, edición y generación de carátulas de Prescan. Se ejecuta al abrir un formulario y luego de actualizar la lista de formularios. En el evento se obtienen los siguientes elementos:
classId: El nombre de la clase documental.
documentService: El servicio de Thuban para el manejo de documentos.
applicationContext: El contexto de la aplicación de donde es posible obtener cualquier bean del sistema, ya sean propios del sistema o nuevos definidos en user-application-context.xml
dataSource: el datasource de conexión a la base de datos de Thuban.
contextHolder: El contexto de aplicación de spring.
adminService: Servicio de Thuban con funciones de administración, entre otros servicios para ejecutar consultas contra la base de datos de Thuban. Se configura el source del evento, es decir, el groupbox que contiene la grilla de campos del formulario que se abrió.
documentId: Id del documento (sólo en la pantalla de edición)
trayName: El nombre de la bandeja desde la cual se abrió el documento (Sólo en pantalla de edición y si el documento fue abierto desde una bandeja de Thuban)
Ventana: dependiendo de la ventana en la que se esté ejecutando vendrá como parámetro la misma, por ejemplo:
mainWindow : DisplayUI: Ventana Edición
newWindow : NewUI: Ventana Creación
prescanWindow: PrescanCoversUI: Ventana de generación de carátulas.
itemSave
Este evento puede ser disparado por alguna de las siguientes pantallas y puede ocurrir en distintos tiempos de acuerdo a cada una de ellas:
Edición de Documentos (DisplayUI): el evento se ejecuta justo antes de persistir los cambios realizados a un documento, esto también quiere decir que se ejecuta previo a las validaciones propias de Thuban sobre los campos.
Creación de Documentos (NewUI): el evento se dispara al momento de intentar crear el documento, antes de que realmente el mismo sea creado este evento se ejecuta, esto también incluye a las validaciones de Thuban.
Reclasificación de Documentos (ReclassifierUI): el evento se ejecuta al momento de confirmar la reclasificación del documento, justo antes de reclasificarlo efectivamente, pero luego de la validación de los campos por parte de Thuban.
Generación de Carátulas (PrescanCoversUI): el evento se ejecuta previo a la generación de la carátula y a las validaciones de checklists, si los hubiera.
En este evento se obtienen los siguientes elementos (ver la aclaración sobre elementos particulares en cada ventana):
Window : donde Window va a hacer referencia a cada ventana en particular dependiendo desde donde se disparó el evento, por ejemplo en la ventana de creación sería: newWindow : NewUI.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId: Id de Thuban del documento sobre el cual se está trabajando. Sólo para las ventanas de Edición de Documentos (DisplayUI) y Reclasificación de Documentos (ReclassifierUI)
trayName: Identifica la bandeja de Thuban desde la cual fue accedido el documento, si corresponde. Sólo en la ventana de Edición de Documentos.
itemLoad
Este evento puede ser disparado al momento de carga de los campos de la clase documental, por alguna de las siguientes ventanas de Thuban:
Edición de Documentos
Creación de Documentos
Generación de Carátulas
Reclasificación de Documentos
Búsqueda de Documentos
Los elementos que se pueden obtener del evento son los siguientes:
Window: donde Window va a hacer referencia a cada ventana en particular dependiendo desde donde se disparó el evento, por ejemplo en la ventana de creación sería: “newWindow: NewUI”. En particular en el caso de la ventana de búsqueda de documentos, la misma debe ser casteada como Window, ya que la pantalla en sí, no lo es.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId: Sólo en Edición de Documentos y Reclasificación de Documentos.
trayName: Sólo en Edición de Documentos.
itemSearch
Evento que se ejecuta antes de realizar la búsqueda. Este es un evento que únicamente ocurre en la ventana de Búsqueda de Documentos y puede obtener lo siguiente:
searchWindow : Window
documentService
applicationContext
dataSource
contextHolder
adminService
classId
itemAfterSave
Este evento puede ser disparado por alguna de las siguientes pantallas y puede ocurrir en tiempos distintos de acuerdo a cada una de ellas:
Edición de Documentos: el evento ocurre luego de haberse persistido los cambios realizados al documento.
Creación de Documentos: el evento ocurre luego de haberse creado el documento en Thuban.
Generación de Carátulas: el evento ocurre luego de haberse creado la carátula de la documentación.
Reclasificación de Documentos: el evento ocurre luego de que el documento haya sido reclasificado exitosamente a su nueva clase documental.
En el evento se obtienen los siguientes elementos para trabajar:
Window: donde Window va a hacer referencia a cada ventana en particular dependiendo desde donde se disparó el evento, por ejemplo en la ventana de creación sería: “newWindow: NewUI”. En particular en el caso de la ventana de búsqueda de documentos la misma debe ser casteada como Window ya que la pantalla en sí no lo es.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId: Solo en Edición de Documentos, Creación de documentos (el id del documento creado) y Reclasificación de Documentos.
trayName: Solo en Edición de Documentos.
itemClose
Este evento, a diferencia del resto, no devuelve una pantalla, sino que ocurre cuando se cierra la ventana del navegador estando en la pantalla de Edición de Documentos, luego de que la aplicación desbloquea el documento que se estaba editando. Adicionalmente, ocurre al ejecutarse la limpieza de ventanas cerradas de Thuban en el proceso de liberación de memoria y aplican las mismas reglas antes mencionadas. En el evento se reciben los siguientes elementos:
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId: Id del documento que se estaba editando antes de cerrar la ventana.
itemLock
Este evento ocurre sólo en la ventana de Edición de Documentos y se dispara al hacer click sobre el botón de bloqueo del documento. Este evento se ejecuta únicamente cuando se está bloqueando el documento para edición. En el mismo se reciben los siguientes elementos:
mainWindow: es la ventana DisplayUI.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId
trayName: si corresponde.
itemUnlock
Este evento ocurre sólo en la ventana de Edición de Documentos y se dispara al hacer click en el botón de bloqueo del documento. Este evento se ejecuta únicamente cuando se está desbloqueando el documento. En el mismo se reciben los siguientes elementos:
mainWindow: es la ventana DisplayUI.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId
trayName: si corresponde.
itemAfterLock
Este evento ocurre únicamente en la ventana de edición de documentos al momento de bloquear o desbloquear el documento. Puede ocurrir de dos formas: el usuario presiona el botón de bloqueo/desbloqueo del documento, o bien, abre el documento desde una bandeja de Thuban configurada con autolock. En cualquiera de los casos, se obtienen los siguientes elementos en el evento:
mainWindow: es la ventana DisplayUI.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId
trayName: si corresponde.
itemDelete
Este evento se dispara al momento de intentar eliminar un documento, ya sea desde la ventana de edición o desde la de búsqueda de documentos. El evento se dispara luego de que el sistema pide confirmación de la intención de eliminar el documento pero antes del borrado real del mismo. Los elementos que se obtienen en el evento son:
Window: donde Window va a hacer referencia a cada ventana en particular dependiendo desde donde se disparó el evento.
documentService.
applicationContext.
dataSource.
contextHolder.
adminService.
classId.
fieldGetFocus
Este evento ocurre en todas las pantallas de Thuban donde se cargue la grilla de campos de clases documentales: creación, edición y búsqueda de documentos, generación de carátulas, reclasificación de documentos, etc. Este evento se dispara cuando uno de los campos de la grilla toma foco y en el evento se obtienen lo siguientes elementos:
Window: donde Window va a hacer referencia a cada ventana en particular dependiendo desde donde se disparó el evento.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId: si existe
trayName: Sólo en la ventana de edición de documentos, si corresponde.
fieldLostFocus
Este evento ocurre en todas las pantallas de Thuban donde se cargue la grilla de campos de clases documentales: creación, edición y búsqueda de documentos, generación de carátulas, reclasificación de documentos, etc. Este evento se dispara cuando uno de los campos de la grilla pierde foco y en el evento se obtienen lo siguientes elementos:
Window: donde Window va a hacer referencia a cada ventana en particular dependiendo desde donde se disparó el evento.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId: si existe.
trayName: Sólo en la ventana de edición de documentos, si corresponde.
itemSent
Este evento ocurre en la ventana de envío de documentos de Prescan. Se dispara cada vez que se procesa una carátula y se deja para enviar. En el evento se obtienen los siguientes elementos:
prescanEnvioDocumentosWindow: Es la ventana PrescanSendDocumentsUI.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
onOpenMail
Este evento puede ser disparado por cualquiera de las dos interfaces de envío de mails de Thuban (“wndMail = EMailUI” o “wndSendMail = SendMailUI”). En ambos casos, el evento se lanza al abrir la ventana y se reciben los siguientes elementos:
Window: donde Window va a hacer referencia a cada ventana en particular dependiendo desde donde se disparó el evento.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId
uiPaint
Este evento ocurre en todas las pantallas de Thuban donde se cargue la grilla de campos de clases documentales: creación, edición y búsqueda de documentos, generación de carátulas, reclasificación de documentos, etc. Este evento se dispara al finalizar la creación de la grilla de campos y antes de que la misma se complete con los valores de los campos, si los tuviese. En el evento se obtienen lo siguientes elementos:
Window: donde Window va a hacer referencia a cada ventana en particular dependiendo desde donde se disparó el evento.
documentService
applicationContext
dataSource
contextHolder
adminService
classId
documentId: si existe.
trayName: Sólo en la ventana de edición de documentos, si corresponde.