Reglas de datos
Hacés obligatorios los datos que no pueden faltar y armás una regla que impide que un trámite presentado vuelva atrás.
Hay dos clases de reglas. Las declarativas viven en el campo mismo: obligatorio, valores permitidos, largo, rango. Las de negocio dependen de la situación (“si estaba presentado, no puede volver a pendiente”) y se arman con una automation que corre antes de guardar y que, si algo no cierra, corta el guardado con un mensaje.
Lo importante es dónde se aplican: en el servidor, cada vez que se guarda un trámite, venga de donde venga (la pantalla, una importación, un formulario público, la API). Si una regla falla, no se guarda nada, y la persona ve qué corregir. El orden es fijo: primero corren las automations “antes de guardar”, después la validación de los campos, y recién ahí se guarda.
Marcá los campos obligatorios
ConfiguraciónConstructor de appEntidadesTrámiteCamposPara Cliente, Estado y Vencimiento: menú ⋯ → Editar, marcá Campo requerido y guardá. La columna Requerido de la tabla pasa a decir “Sí”.
Honorarios queda opcional a propósito: los asistentes cargan el trámite y un socio pone los honorarios después.
Creá la automation
ConfiguraciónAutomatizaciónProcesosNueva automation:
- Tipo: Evento de registro.
- Label:
Trámite presentado no vuelve atrás. - Entidad: Trámite.
- Operación: Actualizar. Momento: Antes.
Se abre el builder: la paleta a la izquierda, el flujo en el centro, la configuración del nodo seleccionado a la derecha.
Primera condición: ¿estaba presentado?
Arrastrá un nodo Condición al canvas y conectalo al trigger. En su rama:
- Campo:
old.estado(oldes el trámite tal como estaba antes de este cambio). - Operador: Igual a.
- Valor:
presentado.
Segunda condición: ¿vuelve a un estado anterior?
Arrastrá otra Condición y conectala a la rama de la primera:
- Campo:
record.estado(el valor nuevo). - Operador: Es alguno de.
- Valor:
pendiente, en_curso.
En las condiciones se escriben los valores internos de las opciones (en_curso), no las etiquetas (“En curso”). Los ves en el detalle del campo Estado.
Detener con un mensaje
Arrastrá un nodo Detener y conectalo a la rama de la segunda condición. Configuralo:
- Por qué se detiene:
Este trámite ya se presentó: no puede volver a Pendiente ni a En curso. Si el organismo lo observó, pasalo a Observado. - Campo al que apunta (opcional): Estado.
En un flujo “antes de guardar”, ese texto es exactamente lo que va a leer la persona, y el trámite no se guarda.
Activá y guardá
En la barra superior, encendé Activa y hacé clic en Guardar. Al guardar se valida el flujo: si falta conectar un nodo o completar un dato, te lo dice.
Las condiciones de una automation comparan textos y números, no fechas. Una regla como “el vencimiento no puede ser anterior a hoy” todavía no se puede armar así; por eso la regla de este capítulo es sobre el estado.
Si un trámite viejo tiene vacío un campo que ahora es obligatorio, no se rompe: la regla se aplica al guardar. Se lo va a pedir la próxima vez que alguien edite ese campo.
Cómo saber que te salió
- En Trámites → Nuevo, si dejás Cliente vacío, el formulario no te deja guardar y te marca el campo.
- Creá un trámite, pasalo a Presentado y guardá. Después intentá volverlo a Pendiente: aparece tu mensaje y el trámite sigue en Presentado.
- Pasarlo de Presentado a Observado sí funciona: la regla solo frena la vuelta atrás.
¿Llegaste al resultado de arriba?