Este documento ha sido traducido por IA. Para información precisa, consulte la versión en inglés.
La aprobación es una forma de proceso dedicada a ser iniciada y procesada por personas para decidir el estado de los datos relacionados. Generalmente se utiliza para la automatización de oficinas u otros asuntos de toma de decisiones manuales; por ejemplo, se pueden crear y gestionar procesos manuales para escenarios como "solicitudes de vacaciones", "aprobación de reembolsos de gastos" y "aprobación de compra de materias primas".
El plugin de Aprobación proporciona un tipo de flujo de trabajo (disparador) dedicado "Aprobación (evento)" y un nodo de "Aprobación" exclusivo para este proceso. Combinado con las colecciones y bloques personalizados característicos de NocoBase, permite crear y gestionar diversos escenarios de aprobación de forma rápida y flexible.
Al crear un flujo de trabajo, seleccione el tipo "Aprobación" para crear un flujo de trabajo de aprobación:

Después, en la interfaz de configuración del flujo de trabajo, haga clic en el disparador para abrir la ventana emergente y realizar más configuraciones.

El plugin de Aprobación de NocoBase está diseñado basándose en la flexibilidad y puede utilizarse con cualquier colección personalizada; es decir, la configuración de aprobación no necesita configurar repetidamente el modelo de datos, sino que reutiliza directamente las colecciones ya creadas. Por lo tanto, al entrar en la configuración del disparador, primero debe seleccionar una colección para decidir sobre qué datos de la colección actuará el proceso:

Al iniciar una aprobación para datos de negocio, puede elegir entre los siguientes dos modos de activación:
Antes de guardar los datos
Inicia la aprobación antes de que se guarden los datos enviados. Es adecuado para escenarios donde los datos solo deben guardarse después de que la aprobación sea concedida. En este modo, los datos al momento de iniciar la aprobación son solo datos temporales y solo se guardarán formalmente en la colección correspondiente después de que se aprueben.
Después de guardar los datos
Inicia la aprobación después de que se guarden los datos enviados. Es adecuado para escenarios donde los datos pueden guardarse primero y luego aprobarse. En este modo, los datos ya se han guardado en la colección correspondiente al iniciar la aprobación, y las modificaciones realizadas durante el proceso de aprobación también se guardarán.
Puede elegir la ubicación en el sistema desde donde se inicia la aprobación:
Solo iniciar en bloques de datos
Puede vincular la acción de cualquier bloque de formulario de esta tabla a este flujo de trabajo para iniciar la aprobación, y procesar y rastrear el proceso de aprobación en el bloque de aprobación de un solo registro. Generalmente es adecuado para datos de negocio.
Iniciar tanto en bloques de datos como en el centro de tareas pendientes
Además de los bloques de datos, también puede iniciar y procesar aprobaciones en el centro de tareas pendientes global. Esto generalmente es adecuado para datos administrativos.
Puede configurar permisos basados en el alcance del usuario para decidir qué usuarios pueden iniciar esta aprobación:
Todos los usuarios
Todos los usuarios del sistema pueden iniciar esta aprobación.
Solo los usuarios seleccionados
Solo se permite a los usuarios dentro del alcance especificado iniciar esta aprobación. Se permite la selección múltiple.

Finalmente, debe configurar la interfaz del formulario del iniciador. Esta interfaz se utilizará para las operaciones de envío cuando se inicie desde el bloque del centro de aprobación y cuando el usuario vuelva a iniciar tras un retiro. Haga clic en el botón de configuración para abrir la ventana emergente:

Puede añadir un formulario de llenado basado en la colección vinculada para la interfaz del iniciador, o un texto explicativo (Markdown) para indicaciones y guía. El formulario es obligatorio; de lo contrario, el iniciador no podrá operar al entrar en esta interfaz.
Después de añadir el bloque de formulario, al igual que en una interfaz de configuración de formulario normal, puede añadir componentes de campo de la colección correspondiente y organizarlos libremente para estructurar el contenido que debe completarse en el formulario:

A diferencia del botón de envío directo, también puede añadir un botón de operación "Guardar borrador" para admitir procesos de almacenamiento temporal:

Si un flujo de trabajo de aprobación permite que el iniciador retire la solicitud, debe habilitar el botón "Retirar" en la configuración de la interfaz del iniciador:

Una vez habilitado, la aprobación iniciada por este flujo puede ser retirada por el iniciador antes de que cualquier aprobador la procese. Sin embargo, después de que cualquier aprobador configurado en cualquier nodo de aprobación posterior la haya procesado, ya no podrá ser retirada.
Después de habilitar o eliminar el botón de retiro, debe hacer clic en guardar y enviar en la ventana emergente de configuración del disparador para que los cambios surtan efecto.
Se utiliza para configurar las tarjetas de tareas en la lista "Mis solicitudes" del centro de tareas pendientes.

En la tarjeta, puede configurar libremente los campos de negocio que desea mostrar (excepto campos de relación) o información relacionada con la aprobación.
Después de que se cree la solicitud de aprobación, podrá ver la tarjeta de tarea personalizada en la lista del centro de tareas pendientes:

Instantánea
En el flujo de trabajo de aprobación, es el estado del registro que el solicitante y los aprobadores ven al entrar, y después de enviar, solo verán los registros que ellos mismos modificaron; no verán las actualizaciones realizadas por otros posteriormente.
Último
En el flujo de trabajo de aprobación, el solicitante y los aprobadores siempre ven la versión más reciente del registro durante todo el proceso, independientemente del estado del registro antes de su operación. Al finalizar el proceso, verán la versión final del registro.
En un flujo de trabajo de aprobación, debe utilizar el nodo dedicado "Aprobación" para configurar la lógica de operación para que los aprobadores procesen (aprobar, rechazar o devolver) la aprobación iniciada. El nodo de "Aprobación" solo puede utilizarse en flujos de trabajo de aprobación. Consulte Nodo de aprobación para más detalles.
Si un flujo de trabajo de aprobación no contiene ningún nodo de "Aprobación", el flujo se aprobará automáticamente.
Después de configurar y habilitar un flujo de trabajo de aprobación, puede vincular dicho flujo al botón de envío del formulario de la colección correspondiente para que los usuarios inicien la aprobación al momento del envío:

Posteriormente, el envío de dicho formulario por parte del usuario activará el flujo de trabajo de aprobación correspondiente. Los datos enviados, además de guardarse en la colección correspondiente, también se capturarán como una instantánea en el flujo de aprobación para la consulta de los aprobadores posteriores.
Actualmente, el botón para iniciar la aprobación solo admite el uso de los botones "Enviar" (o "Guardar") en formularios de creación o actualización; no admite el uso del botón "Activar flujo de trabajo" (este botón solo puede vincularse a "Eventos de acción personalizados").
El centro de tareas pendientes proporciona una entrada unificada para que los usuarios vean y procesen sus tareas pendientes. Tanto las aprobaciones iniciadas por el usuario actual como las tareas pendientes pueden accederse a través del centro de tareas pendientes en la barra de herramientas superior, y los diferentes tipos de tareas pueden visualizarse mediante la navegación izquierda.





Para iniciar desde un bloque de datos, puede realizar una llamada como esta (usando el botón de creación de la tabla posts como ejemplo):
Donde el parámetro URL triggerWorkflows es la clave (key) del flujo de trabajo; múltiples flujos de trabajo se separan por comas. Esta clave puede obtenerse al pasar el ratón sobre el nombre del flujo de trabajo en la parte superior del lienzo del flujo de trabajo:

Tras una llamada exitosa, se activará el flujo de trabajo de aprobación para la tabla posts correspondiente.
Dado que las llamadas externas también requieren basarse en la identidad del usuario, al realizar llamadas a través de la API HTTP, al igual que las solicitudes enviadas desde la interfaz normal, debe proporcionar información de autenticación, incluyendo el encabezado Authorization o el parámetro token (el token obtenido al iniciar sesión), y el encabezado X-Role (el nombre del rol actual del usuario).
Si necesita activar eventos para datos de relación uno a uno en esta operación (uno a muchos aún no es compatible), puede usar ! en los parámetros para especificar los datos de activación del campo de relación:
Tras la llamada exitosa anterior, se activará el evento de aprobación para la tabla categories correspondiente.
Al activar eventos posteriores a la operación mediante la API HTTP, también debe prestar atención al estado de habilitación del flujo de trabajo y a si la configuración de la colección coincide; de lo contrario, la llamada podría no tener éxito o generar un error.
Parámetros
collectionName: Nombre de la colección de destino para iniciar la aprobación, obligatorio.workflowId: ID del flujo de trabajo utilizado para iniciar la aprobación, obligatorio.data: Campos del registro de la colección creados al iniciar la aprobación, obligatorio.status: Estado del registro creado al iniciar la aprobación, obligatorio. Los valores posibles incluyen:
0: Borrador, indica que se guarda pero no se envía a aprobación.2: Enviar aprobación, indica que el iniciador envía la solicitud de aprobación y entra en el proceso de aprobación.Cuando una aprobación iniciada (o retirada) está en estado de borrador, puede guardarla o enviarla de nuevo a través de la siguiente interfaz:
El iniciador puede retirar un registro que se encuentra actualmente en aprobación a través de la siguiente interfaz:
Parámetros
<id de aprobación>: ID del registro de aprobación a retirar, obligatorio.Una vez que el flujo de trabajo de aprobación entra en un nodo de aprobación, se crea una tarea pendiente para el aprobador actual. El aprobador puede completar la tarea de aprobación a través de la interfaz o mediante una llamada a la API HTTP.
Las tareas pendientes son registros de procesamiento de aprobación. Puede obtener todos los registros de procesamiento de aprobación del usuario actual a través de la siguiente interfaz:
Donde approvalRecords, como recurso de colección, también puede utilizar condiciones de consulta comunes como filter, sort, pageSize y page.
Parámetros
<id del registro>: ID del registro de procesamiento de aprobación pendiente, obligatorio.status: El campo es el estado del procesamiento de aprobación, 2 significa "Aprobar", -1 significa "Rechazar", obligatorio.comment: Información de comentarios del procesamiento de aprobación, opcional.data: Representa las modificaciones realizadas en el registro de la colección del nodo de aprobación actual después de la aprobación, opcional (solo efectivo al aprobar).Antes de la versión v1.9.0, la devolución utilizaba la misma interfaz que "Aprobar" y "Rechazar", usando "status": 1 para representar la devolución.
A partir de la versión v1.9.0, la devolución tiene una interfaz separada:
Parámetros
<id del registro>: ID del registro de procesamiento de aprobación pendiente, obligatorio.returnToNodeKey: Clave del nodo de destino para la devolución, opcional. Cuando se configura un rango de nodos a los que se puede devolver en el nodo, se puede usar este parámetro para especificar a qué nodo devolver. Si no se configura, no es necesario pasar este parámetro y, por defecto, se devolverá al punto de inicio para que el iniciador lo vuelva a enviar.Parámetros
<id del registro>: ID del registro de procesamiento de aprobación pendiente, obligatorio.assignee: ID del usuario al que se delega, obligatorio.Parámetros
<id del registro>: ID del registro de procesamiento de aprobación pendiente, obligatorio.assignees: Lista de IDs de usuario para añadir como firmantes, obligatorio.order: Orden del firmante añadido, -1 indica antes de "mí", 1 indica después de "mí".