Centro de Consultores
Consultor
0 • Menú de la plataforma
0 • Menú de la plataforma
1 • Organización
1 • Organización
2 • Operaciones
2 • Operaciones
3 • Áreas de operación
3 • Áreas de operación
4 • Usuarios
4 • Usuarios
5 • Perfil de usuarios
5 • Perfil de usuarios
6 • Actores
6 • Actores
7 • Eventos
7 • Eventos
8 • Fichas de actores
8 • Fichas de actores
9 • Flujos de trabajo o proceso
9 • Flujos de trabajo o proceso
10 • Formularios
10 • Formularios
11 • Configuración de datos
11 • Configuración de datos
12 • Carga masiva de datos
12 • Carga masiva de datos
13 • Hojas de cálculo
13 • Hojas de cálculo
14 • Reportes PDF de Flujos y Formularios
14 • Reportes PDF de Flujos y Formularios
15 • Dashboards dinámicos
15 • Dashboards dinámicos
16 • Gestor documental
16 • Gestor documental
17 • Notificaciones
17 • Notificaciones
Carga masiva de datos
Para cargar datos de manera masiva se debe definir una planilla Excel tipo template con los datos que desea subir, definiéndose el nombre de las columnas y formato de los parámetros que permitirá la planilla. Si es una carga masiva frecuente se puede disponibilizar un formulario al usuario para que suba el archivo con los datos en un campo
type: document
, siempre que use el template establecido. Luego de definir la planilla template se debe realizar un script en formato JSON que identifique las columnas de datos del archivo con los atributos creados en Sepiia.El script se ejecuta configurando una Regla de negocio en Sepiia donde la acción que se ejecuta cada vez que se cumple el evento será la carga masiva de datos.
Para realizar esta configuración debe seguir los siguientes pasos:
- Ir a menú principal “Reglas y Estrategias”.
- Hacer clic sobre “Procesos técnicos internos”, y luego en “Apis para flujos”.
- Escoger la categoría donde se desea “+ Crear Estrategia”.
- En el paso de Definición agregar un Nombre, descripción y vigencia de la Estrategia.
- En el paso Canales seleccionar Sepiia Gestión.
- En el paso Condiciones dejarlo vacío.
- En el paso Acciones escoger la categoría API y la acción “Carga masiva” donde se configuran quien recibirá la notificación por correo de la carga del archivo, y la URL donde se guarda el archivo.
- En el paso Programación se define la periodicidad de la ejecución, se deja activa y se definen otros parámetros que se deben dejar en valor 0, como se observa en la imagen. Posteriormente se guarda.
Para ver más información del funcionamiento de estas pantallas dirigirse a la sección de Reglas y Estrategias del Centro de ayuda para usuarios.
En el correo de notificación de carga se adjunta una copia del archivo con una columna extra donde para cada registro o fila se indica si la carga fue exitosa o si se encontró algún error.
Ejemplo de configuración
{ "id": 157, "user": "[email protected]", "operationId": 15, "name": "Carga masiva pesaje archivo Excel", "helpText": "Carga de archivo Excel carga masiva pesaje animales", "plugin": "smartdici.sepiia.action.PNGGenericScriptPlugin", "destinity": "API", "categoryCode": "API", "categoryLabel": "API", "maxAttempts": 1, "logic": { "tarjeta_datos": { "campos": [ { "nombre": "title", "etiqueta": "Título correo de notificación", "valor": "Carga masiva pesaje" }, { "nombre": "cc", "etiqueta": "Correo con copia a", "valor": "" }, { "nombre": "co", "etiqueta": "Copia oculta a", "valor": "" } ] }, "datos_internos": { "flowName": "bulks/LoadExcelFile", "testMode": false, "metaData": {}, "defaultValues": { "goal": "Datapec.LoadExcelPesoInicial", "successfulResponses": "successful", "quarantineMinutes": 1, "validQuarantine": false, "quarantinePerRule": false, "maxAffectPerDay": 99, "dependencyRule": "", "transactionType": 1, "parameters": { "operationId": "@@OPE_ID@@", "userId": "@@USER_ID@@", "eventCode": "PESEG", "channel": "_WEB_", "elementType": "ANIMAL", "title": "$title", "emailTo": "@@USER_KEY@@", "emailCC": "$cc", "emailCCO": "$co", "flowCache": true, "cache": "@@FLOW_CACHE@@", "flowId": "@@FLOW_ID@@", "file": "_TRIGGER.doc_pesaje_seg.doc_pesoseg.1.url", "lineHead": 1, "isTransaction": false, "transactionKey": "", "sendSepiiaMode": "sinc", "compressFile": false, "removeFile": false, "keyFormula": "", "columnsConfig": { "DIIO": { "attribute": "ANIMAL_COD", "optional": false, "validStrict": true, "query": "element.ANIMAL[?(@.key == '#ANIMAL_COD#' && @.ani_status nin ['SOLD', 'DEATH'])]", "mustExist": true, "default": "" }, "Peso (kg)": { "attribute": "ULT_PESO", "optional": false, "validStrict": true, "query": "", "mustExist": false, "default": "" } }, "additionalAttributes": { "DATE_ULTPESO": "eval(cache['_TRIGGER.doc_pesaje_seg.fecha'])" } } } } } }
Nodo | Parámetro | Descripción |
“<Nombre de la columna en la plantilla excel>”: | {“attribute”: “”, | Corresponde al atributo configurado para el actor, que se refiere el dato de la plantilla excel. |
ㅤ | “optional”: “”, | Indica si el dato es opcional = true , u obligatorio = false |
ㅤ | “validDataSource”: “”, | Datasource que valida el origen de los datos (puede ser de tipo element , custom o sepiia con la función condicional cond() que uno desee). |
ㅤ | “mustExist”: “”, | Está relacionado con el “validDataSource” Si es true , el dato debe existir en el data source antes de cargarlo; si es false , no debe existir previamente. |
ㅤ | “default”: “”, | Valor por defecto que se asignará si el dato es obligatorio pero no está presente en la planilla Excel. |
ㅤ | “validStrict”: “”} | Si es true , el atributo no se carga si no cumple con las validaciones; si es false , lo sube aunque esté incompleto. |
ㅤ | additionalAttributes | Permite llamar a otros atributos del actor y aplicar fórmulas usando la función eval() . |
Para evitar duplicación de datos en la carga de información, se recomienda validar que un atributo principal no exista en el datasource. Esto se hace usando
validDataSource
y mustExist
. Si quieres evitar la actualización de datos existentes, configura validDataSource
con una query que contenga los atributos principales, y define mustExist
como false
. Esto evita que se carguen datos que ya existen en la base de datos.