/
Scripting clases documentales.

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.

 

 

Related content