¿Qué estructura debo usar para un flujo de trabajo de aprobación?

Este es un problema común que encuentro al programar una aplicación de Lotus Notes.

Caso de uso: un empleador completa un formulario de solicitud en una base de datos de solicitudes. Se envía una notificación a la persona que puede darle Aceptar o RECHAZAR esa solicitud. La persona con autoridad visita la base de datos de solicitudes y da OK o REJECT.

Bien. Pero, ¿dónde guardaría el estado de aprobación OK o REJECT?:

  • Si la persona autorizada tiene acceso por escrito a la solicitud original y establece el estado directamente (y puede modificar otros datos en el formulario)
  • Si la acción de aprobación crea un documento de respuesta al original (y no puedo mostrar en una vista el estado actual)

preguntado el 03 de mayo de 12 a las 14:05

Eche un vistazo a Lotus Workflow. -

3 Respuestas

Por lo general, es mejor establecer un estado de aprobación directamente en la solicitud. Puede que inicialmente no parezca ideal, pero recuerde que Lotus Notes no es como una base de datos relacional donde las cosas estarían más normalizadas.

Consideremos la alternativa, poniendo un estado en el documento de respuesta. Ahora, ¿cómo se muestran todas las solicitudes con sus estados? Probablemente tendría que escribir algún código solo para hacer eso cuando con la primera opción podría simplemente crear una vista.

Puede controlar el acceso al documento utilizando los campos de acceso de lectura y escritura. Vea cómo lo hace la plantilla integrada (la plantilla de flujo de trabajo de aprobación). Esencialmente, cuando el documento cambia de estado (es decir, Nuevo, Enviado para aprobación, Aprobado o Denegado, etc.), también puede cambiar los campos de acceso de lectura y escritura en ese momento.

contestado el 03 de mayo de 12 a las 15:05

Una vez, diseñé una base de datos que enviaba por correo esa solicitud al aprobador con el formulario almacenado en el documento. Siempre que el usuario accediera al documento mediante un cliente de Notes, podría hacer clic en un botón en el mensaje para aprobar, lo que enviaría un mensaje a la base de datos con los datos del campo para marcar la solicitud como aprobada. Se configuró un agente en esa base de datos de solicitudes para que se ejecutara cuando llegara correo nuevo, leyera esos mensajes y cambiara el estado de las solicitudes originales. De esa forma, el aprobador nunca tuvo que salir de su bandeja de entrada y ni siquiera necesitaba derechos para editar la solicitud.

Puede hacerlo con direcciones URL si los usuarios lo aprueban a través del cliente del navegador: tenga el enlace a un agente y pase los parámetros.

O, para volver a su escenario, una vez que el solicitante haya enviado la solicitud, no muestre los campos que no desea cambiar, muestre los valores como texto calculado en su lugar.

Se mire como se mire, lo mejor es tener la aprobación registrada en el documento original.

contestado el 03 de mayo de 12 a las 20:05

Por encima, Todo es asunto nuestro. En SQL o cualquier otro RDMS, necesitamos normalizar eso. De manera similar, aquí tenemos la categorización de vistas, mostrar el documento de respuesta en jerarquía y una gran cantidad de funciones ocultas cuando se basan en el rol, ACL, persona única y lo que necesite. Podemos manipular fácilmente el procesamiento de datos dependiendo del usuario actual.

Para su P:- 1. Podemos controlar que el usuario apropiado [persona con autoridad] edite el elemento del formulario de solicitud. 2. También podemos hacerlo mediante el documento de respuesta. Allí podemos mostrar los documentos a la vista usando mostrar los documentos de Respuesta en jerarquía.

contestado el 04 de mayo de 12 a las 05:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.