Esta documentación ha sido traducida automáticamente por IA.
La aprobación es un tipo de proceso diseñado específicamente para tareas iniciadas y procesadas manualmente, con el fin de decidir el estado de los datos relevantes. Se utiliza comúnmente para la automatización de oficinas u otros procesos de toma de decisiones manuales. Por ejemplo, permite crear y gestionar flujos de trabajo manuales para escenarios como "solicitudes de vacaciones", "aprobaciones de gastos" y "aprobaciones de compra de materias primas".
El plugin de Aprobación ofrece un tipo de flujo de trabajo (disparador) dedicado, "Aprobación (evento)", y un nodo de "Aprobación" exclusivo para este proceso. Al combinarlo con las colecciones y bloques personalizados únicos de NocoBase, usted puede crear y gestionar de forma rápida y flexible diversos escenarios de aprobación.
Al crear un flujo de trabajo, seleccione el tipo "Aprobación" para crear un flujo de trabajo de aprobación:

Luego, en la interfaz de configuración del flujo de trabajo, haga clic en el disparador para abrir una ventana emergente y realizar más configuraciones.
El plugin de Aprobación de NocoBase está diseñado para ser flexible y puede utilizarse con cualquier colección personalizada. Esto significa que la configuración de aprobación no requiere reconfigurar el modelo de datos, sino que reutiliza directamente una colección existente. Por lo tanto, después de acceder a la configuración del disparador, primero debe seleccionar una colección para determinar qué datos de esta colección activarán este proceso al crearse o actualizarse:

Luego, en el formulario para crear (o editar) datos de la colección correspondiente, vincule este flujo de trabajo al botón de envío:

Después de esto, cuando un usuario envíe este formulario, se activará el flujo de trabajo de aprobación correspondiente. Los datos enviados no solo se guardarán en la colección respectiva, sino que también se capturarán como una instantánea en el flujo de trabajo de aprobación para que los revisores posteriores puedan consultarlos.
Si un flujo de trabajo de aprobación permite que el iniciador lo retire, debe habilitar el botón "Retirar" en la configuración de la interfaz del iniciador:

Una vez habilitado, una aprobación iniciada por este flujo de trabajo puede ser retirada por el iniciador antes de que cualquier aprobador la procese. Sin embargo, después de que cualquier aprobador en un 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.
Finalmente, debe configurar la interfaz del formulario del iniciador. Esta interfaz se utilizará para las acciones de envío al iniciar desde el bloque del centro de aprobación y al reiniciar después de un retiro. Haga clic en el botón de configuración para abrir la ventana emergente:

Puede añadir un formulario para la interfaz del iniciador basado en la colección vinculada, o añadir texto descriptivo (Markdown) para indicaciones y guía. El formulario es obligatorio; de lo contrario, el iniciador no podrá realizar ninguna acción al acceder a esta interfaz.
Después de añadir un 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 como necesite para estructurar el contenido a rellenar en el formulario:

Además del botón de envío directo, también puede añadir un botón de acción "Guardar como borrador" para permitir un proceso de almacenamiento temporal:

En un flujo de trabajo de aprobación, debe utilizar el nodo "Aprobación" dedicado para configurar la lógica operativa que permitirá a los aprobadores procesar (aprobar, rechazar o devolver) la aprobación iniciada. El nodo "Aprobación" solo puede utilizarse en flujos de trabajo de aprobación. Consulte Nodo de Aprobación para obtener más detalles.
Después de configurar y habilitar un flujo de trabajo de aprobación, puede vincularlo al botón de envío del formulario de la colección correspondiente, permitiendo a los usuarios iniciar una aprobación al enviar:

Una vez vinculado el flujo de trabajo, cuando un usuario envía el formulario actual, se inicia una aprobación.
Actualmente, el botón para iniciar una aprobación solo admite el botón 'Enviar' (o 'Guardar') en un formulario de creación o actualización. No es compatible con el botón 'Enviar al flujo de trabajo' (el cual solo puede vincularse a un 'Evento posterior a la acción').
El Centro de Tareas Pendientes ofrece un punto de entrada unificado para que los usuarios puedan ver y procesar sus tareas pendientes. Las aprobaciones iniciadas por el usuario actual y sus tareas pendientes pueden accederse a través del Centro de Tareas Pendientes en la barra de herramientas superior, y los diferentes tipos de tareas pendientes pueden visualizarse mediante la navegación izquierda.





Para iniciar desde un bloque de datos, puede realizar una llamada como esta (utilizando el botón de creación de la colección posts como ejemplo):
Aquí, el parámetro URL triggerWorkflows es la clave del flujo de trabajo; múltiples claves de flujo 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 colección 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 regular, 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 un evento para datos relacionados uno a uno en esta acción (uno a muchos aún no es compatible), puede usar ! en el parámetro para especificar los datos de activación para el campo de asociación:
Tras una llamada exitosa, se activará el evento de aprobación para la colección categories correspondiente.
Al activar un evento posterior a la acció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 podría generar un error.
Parámetros
collectionName: El nombre de la colección de destino para iniciar la aprobación. Obligatorio.workflowId: El ID del flujo de trabajo utilizado para iniciar la aprobación. Obligatorio.data: Los campos del registro de la colección creados al iniciar la aprobación. Obligatorio.status: El estado del registro creado al iniciar la aprobación. Obligatorio. Los valores posibles incluyen:
0: Borrador, indica que se guarda sin enviar para aprobación.1: Enviar para aprobación, indica que el iniciador envía la solicitud de aprobación, entrando en el proceso de aprobación.Cuando una aprobación iniciada (o retirada) se encuentra en estado de borrador, puede guardarla o enviarla de nuevo a través de la siguiente API:
El iniciador puede retirar un registro que se encuentra actualmente en aprobación a través de la siguiente API:
Parámetros
<approval id>: El 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 API:
Aquí, approvalRecords es un recurso de colección, por lo que puede utilizar condiciones de consulta comunes como filter, sort, pageSize y page.
Parámetros
<record id>: El ID del registro a procesar para aprobación. Obligatorio.status: El campo de estado del procesamiento de aprobación. 2 significa "Aprobar", -1 significa "Rechazar". Obligatorio.comment: Información de comentarios para el 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 API que 'Aprobar' y 'Rechazar', usando "status": 1 para representar una devolución.
A partir de la versión v1.9.0, la devolución tiene una API separada:
Parámetros
<record id>: El ID del registro a procesar para aprobación. Obligatorio.returnToNodeKey: La clave del nodo de destino al que se debe devolver. Opcional. Cuando se configura un rango de nodos a los que se puede devolver en el nodo, este parámetro puede utilizarse para especificar a qué nodo se debe regresar. 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
<record id>: El ID del registro a procesar para aprobación. Obligatorio.assignee: El ID del usuario al que se delega. Obligatorio.Parámetros
<record id>: El ID del registro a procesar para aprobación. Obligatorio.assignees: Una lista de IDs de usuario para añadir como firmantes. Obligatorio.order: El orden del firmante añadido. -1 indica antes de "mí", 1 indica después de "mí".