Obtener la ruta del archivo cargado en Bizagi

<< Click to Display Table of Contents >>

Navigation:  Bizagi Studio > Asistente de Procesos > Reglas de Negocio > Ejemplos de reglas de negocio > Manejo de archivos con expresiones >

Obtener la ruta del archivo cargado en Bizagi

Introducción

Este artículo describe cómo obtener la ruta física de los adjuntos de Bizagi.

Tenga presente que los adjuntos de Bizagi son aquellos documentos o cualquier tipo de archivo en general, que se ha subido a la información de los casos, sea por medio de la interfaz de usuario o por medio de la API de Bizagi (p.e, la API de reglas o de servicios web SOAP).

Específicamente, los adjuntos consideran todos los archivos que sean de tipo archivo o imagen en el modelo de datos de sus procesos Bizagi.

Para mayor información sobre archivos o imágenes, consulte los tipos de atributos.

 

 

¿Cuándo es esto útil?

Comúnmente usted no necesitará preocuparse por la ruta exacta de los adjuntos en Bizagi.

Bizagi maneja los adjuntos de manera consistente en todos sus componentes, incluyendo las interfaces de usuario, y los diferentes momentos (sea cuando se almacenan o cuando se visualizan después).

Sin embargo, podrán surgir situaciones de negocio donde se quiera procesar la información dentro de un archivo adjunto (leerla o actualizarla).

Cuando este es el caso, usted podrá ubicar el archivo en la ruta física para su uso dentro de reglas de negocio de Bizagi (y por ejemplo, usar las capacidades de la librería de componentes).

 

note_pin

Este enfoque aplica cuando se almacenan los archivos en un servidor de archivos (no cuando se usa la integración ECM donde se utiliza un repositorio de SharePoint, Alfresco, o similar).

 

Lo anterior también aplica cuando ese archivo ya ha sido persistido físicamente por Bizagi.

Esto significa que cuando un archivo es subido por primera vez en una tarea, dentro de esa misma tarea aún no podrá accederse el archivo físicamente ya que se encuentra dentro de la información temporal de esa tarea (scope).

Este archivo será persistido físicamente después de que la transacción de la tarea se haya completado (un commit).

Para mayor información sobre este concepto en Bizagi, consulte Scopes.

 

 

Fórmula para la ruta física

La siguiente fórmula hace referencia a la estructura de sub carpetas dinámica que se usa dentro de la carpeta principal configurada por el parámetro llamado Upload Path, como se describe en la Configuración avanzada del Entorno.

La estructura de las sub carpetas se organiza como se describe a continuación:

 

…\IdEntity\WholePart\SurrogateKey\IdAttribute\

 

Recuerde que por defecto, la ruta base como se representa por %BA_DEFAULT_UPLOADPATH%, es ubicada como C:\Bizagi\Projects\[Su_proyecto]\Docs\.

Para esta fórmula, considere:

 

IdEntity: Es el Id de la entidad en la cual se encuentra el atributo tipo archivo. Para conocer el id de la entidad es necesario realizar una consulta sobre la tabla ENTITY de su proyecto.

Está es información estática que se mantendrá igual desde la creación de la entidad en Bizagi Studio.

 

SurrogateKey: Es el valor de la llave de la instancia de la entidad, donde se encuentra el atributo de tipo archivo. Para conocer este valor, es necesario obtener la entidad deseada y realizar checkout del .SurrogateKeyValue.

Esta información es dinámica, por lo que la información se conoce en tiempo de ejecución ya que cada caso del proceso tendrá un valor diferente.

 

WholePart: Se define como el número completo de dividir SurrogateKeyValue por 1000. También se puede obtener realizando el siguiente cálculo:

  WholePart = (SurrogateKey - (SurrogateKey Module 1000)) / 1000

  De nuevo, esta información es dinámica y se deriva de SurrogateKeyValue.

 

IdAttribute: Es el id del atributo tipo archivo que contiene el archivo cargado. Para conocer el id del atributo, es necesario realizar una consulta sobre la tabla ATTRIB del proyecto. Está información es estática que se mantendrá igual desde la creación de la entidad en Bizagi Studio.

 

 

Ejemplo

Un archivo es cargado en la entidad Products (id número 10043 en ENTITY).

El nombre del atributo en Products que guarda el archivo se llama Document (id número 10010 en ATTRIB).

Por lo tanto, para este ejemplo, la ruta física se calcula como se enseña a continuación:

 

IdEntity: 10043.

IdAttribute: 10010.

SurrogateKey: 205 (obtenido del caso creado)

Whole part: 0 (Whole part = (205 - 205) / 1000)

 

Asumiendo que la ruta base configurada en Bizagi Studio para el proyecto es: C:\BizAgi\Projects\Project01\Docs\.

Entonces la ruta completa para acceder al archivo será: C:\BizAgi\Projects\Project01\Docs\10043\0\205\10010\.

 

Si el archivo cargado se llama OctoberBalances.xls, esto quiere decir que el archivo estará disponible en: C:\BizAgi\Projects\Project01\Docs\10043\0\205\10010\OctoberBalances.xls.

 

note_pin

Para conocer cómo obtener el nombre de archivo (fileName) dinámicamente, utilice una expresión getXPath similar a la descrita en la sección Cargar archivos utilizando expresiones.