<< Clic para mostrar Tabla de Contenidos >> Cómo ingresar datos desde Excel |
Introducción
Cuando se tiene una larga lista de valores predefinidos que desee utilizar desde procesos de Bizagi, pensar en su ingreso de forma manual a través del Portal de Trabajo, puede que no sea la mejor opción.
En cambio, utilizando el API los servicios web de Bizagi SOAP, usted puede ingresar datos en una única invocación (por lote) haciéndolo fácil, especialmente. para aquellos valores que están alojados en una hoja de Excel.
Una vez ingrese los datos en Bizagi, usted podrá escoger estos valores directamente desde sus procesos:
Antes de empezar
El siguiente artículo ilustra una forma práctica de cómo ingresar datos iniciales por lote a Bizagi, aunque está específicamente diseñado y soportado para llenar datos a entidades que estén definidas como "entidades paramétricas".
Si no está familiarizado con entidades paramétricas, consulte Tipos de Entidades.
Cuando trabaje con entidades paramétricas, tenga en cuenta que también es una buena práctica definir explícitamente: códigos únicos para cada registro, por lo que debe diseñar un atributo (p.ej, "Codigo") para alojar dicho valor, y consecuentemente, definir llaves de negocio de Bizagi para que pueda imponer que dicho atributo basado en código deba tener una llave única.
SI desea abrir un archivo de Excel desde un proceso (p.ej., para traer cierta información en él), puede utilizar Conectores de Bizagi. Dentro de los conectores listos para usar del Connector Xchange, hay uno para Excel. Para más información sobre esta posibilidad, consulte Conectores de Bizagi. |
A través de las definiciones de llaves de negocio, se cumple con:
1. Hacer que Bizagi prevenga automáticamente la creación de registros duplicados.
2. Diseñar un mecanismo para referencias los registros existentes por su código único, como una buena práctica para integración con otros sistema (por ejemplo, cuando envíe información desde Bizagi a una aplicación externa y desee actualizar un registro existente).
Para mayor información sobre esta posibilidad, consulte Llaves de Negocio.
Este ejemplo no se enfoca en la definición de llaves de negocio, sino que su uso es recomendado.
Ya sea que defina llaves de negocio en sus entidades o no, no afecta cómo ejecutar los pasos descritos aquí.
¿Qué necesita hacer?
La siguiente guía provee un brinda una idea general de los pasos requeridos:
1. Prepare los datos en su Excel
Mientras trabaje con los datos extraídos de cualquier aplicación, este paso significa básicamente que se debe asegurar de que no tiene valores en blanco cuando sean requerido o realizar los ajustes necesarios a sus datos en Excel (p.ej., filtrar los duplicados, etc).
2. Exporte la información desde Excel a un XML
Utilizando las funcionalidades de Excel, usted puede definir cuáles columna desea incluir de toda la información de Excel y terminar produciendo un archivo XML con la información relevante (y que cumple con los servicios web de Bizagi SOAP).
3. Invoque los servicios web de Bizagi SOAP
Este paso es sobre utilizar un cliente de servicios web SOAP para invocar el API de Bizagi e ingresar los datos.
Ejemplo
Para ilustrar los pasos anteriores, consideraremos ingresar la entidad paramétrica País (Country) en Bizagi.
Esto significa, llenar dicha entidad con un registro por cada país del mundo.
El proceso de Bizagi diseñado e involucrado para dicho caso no es relevante y utilizaremos la hoja de cálculo disponible en:
http://www.statvision.com/webinars/countries%20of%20the%20world.xls
Esto implica automáticamente que como prerrequisito y punto de partida, se eséra que ya tenga una entidad paramétrica en Bizagi donde va a guardar dicha información.
Asegúrese de que la definición de su entidad paramétrica cumple con la información que desea almacenar (p.ej., teniendo los atributos de dicha entidad los cuales, su tipo de datos coincide con el tipo de la información de entrada y además, que se considere la longitud de los atributos de tipo string).
Para este ejemplo, solamente se guardará en Bizagi el nombre del país (Name) y la región a ala que pertenece (Region).
Observe qe ya que es una buena práctiva el uso del atributo Código (Code) creamos uno adicional.
Pasos
Realice los siguientes pasos.
1. Prepare los datos en su Excel
lo primero es asegurarse que sus datos están "listos".
Entre los pasos que típicamente se hacen para esto, tenemos: eliminar filas en blanco, espacios vacío si se desea, o filtrar los registros duplicados.
Además y ya que utilizaremos el atributo Código (Code), usted puede querer escoger agregar dicha información (como el código ISO de 2 dígitos del país).
Para una aproximación práctica de este ejemplo, simplemente reutilizaremos y duplicaremos la nombre del país (Name) como el código (Code).
En este ejemplo, preparar los datos en Excel significa:
•Agregar la columna Código (Code).
•Cambiar el encabezado país (Country) por nombre (Name) solo por claridad.
•Copiar los valores desde nombre (Name) en Código (Code) (duplicándolos).
•Borrar las filas superiores para tener un Excel "más limpio".
•De igual manera, borrar la fila que tiene información vacía de las 4 primeras columnas (esta columna tiene información sobre datos de unidades de medición que no serán utilizadas).
2. Exporte la información desde Excel a un XML
A continuación, vamos a asegurarnos de que podemos definir qué información queremos exportar.
Para esto, crearemos un archivo XML temporal que será utilizado como ejemplo, de tal forma que Excel puede interpretar cómo quiere exportar los datos.
Para este ejemplo, crearemos un archivo XML temporal con lo siguiente:
<BizAgiWSParam><Entities>
<Country>
<Code>Afghanistan</Code>
<Region><![CDATA[ASIA (EX. NEAR EAST) ]]></Region>
<Name>Afghanistan</Name>
</Country>
<Country>
<Code>Albania </Code>
<Region><![CDATA[EASTERN EUROPE ]]></Region>
<Name>Albania </Name>
</Country>
</Entities></BizAgiWSParam>
Lo que es realmente importante para el ejemplo anterior es que:
•Incluya un nodo raíz, pero específicamente, dicho nodo es <BizAgiWSParam>.
•Utilice estrictamente la estructura mostrada anteriormente, donde hay un elemento <Entities> que contiene las ocurrencias de sus registros (tanto el elemento <BizAgiWSParam> como el elemento <Entities>, son necesarios para hacer que el XML cumple con Bizagi, ya que vamos a invocar el método web saveEntitiesAsString utilizando dicha estructura tal y como se describe en Guardar Entidad).
•Asegúrese de incluir al menos 2 registros de tan firma que Excel pueda inferir que espera más de una ocurrencia de los mismos (Excel genera un XSD basado en este XML).
•Las múltiples ocurrencias están contenidas en un elemento llamado exactamente igual como la entidad paramétrica que desea diligenciar, (recuerde que para nuestro ejemplo, llenaremos país (Country)).
•Asegúrese de incluir todas las columnas que sea que tenga el archivo XML a exportar.
•Utilice CDATA como una buena práctica o al menos cuando detecte que su información puede contener caracteres que entran en conflicto con la sintaxis de XML (como <, >, &).
Guárdelo en una ruta local de su elección:
Después, vaya a la pestaña Programador y dé clic en la opción Origen (disponible en el grupo de opciones XML):
Observe que por defecto, usted puede no ver la pestaña Programador en su instalación de Excel.
Si este es el caso, necesita ir a la configuración de Excel (Archivo -> Opciones) y a la opción Personalizar cinta de opciones.
Allí, asegúrese de marcar explícitamente la casilla para mostrar la pestaña Programador.
En el panel de Origen XML, dé clic en Asignaciones XML y en Agregar.
Seleccione el archivo XML temporal que indica las columnas deseadas (como se describió anteriormente).
Usted puede observar que el Excel indica que generará un XSD, dé clic en Aceptar para continuar.
Una vez cargue la definición, usted podrá darse cuenta de que mostrará el nombre del nodo raíz, el cual debe ser BizAgiWSParam.
Dé clic en Aceptar y revise que las columnas que definió explícitamente en el XML se muestran en la estructura de la derecha.
Usted puede empezar mapeando esta estructura en las columnas del Excel donde residen sus datos.
Para esto, arraste y suelte las definiciones cargadas (p.ej data-set/Country/Code a la celda A1).
Para asegurarse de que el mapeo se llevó a cabo correctamente en Excel, usted debe poder ver que la columna completa se resalta y se pone seleccionada mientras habilita un filtro en la celda A1 (encabezado Code):
Repita estos pasos para todas las definiciones cargadas (es decir para data-set/Country/Name y data-set/Country/Region):
Una vez termine, cuando todas las tres columnas estén reslatadas, haga clic en Exportar y nombre su archivo XML resultante:
El XML exportado debe verse algo como la siguiente imagen (empezando con <BizAgiWSParam> y seguido de <Entities>):
Para una referencia completa sobre estas funcionalidades de Excel o para solución de probles, puede consultar la documentación de Microsoft en https://support.office.com/es-es/article/asignar-elementos-xml-a-las-celdas-de-una-asignaci%C3%B3n-xml-ddb23edf-f5c5-4fbf-b736-b3bf977a0c53?ui=es-ES&rs=es-ES&ad=ES. |
3. Invoque los servicios web de Bizagi SOAP
Este paso es sobre utilizar un cliente de servicios web SOAP para invocar el API de Bizagi e ingresar los datos.
Para utilizar los servicios web de Bizagi SOAP, primero asegúrese de que los tenga habilitados en su proyecto (en Configuración -> Entorno):
Observe que para proyectos que se ejecutan en una plataforma .NET, se recomienda habilitar los servicios web WS-Security. Aunque para simplificar nuestro ejemplo y si no utilizará estos servicios en un ambiente de producción, usted puede utilizar los servicios web legados (necesita tener al menos uno de dos).
Una vez los servicios web están habilitados, utilice un cliente web SOAP de su elección para enviar el contenido del XML producido en nuestro paso anterior y así invocar el método web de EntityManagerSOA llamado saveEntityAsString.
Si desea enviar el XML por sí mismo, entonces puede invocar el método web de EntityManagerSOA llamado saveEntity (que recibe un XML en vez de una cadena pero con la misma estructura de información).
Para esto, usted puede utilizar SOAP UI o una herramienta similar.
Para un inicio rápido, si está haciendo esto para proyectos ejecutados en una plataforma .NET, usted puede utilizar el cliente de pruebas de servicio web que tiene la página de saveEntityAsString .
Si utilizará este cliente web embebido, asegúrese de eliminar todas las líneas de salto de tal forma que el contenido del XML esté e una sola línea de texto.
Para esto, usted puede utilizar un editor de texto como Notepad++ u otros, y reemplazar \r y \n:
Asegúrese de reemplazar todas las ocurrencias por un carácter vacío:
Al final, el XML de una sola línea debe verse como la siguiente imagen:
Una vez tenga el contenido en una sola línea, cópielo en el campo de texto entityInfo y dé clic en Invoke:
Una invocación exitosa mostrará múltiples ocurrencias del elemento <Country>, pero esta vez, cada uno contendrá la llave interna única asignada a cada registro.
Cuando haga esto en el ambiente de desarrollo, usted puede también verificar que los valores ingresados son correctos, buscando la entidad específica (en la vista de Experto en Entidades) y dando clic en valores:
En este punto, ya hemos terminado y puede empezar a utilizar dichos valores directamente desde sus procesos de Bizagi.
Last Updated 2/1/2023 10:21:24 AM