Skip to Content
Guía de pantallasErrores de Negocio

Errores de Negocio — /business-errors

Reglas agrupadas por Aplicación e Interfaz, con alcance, validación y bloqueo
Reglas agrupadas por Aplicación e Interfaz, con alcance, validación y bloqueo

El transporte funcionó — HTTP 200, RFC ejecutada, INSERT aceptado — y aun así el mensaje no hizo lo que debía. El destino respondió “orden no liberada”, “CPF inválido”, “período contable cerrado”. Para el CMS, técnicamente, fue un éxito.

Los Errores de Negocio corrigen esa lectura: son reglas que miran el contenido de lo que entró o de lo que volvió y dicen “esto fue una falla”.

Sin esa clasificación, un destino que rechaza todo aparece en los paneles como 100% de éxito — y el problema solo se descubre cuando alguien echa de menos el dato, días después.

Anatomía de una regla

CampoRol
AplicaciónLa Aplicación dueña de la regla. Una regla nunca atraviesa Aplicaciones
Dónde vale la reglaDefiniciones elegidas, o toda la Aplicación
Código del ErrorOpcional. El código del sistema de origen, para agrupar en los informes
Términos de BúsquedaQué buscar en el payload. Varios términos separados por ;
Validar contraEntrada, Salida o Ambos
MotivoTexto libre explicando por qué ese error suele ocurrir
Bloquea InterfazSi lo detecta, detiene la interfaz entera
ActivoEnciende/apaga la regla sin borrarla

Dónde vale la regla: Definiciones elegidas o toda la Aplicación

Una regla vale para varias Definiciones a la vez, incluso de Interfaces distintas de la misma Aplicación. “Período contable cerrado” suele ser el mismo texto en toda integración financiera, y no hace falta registrarlo una vez por Definición.

AlcanceQué cubre
Definiciones elegidasSolo las que marques en la lista
Toda la AplicaciónTodas las Definiciones de la Aplicación, incluidas las creadas después

Con Toda la Aplicación, el CMS mantiene los vínculos solo: una Definición nueva — creada a mano, por import, por pack o por asistente — ya nace cubierta por la regla. En la lista, esas reglas traen la etiqueta Aplicación.

Un Error de Negocio nunca atraviesa Aplicaciones. “Toda la Aplicación” es el alcance máximo, y por eso la Aplicación se elige antes que todo en el formulario.

En una regla de alcance Toda la Aplicación no existe “desvincular solo de esta Definición”: la próxima sincronización devolvería el vínculo. Para sacarla de circulación, cambia el alcance o elimina la regla.

Términos de búsqueda: OR, no AND

ordem_error;quantidade=0 significa “cualquiera de estos”. Basta con que un término aparezca en el payload para que el mensaje se clasifique. Un solo término se comporta exactamente como antes de que existiera la separación por ;.

La comparación es por contenido literal (substring), no por expresión regular — es lo que permite pegar el fragmento del mensaje de error del sistema de origen y que funcione.

Lo que queda grabado en el mensaje es el texto entero del campo Términos de Búsqueda, no el término que coincidió. Por ese texto agrupa el informe de Errores de Negocio — editar el campo después cambia el agrupamiento de los mensajes nuevos.

Validar contra: entrada, salida o ambos

DirecciónMira
EntradaEl payload que la interfaz recibió
SalidaEl retorno que el destino devolvió
AmbosLos dos

La mayoría de las reglas son de Salida — ahí vive la respuesta del destino. Entrada es útil para rechazar temprano un mensaje mal formado, antes de gastar una llamada al destino.

Algunos tipos de Recolección no tienen lado de entrada — una suscripción MQTT, por ejemplo, es recepción pasiva. Ahí, una regla de Entrada simplemente nunca coincide; no genera error ni aviso.

Bloqueo de interfaz

Este es el mecanismo que diferencia al CMS de un simple log de errores.

Marcando Bloquea Interfaz, el primer mensaje que coincida con la regla detiene la interfaz. Los mensajes siguientes quedan en la cola, intactos, esperando. El bloqueo queda registrado con origen ERRO_NEGOCIO, el texto de la regla y el ID del mensaje que lo causó.

Por qué esto es deseable: sin el bloqueo, un destino en estado inválido — período cerrado, maestro faltante, sistema en mantenimiento lógico — recibiría cientos de mensajes que va a rechazar uno por uno. Todos se vuelven error, todos necesitan reprocesarse después, y el historial queda contaminado.

Cómo liberar

El desbloqueo se registra con su origen:

OrigenCuándo
ManualAlguien liberó la interfaz en la pantalla de Interfaces o en la Danger Zone
ReprocesamientoEl mensaje que causó el bloqueo se reprocesó con éxito
CancelaciónEl mensaje que causó el bloqueo fue cancelado

Los dos últimos son el camino normal: resuelva la causa y la interfaz se libera sola. Todo el historial queda en el informe de Bloqueo de Interfaces.

Bloquear es una decisión de negocio, no técnica. “CPF inválido” casi nunca debe bloquear — es un problema de ese mensaje. “Período contable cerrado” casi siempre debe — ningún mensaje va a pasar hasta que alguien abra el período.

Reglas automáticas

Algunas reglas no se escriben aquí: el CMS las mantiene sincronizadas desde otra pantalla, y aparecen en la lista con la etiqueta AUTO. En ellas, el único campo editable es Bloquea Interfaz — el resto pertenece a la pantalla de origen.

Etiqueta AUTO generada porOrigen
Tags OPC UA obligatoriasTags de Lectura de la Recolección / Tags de Escritura de la Entrega, marcadas “obligatorio”
Tags Modbus obligatoriasÍdem, en el adaptador Modbus
Payload de Entrada obligatorioCampos marcados “obligatorio” en el popup Parámetros Función SAP de una Entrega SAP RFC

La lógica de esas reglas está invertida respecto a las normales: en vez de “este término apareció”, verifican “estos valores están presentes”. Un valor nulo, vacío o cero cuenta como ausente — lo que en un PLC es exactamente el caso a tratar: una tag que no fue escrita en este ciclo devuelve cero, no error.

Esto resuelve un problema real de planta: el PLC responde con éxito y devuelve cero en todas las tags porque la pieza aún no pasó. Sin esa regla, el CMS grabaría una medición de cero como si fuera una lectura válida.

Qué pasa con el mensaje

El mensaje clasificado queda con estado Error Negocio y guarda el texto de la regla que coincidió y el motivo registrado. Aparece en:

Permiso

La Herramienta es /business-errors. Como las demás pantallas agrupadas por Aplicación, exige además que el usuario vea la Aplicación y la Interfaz correspondientes.