Proyecto

General

Perfil

Validar estados de documentos dentro del expediente

Información

Autor David Henriquez
Sitio Web http://www.facebook.com/adapting-lab
Repositorio source:Guardas-America/trunk/src/ActualDocumentsStates
Código fuente http://svn-community.adapting.com:8080/svn/Community/Plugins/Guardas-America/trunk/src/ActualDocumentsStates
Versión Actual v1.0
Compatible con Abox 2.6.3

Resumen

Valida que los documentos de un expediente estén en un determinado estado.

Esta guarda es una mejora de la guarda anterior "CaseFolderDocumentsState". Las mejoras fueron:
  • Poder definir mas de un estado.
  • No comprueba los estados de las versiones inactivas de los documentos dentro del expediente.
  • No comprueba documentos que no posean workflows.

Notas de instalación

Descargue el código fuente del plugin y compílelo usando Visual Studio 2010. Luego dependiendo si lo va a integrar en una instalación de Abox o en un proyecto de extensión de Abox sigua las siguientes instrucciones.
En una instalación de Abox

Copiar la dll que genera el proyecto, en principio se debe llamar Adapting.ActualDocumentsStatesGuard.dll, en la carpeta /bin del sitio web donde esta Abox.

Incluya el proyecto en su proyecto para extender Abox, añada una referencia en Adapting.Web al proyecto que acaba de incluir.

Guía de uso

Una vez incluida la clase en el proyecto y recompilado el proyecto, tiene que modificar el XML del workflow para añadir esta guarda que ejecuta el worlflow antes de cambiar de estado. Para hacer esto incluya este código en las acciones de la transición en la que quiere que se ejecute.

        <guard type="ActualDocumentsStates">
            <param name="stateName">state1</param>
            <param name="stateName">state2</param>
            ...
            <param name="stateName">stateN</param>
        </guard>

stateName: Nombre del estado en que se debe encontrar los documentos dentro del Expediente. Este parámetro se puede repetir varias veces.

Historico

Se modifico el xml segun la nueva peticion http://redmine.adapting.co:81/redmine/issues/1768

        <guard type="ActualDocumentsStates">
            <param name="negation">(true/false)</param>
            <param name="stateName">state1</param>
            <param name="stateName">state2</param>
            ...
            <param name="stateName">stateN</param>
        </guard>

en el caso en que se quiera negar se debe colocar como primer parámetro "negation" con valor de true, de lo contrario si no se desea negar se debe colocar el parámetro "negation" en false.

ATENCIÓN: no valida el workflow si la negación no es el primer parámetro de la guarda.

28/04/2016 el estado ahora es buscado en forma de expresion regular, OJO tener en cuenta mayusculas y minusculas.

26/07/2018 Se agrega el parametro "filterdoctype" para filtrar los documentos sobre los que va ha actuar la guarda, y se ajusta para que no siempre se deba colocar el parametro "negation" cuando no se agrege dicho parametro el valor sera false. "filtercode" será una sola palabra que admite expresiones regulares.

La lógica se mejoró para que TODOS los documentos seleccionados tengan alguno de los estados indicados en la guarda. Cuando se niega la guarda NINGUNO de los documentos seleccionados podrá tener cualquiera da los estados indicados en la guarda.

Los cambios se hicieron conforme a lo especificado en este tiquet

        <guard type="ActualDocumentsStates">
            <param name="negation">true</param>
            <param name="filterdoctype">05</param>
            <param name="stateName">Pending</param>
            <param name="stateName">Approved</param>
        </guard>

07/02/2019 Se añadió un nuevo parámetro opcional "casefolderCode" para comprobar estados posibles en sub-expedientes a partir de un código de expediente indicado como expresión regular, si coinciden más de un sub-expediente con la expresión regular se elige el más reciente.

        <guard type="ActualDocumentsStates">
            <param name="negation">true</param>
            <param name="filterdoctype">05</param>
            <param name="stateName">Pending</param>
            <param name="stateName">Approved</param>
            <param name="casefolderCode">.*001</param>
        </guard>

05/02/2020 Se optimizó la consulta que trae los documentos del expediente.

Volver al inicio
Agregar imagen desde el portapapeles (Tamaño máximo: 10 MB)