IEA - Portal Web y Lirion
Documentación funcional y técnica del proyecto IEA: portal Flutter web, bus de integración con API de iDempiere, backend Lirion, cuentas, solicitudes, cotizaciones, visto bueno, abonos, evaluaciones y materiales requeridos.
- Visión General
- Cuentas y Validación
- Registro del Profesional Responsable
- Empresa, Titular y Asistente
- Validación de Correo, Roles y Aprobación IEA
- Solicitudes, Cotización y Abono
- Creación de Solicitudes desde el Portal
- Cotización, Visto Bueno y Abono
- Evaluaciones, Materiales Requeridos y En Proceso
- Lirion y Backend iDempiere
- Referencia Operativa
Visión General
Arquitectura, componentes, alcance y glosario del proyecto IEA.
Resumen del Proyecto
Alcance funcional
La documentación cubre los flujos principales del portal y del backend:
- Creación de cuenta del Profesional Responsable.
- Registro de Empresa, Titular y Asistente.
- Validación de correo, asignación de roles y aprobación por parte del IEA.
- Creación de solicitudes de análisis y pruebas de negatividad.
- Generación de cotización, aceptación, visto bueno y abono.
- Relación entre evaluaciones, materiales requeridos y avance operativo a estado “En Proceso”.
Componentes principales
| Componente | Rol |
|---|---|
| Portal IEA | Aplicación Flutter web usada por clientes externos para registrarse, administrar empresas/personas relacionadas, crear solicitudes, aceptar cotizaciones y enviar pagos. |
| Bus de integración | API REST de iDempiere usada por Flutter para leer modelos, crear registros, subir adjuntos y ejecutar procesos. |
| Lirion | Instancia iDempiere donde viven las ventanas, tablas, roles, procesos, solicitudes, cotizaciones y aprobaciones. |
Entornos de Lirion identificados
- Producción:
https://iea.lirion.io - Pruebas:
https://ieadev.primware.net
Arquitectura y Componentes
La arquitectura se organiza alrededor de tres piezas: el Portal IEA, el bus de integración REST y Lirion.
Arquitectura lógica
El portal Flutter consume endpoints REST de iDempiere. Las operaciones de negocio se ejecutan sobre modelos, ventanas y procesos configurados en Lirion.
Endpoints principales del BUS (API)
| Endpoint | Uso |
|---|---|
AD_User |
Contactos, usuarios, correo, teléfono y vínculo con tercero. |
C_BPartner |
Terceros: profesionales, empresas, titulares y asistentes. |
C_BP_Relation |
Relaciones entre tercero y tercero, por ejemplo Profesional Responsable, Representante Legal o Asistente. |
CDS_Professional |
Registro base del Profesional Responsable. |
CDS_Company |
Registro base de Empresa. |
CDS_CompanyDetails |
Relación de Empresa con profesional, titular, representante legal y otros roles. |
CDS_Assistant |
Registro base del Asistente. |
CDS_ProfessionalDetails |
Relación Asistente - Profesional - Empresa. |
R_Request |
Solicitudes/trámites del portal. |
C_Order |
Cotizaciones generadas desde solicitudes. |
Procesos invocados
setpassword: asigna contraseña a un usuario de Lirion.cds_authuser: asigna rol según posición y marca el registro como público.cotizacion-iea: genera o procesa la cotización relacionada con una orden.
Glosario del Proyecto
Este glosario fija los nombres usados en la documentación para evitar confusiones entre términos del portal, iDempiere y operación interna.
| Término | Significado |
|---|---|
| Portal | Aplicación Flutter web usada por usuarios externos del IEA. |
| Lirion | Nombre operativo usado para iDempiere en este proyecto. |
| Bus de integración | API REST de iDempiere usada por el portal para comunicarse con Lirion. |
| Profesional Responsable | Persona que representa técnica y administrativamente a una empresa frente al IEA para los productos que tramita. |
| Empresa | Persona jurídica o representante registrada en el portal para gestionar solicitudes. |
| Titular | Entidad o persona asociada a la empresa como titular del producto/trámite. |
| Asistente | Usuario autorizado por el Profesional Responsable para apoyar trámites de una empresa. |
| Solicitud | Registro R_Request creado desde el portal para un trámite del IEA. |
| Cotización | Orden de venta/cotización C_Order vinculada a una solicitud mediante R_Request.C_Order_ID. |
| Visto Bueno | Registro CDS_Approval asociado a una solicitud cuando se requiere aprobación previa al pago. |
| Abono | Referencia de pago y comprobante adjunto que el usuario envía desde el portal. |
Convención: cuando esta documentación menciona “API”, “REST” o “bus de integración”, se refiere al API de iDempiere expuesto por Lirion.
Cuentas y Validación
Flujos de registro, validación de correo, roles, aprobación IEA y relaciones entre actores.
Registro del Profesional Responsable
El Profesional Responsable es el primer actor del flujo. Desde el portal crea una cuenta, valida su correo y queda habilitado en Lirion cuando se asigna su rol y el registro queda público.
Validaciones del formulario
| Campo | Validación |
|---|---|
| Nombre completo | Obligatorio, se normaliza a mayúsculas y sin acentos. |
| Tipo de documento | Cédula o pasaporte. Para cédula se usa formato panameño validado por expresión regular. |
| Teléfono | Debe tener mínimo 7 dígitos locales. |
| Dirección | Obligatoria. |
| Correo electrónico | Formato válido, repetición exacta y correo único en AD_User. |
| Contraseña | Mínimo 8 caracteres, una mayúscula, una minúscula y repetición exacta. |
| Confirmación | Debe confirmar que los datos suministrados son verídicos. |
Registros creados
- Se valida que el correo no exista.
- Se valida que el documento no esté asociado a otro tercero.
- Se crea
C_BPartnercon nombre, documento y tipo de identificación natural. - Se crea
C_LocationyC_BPartner_Locationcuando hay dirección. - Se crea
AD_Usercon nombre, teléfono, correo y vínculo al tercero. - Se ejecuta
setpasswordpara asignar contraseña. - Se crea
CDS_ProfessionalconC_Job_ID = Profesional Responsable. - Se muestra mensaje indicando que debe validar su correo.
Flujo
Empresa, Titular y Asistente
Luego de contar con un Profesional Responsable, el portal permite registrar empresas, titulares y asistentes. Estas relaciones definen quién puede crear trámites, quién representa legalmente a la empresa y quién puede operar en apoyo del profesional.
Idea clave: las relaciones no solo identifican personas. También delimitan quién puede crear, autorizar o trabajar una solicitud dentro del portal.
Empresa
El registro de Empresa se realiza por pasos. El portal puede crear un nuevo tercero o reutilizar una empresa existente si ya fue localizada por RUC/DV.
- Se capturan datos de empresa: nombre, RUC, DV, correo, teléfono, país, dirección y tipo de identificación jurídica.
- Se valida que el correo de empresa no esté usado si la empresa no existe.
- Se valida que el correo del representante legal no esté usado.
- Se crea o reutiliza el tercero de la empresa.
- Se crea
CDS_Companycon la posición Empresa. - Se crea el Representante Legal como tercero/contacto y relación de tercero.
- Se registra la relación en
CDS_CompanyDetailsconC_Job_ID = Representante Legaly aprobado. - Se crea relación de tercero con el Profesional Responsable.
- Se registra la relación Profesional - Empresa en
CDS_CompanyDetails. - Se adjunta autorización del Profesional Responsable sobre
CDS_Company. - Se indica que la empresa debe validar el correo y luego esperar validación del IEA.
Importante: la empresa queda dependiente de validación de correo y de aprobación del IEA antes de operar completamente.
Titular
El Titular se registra asociado a una empresa y representa la autorización principal sobre esa empresa.
- Valida nombre, correo, documento, teléfono, país, dirección y adjunto.
- El correo debe ser único.
- Crea tercero/contacto con
C_BPartneryAD_User. - Crea relación en
CDS_CompanyDetailsconC_Job_ID = Titular. - Adjunta el poder o documento de representación sobre
CDS_Company.
Asistente
El Asistente se registra desde el contexto del Profesional Responsable.
- Debe seleccionar empresa representante.
- Valida nombre, documento, teléfono, dirección, correo y adjunto.
- El correo debe ser único.
- Crea tercero/contacto.
- Crea relación de tercero con el Profesional Responsable.
- Crea relación en
CDS_ProfessionalDetailsentre asistente, profesional y empresa. - Crea registro base
CDS_Assistant. - Adjunta autorización sobre
CDS_Assistant.
Baja de Profesional asociado a Empresa
Cuando un Profesional Responsable está asociado a una empresa, la empresa puede solicitar o registrar su baja desde el portal. Este flujo evita que una solicitud activa quede vinculada a un profesional que ya no trabajará con la empresa.
- La empresa inicia sesión en el portal.
- Ingresa al menú de profesionales.
- Selecciona el profesional que desea dar de baja.
- Marca o deshabilita la relación del profesional con la empresa.
- Adjunta un documento con el motivo de la baja.
- Guarda el cambio.
Regla obligatoria: si el profesional tiene una solicitud activa asociada, la empresa debe reasignar primero esa solicitud a otro Profesional Responsable antes de completar la baja.
| Situación | Qué debe hacer la empresa |
|---|---|
| El profesional no tiene solicitudes activas asociadas. | Puede deshabilitarlo directamente, adjuntando el documento con el motivo de la baja. |
| El profesional tiene una o más solicitudes activas. | Debe reasignar esas solicitudes a otro profesional asociado a la empresa. Después puede completar la baja y adjuntar el motivo. |
[Imagen sugerida: menú de profesionales de la empresa con la acción de deshabilitar profesional y campo para adjuntar motivo de baja]
Limitaciones por rol
| Rol | Puede hacer | Limitación principal |
|---|---|---|
| Profesional Responsable | Crear solicitudes y trabajar trámites para empresas donde esté relacionado y autorizado. | Necesita estar relacionado y aprobado por una empresa antes de crear solicitudes para esa empresa. Puede tener múltiples trámites y trabajar con varias empresas. |
| Empresa | Ser el contexto jurídico/comercial de los trámites y administrar profesionales relacionados. | Debe estar relacionada y autorizada por un Titular, completar validación de correo y aprobación IEA. Para dar de baja a un profesional con solicitudes activas, primero debe reasignarlas. |
| Titular | Autorizar o representar la relación de la empresa. | Su función habilita la relación de la empresa; no reemplaza al Profesional Responsable para la creación técnica de solicitudes. |
| Asistente | Trabajar solicitudes después de estar relacionado y aprobado por el Profesional Responsable. | Solo puede operar en una empresa y bajo un solo Profesional Responsable. Puede tener múltiples trámites, pero todos dentro de esa misma relación. |
Regla operativa: el Profesional Responsable puede participar en varias empresas; el Asistente queda restringido a una sola empresa y un solo profesional responsable.
Mapa de relaciones
Validación de Correo, Roles y Aprobación IEA
La validación combina una acción del usuario desde el portal, procesos REST de Lirion y revisión administrativa por parte del IEA.
Idea clave: el usuario llega a una URL del portal desde un correo. Esa URL incluye un parámetro que identifica el registro a validar y el portal ejecuta el flujo correspondiente según el rol.
URL de validación en el portal
Las rutas de validación son secciones del portal web. Cada ruta recibe un parámetro en la URL, normalmente asociado al registro que se debe validar. El portal usa ese parámetro para buscar el registro correcto, aplicar la validación y continuar con la asignación de contraseña o rol cuando corresponde.
Nota: esta página describe el comportamiento del portal al abrir el enlace. Los correos y workflows que generan esos enlaces se documentan en la página de backend y workflows.
Rutas de validación
| Ruta del portal | Parámetro | Registro buscado | Resultado |
|---|---|---|---|
/validate-professional/:uuid |
:uuid |
CDS_Professional |
Marca IsVerified, ejecuta cds_authuser y asigna rol si corresponde. |
/validate-company/:uuid |
:uuid |
CDS_Company |
Marca IsVerified y solicita definir contraseña. El acceso final depende de validación IEA. |
/validate-assistant/:uuid |
:uuid |
CDS_Assistant |
Marca IsVerified, ejecuta cds_authuser y luego solicita definir contraseña. |
Campos de control
IsVerified: indica que el usuario validó el correo desde el portal.IsPublic: indica que el registro ya está habilitado para uso público/login según rol.C_Job_ID: posición funcional usada para determinar el rol a asignar.IEA_AuthConfig: configuración que relaciona posición con rol de Lirion.
Proceso de asignación de rol
El proceso cds_authuser valida que el registro esté verificado, lee C_Job_ID, busca una configuración activa en IEA_AuthConfig, crea AD_User_Roles si el usuario no tiene el rol y marca IsPublic = true cuando la columna existe.
Solicitudes, Cotización y Abono
Creación de trámites, generación de cotización, visto bueno, aceptación, abono y relación con orden de venta.
Creación de Solicitudes desde el Portal
Las solicitudes del portal se crean como registros R_Request en Lirion. El usuario selecciona empresa, titular, tipo de solicitud, datos del producto y adjuntos requeridos.
Nota: la solicitud queda asociada a un responsable inicial configurado en iDempiere mediante IEA_InitialSalesRep. Ese valor define el usuario IEA que recibirá la notificación inicial.
Datos cargados por el portal
- Tipos de solicitud:
R_RequestTypefiltrado porShowInPortal = true. - Tipos de control de calidad:
R_Groupfiltrado porShowInPortal = true. - Categorías:
R_Category. - Forma farmacéutica:
IEA_PharmaForm. - Listas de referencia: clasificación, administración, almacenamiento, esterilidad, condición física, matriz a analizar y tipo de prueba analítica.
- Empresas, titulares y asistentes aprobados relacionados con el usuario autenticado.
Campos principales enviados a R_Request
| Campo | Uso |
|---|---|
Summary |
Resumen del trámite. |
R_RequestType_ID |
Tipo de solicitud seleccionada. |
CDS_Company_ID |
Empresa representante. |
CDS_Professional_ID |
Profesional responsable en sesión. |
CDS_Assistant_ID |
Asistente asignado cuando aplica. |
C_BPartner_ID y AD_User_ID |
Tercero y contacto de la empresa. |
IEA_Holder_ID |
Titular del producto. |
IEA_Product_NotListed |
Nombre del producto si no está listado. |
IEA_Active_Ingredient |
Ingrediente activo. |
SalesRep_ID |
Responsable inicial tomado del configurador de sistema IEA_InitialSalesRep. El valor configurado debe ser el AD_User_ID del usuario IEA que recibirá las notificaciones iniciales. |
Configuración del responsable inicial
En iDempiere existe el configurador del sistema IEA_InitialSalesRep, descrito como Usuario inicial de las solicitudes por parte del IEA. En su valor configurado se coloca el ID del registro AD_User que debe recibir la notificación cuando entra una solicitud nueva.
Este configurador también se usa desde el workflow Nueva Solicitud. En el nodo de envío de correo, el destinatario se resuelve con la expresión @$sysconfig.IEA_InitialSalesRep@.
Adjuntos
Después de crear la solicitud, el portal sube adjuntos sobre el registro R_Request. El portal calcula el progreso considerando la creación del trámite y cada archivo adjunto.
Flujo
Cotización, Visto Bueno y Abono
La cotización conecta una solicitud R_Request con una orden/cotización C_Order. El portal permite consultar el detalle, aceptar la cotización, enviar mensajes de ajuste y registrar el abono.
Generación de la cotización
En el plugin se identifica el proceso CreateQuoteFromRequest, que crea una C_Order de venta tipo cotización desde el registro activo de R_Request. El proceso:
- Valida que exista una solicitud activa.
- Exige organización y almacén.
- Lee
C_BPartner_ID,AD_User_ID,SalesRep_IDySummarydesde la solicitud. - Resuelve tipo de documento de cotización/propuesta/oferta.
- Resuelve lista de precios desde parámetro, tercero o lista de precios de venta por defecto.
- Busca ubicación activa del tercero, prefiriendo facturación.
- Crea
C_Ordercon vínculoR_Request_ID. - Opcionalmente crea línea con producto.
- Actualiza
R_Request.C_Order_ID.
Aceptación y ajuste
- El portal lee la cotización desde
C_OrderexpandiendoC_OrderLine. - Si el usuario acepta, el portal actualiza
R_Request.CDS_QuoteAccepted = true. - Si el usuario solicita ajuste o conversa sobre la cotización, se crean mensajes en
CDS_QuoteCorrections.
Chat de cotización
El chat de cotización permite la comunicación entre el portal y Lirion mientras la cotización todavía no ha sido aceptada. Se usa para dudas, ajustes o aclaraciones relacionadas con la cotización antes de que el cliente confirme la aceptación.
Regla de bloqueo: cuando CDS_QuoteAccepted = 'Y', el chat queda en solo lectura tanto en el portal como en Lirion. Desde ese momento ya no se pueden escribir nuevos mensajes.
| Condición | Comportamiento del chat |
|---|---|
CDS_QuoteAccepted != 'Y' |
El portal y Lirion pueden registrar mensajes sobre la cotización. |
CDS_QuoteAccepted = 'Y' |
El chat queda bloqueado para escritura y solo permite consultar el historial. |
Visto bueno
Cuando una solicitud requiere aprobación, el portal bloquea el pago hasta que CDS_ApprovalStatus indique aprobación. El evento RequestApprovalLinker crea o actualiza un registro CDS_Approval cuando cambia el estado de aprobación en R_Request.
Abono
Cuando la cotización está aceptada y no requiere visto bueno, o ya fue aprobada, el portal permite registrar el abono. El portal actualiza ReferenceNo, mantiene CDS_QuoteAccepted = true y adjunta el comprobante de pago al R_Request.
Evaluaciones, Materiales Requeridos y En Proceso
La evaluación se trabaja desde Lirion sobre la misma solicitud y sus registros relacionados. En esta etapa se revisa la información enviada, se asignan evaluadoras, se registran materiales requeridos y se gestionan observaciones hacia el cliente cuando hay correcciones o dudas.
Tablas y ventanas reconocidas
| Elemento | Uso reconocido |
|---|---|
IEA_RequestEvaluation |
Cabecera de evaluación asociada a una solicitud. |
IEA_RequestEvaluationDetails |
Detalle de evaluación y posibles adjuntos/elementos asociados. |
IEA_RequestEvaluation_Material |
Cabecera/listado de materiales requeridos por solicitud. |
IEA_RequestEvaluation_MaterialDetails |
Detalle de materiales requeridos. |
Procesos reconocidos
AssignEvaluatorAndDateOnRequestEvaluation: asigna el usuario actual y fecha actual a columnas configurables deIEA_RequestEvaluation.AssignDateFinishOnRequestEvaluation: asignaDateFinishcuandoEvaluator_1yEvaluator_2están marcados.AssignEvaluatorUserOnOrder: asigna usuario evaluador actual en una columna configurable deC_Order.
Observaciones de evaluación
En Lirion, dentro de la misma solicitud, existe una pestaña de observaciones. Esta pestaña usa el mismo modelo funcional del chat, pero su propósito no es negociar la cotización, sino manejar correcciones o dudas de evaluación.
Las evaluadoras pueden enviar observaciones al cliente cuando necesitan aclaraciones, correcciones o información adicional. El cliente responde esas observaciones desde el portal, manteniendo la conversación asociada a la solicitud evaluada.
| Canal | Dónde se usa | Propósito |
|---|---|---|
| Chat de cotización | Portal y Lirion, antes de aceptar la cotización. | Resolver dudas o ajustes relacionados con la cotización. |
| Observaciones de evaluación | Pestaña de observaciones en la solicitud de Lirion y respuesta del cliente desde el portal. | Enviar correcciones, dudas o solicitudes de aclaración desde las evaluadoras hacia el cliente, y recibir las respuestas del cliente. |
Nota: aunque las observaciones comparten el modelo de conversación con el chat, deben entenderse como parte del proceso de evaluación y corrección de la solicitud.
Lirion y Backend iDempiere
Ventanas, tablas, procesos, eventos y workflows reconocidos en el plugin de iDempiere.
Ventanas Relevantes en Lirion
El 2Pack del plugin contiene ventanas y pestañas relacionadas con solicitudes, empresas, profesionales, FAQ, visto bueno, evaluación y materiales requeridos.
Ventanas principales
| Ventana | Tabla base / uso | Campos clave |
|---|---|---|
| Solicitud | R_Request. Trámite creado desde el portal y gestionado por IEA. |
DocumentNo, R_RequestType_ID, R_Status_ID, CDS_Company_ID, CDS_Professional_ID, CDS_Assistant_ID, C_Order_ID, CDS_QuoteAccepted, CDS_ApprovalStatus, ReferenceNo. |
| Empresa | CDS_Company y pestañas relacionadas. |
C_BPartner_ID, AD_User_ID, C_Job_ID, IsVerified, IsPublic, detalles en CDS_CompanyDetails. |
| Profesional Responsable | CDS_Professional y CDS_ProfessionalDetails. |
C_BPartner_ID, AD_User_ID, C_Job_ID, IsVerified, IsPublic, empresa y asistente relacionados. |
| Asistente | CDS_Assistant. |
C_BPartner_ID, AD_User_ID, C_Job_ID, IsVerified, IsPublic. |
| Visto Bueno | CDS_Approval. Aprobación asociada a solicitud. |
DocumentNo, R_Request_ID, C_BPartner_ID, CDS_Professional_ID, AD_User_ID, CDS_ApprovalStatus. |
| FAQ | CDS_FAQ. Preguntas públicas consumidas por el portal. |
CDS_Question_FAQ, CDS_Response_FAQ, SeqNo. |
| Evaluación | IEA_RequestEvaluation. |
R_Request_ID, R_RequestType_ID, evaluadores, fechas y estado de avance. |
| Materiales Requeridos | IEA_RequestEvaluation_Material y detalles. |
Solicitud relacionada, materiales y detalle requerido para continuar evaluación. |
Dependencias, Procesos, Eventos, Workflows y Correos
Esta página resume las dependencias iDempiere del proyecto, los procesos Java identificados, el evento del plugin, los configuradores del sistema y los workflows de Lirion que disparan correos o cambios de estado.
Dependencias iDempiere
| Componente | Estado | Rol dentro del proyecto |
|---|---|---|
iDempiere 12 |
Base operativa | Sistema fuente para terceros, usuarios, roles, solicitudes, órdenes, procesos, workflows, configuradores del sistema y ventanas administrativas. |
com.cdsoftware.iea.portal |
Plugin principal del flujo del portal | Gestiona validación de usuarios, roles, aprobación, relaciones, solicitudes, cotizaciones, evaluaciones y visto bueno. |
com.cdsoftware.appointment |
Plugin de agendamiento reutilizable | Gestiona citas, servicios, empleados, horarios, días no disponibles, generación de slots y validación centralizada de disponibilidad desde ventana iDempiere o REST/API. |
com.cdsoftware.lirion.dnfd |
Dependencia funcional | Integra con la Dirección Nacional de Farmacia y Drogas para datos y validaciones relacionadas con el flujo regulatorio. |
com.cdsoftware.iea |
En desarrollo |
Maneja extensiones de solicitud y recepción de materiales, etiquetas de producto, notificaciones de vencimiento y valores por defecto en recibos desde solicitudes. |
LabCollector |
Integración futura |
Se contempla como una integración posterior para complementar el flujo operativo/laboratorio. |
Configuradores del sistema
Algunas reglas operativas del flujo se controlan desde configuradores del sistema en iDempiere. Estos valores permiten cambiar destinatarios o comportamientos sin modificar el portal.
| Configurador | Descripción | Valor esperado | Dónde se usa |
|---|---|---|---|
IEA_InitialSalesRep |
Usuario inicial de las solicitudes por parte del IEA. | ID del usuario iDempiere en AD_User que recibirá la notificación inicial de nuevas solicitudes. |
Campo SalesRep_ID de la solicitud y workflow Nueva Solicitud, donde el nodo de correo usa @$sysconfig.IEA_InitialSalesRep@. |
IEA_AppointmentEmployee |
Empleado fijo de agendamiento usado por el portal Flutter cuando el flujo IEA debe crear o consultar disponibilidad contra un responsable específico. | ID del registro en CDS_AppointmentEmployee que representa al empleado usado para las citas del portal. |
Integración del portal Flutter con com.cdsoftware.appointment para filtrar/generar slots y crear citas con un empleado predeterminado. |
IEA_AppointmentService |
Servicio fijo de agendamiento usado por el portal Flutter para el tipo de cita asociado al flujo IEA. | ID del registro en CDS_AppointmentService que representa el servicio usado para las citas del portal. |
Integración del portal Flutter con com.cdsoftware.appointment para filtrar/generar slots y crear citas con un servicio predeterminado. |
Procesos del plugin com.cdsoftware.iea.portal
| Proceso | Qué hace | Uso en el flujo |
|---|---|---|
SetUserPasswordProcess | Recibe AD_User_ID y Password; asigna contraseña al usuario. | Alta de Profesional, Empresa y Asistente cuando se define contraseña. |
AuthUser | Valida IsVerified, lee C_Job_ID, busca IEA_AuthConfig, crea AD_User_Roles y marca IsPublic. | Habilitación del usuario para operar en el portal. |
CreateQuoteFromRequest | Crea C_Order tipo cotización desde R_Request y vincula la orden a la solicitud. | Generación de cotización por el IEA. |
AssignCurrentUserToApproval | Asigna el usuario actual al registro CDS_Approval. | Firma o registro del responsable del visto bueno. |
AssignEvaluatorAndDateOnRequestEvaluation | Escribe usuario y fecha actual en columnas configurables de IEA_RequestEvaluation. | Asignación de evaluadores y fechas de evaluación. |
AssignDateFinishOnRequestEvaluation | Asigna DateFinish cuando Evaluator_1 y Evaluator_2 están completos. | Cierre de evaluación. |
AssignEvaluatorUserOnOrder | Asigna el usuario actual a una columna configurable de C_Order. | Asignación de evaluador sobre la orden/cotización. |
CreateUserCorrectionRequest | Crea solicitud de corrección de datos de usuario y campos relacionados. | Correcciones solicitadas por usuarios o personal IEA. |
Evento reconocido
RequestApprovalLinker escucha creación/cambio de R_Request. Cuando cambia CDS_ApprovalStatus, crea o actualiza CDS_Approval y lo vincula a la solicitud.
Workflows y correos en Lirion
Los workflows de iDempiere se disparan por tabla y lógica de documento. En este flujo se usan principalmente para enviar correos con el proceso SendMailText CDS y, en un caso, para marcar un campo de control.
| Workflow | Tabla | Disparo | Acción |
|---|---|---|---|
| Validar usuario profesional | Professional | Registro nuevo con C_Job_ID > 1. | Envía correo de validación al profesional mediante SendMailText CDS. |
| Validar usuario Company | Company | Registro nuevo con C_Job_ID > 1. | Envía correo de validación a la empresa. |
| Validar usuario Asistente | Assistant | Registro nuevo con C_Job_ID > 1. | Envía correo de validación al asistente. |
| Olvide contraseña | reset_password | Registro nuevo. | Envía correo para recuperación o definición de contraseña. |
| Notificar Usuario nuevo a IEA | Company | IsVerified = true e IsPublic = false. | Notifica al IEA que existe un usuario/empresa validado por correo pendiente de aprobación. |
| Notificar usuario validado por IEA | Company | IsPublic = true y CDS_ApprovalEmailSent = false. | Envía correo a la empresa y marca CDS_ApprovalEmailSent = Y para evitar reenvíos. |
| Nueva relación de profesional | CDS_ProfessionalDetails | Registro nuevo. | Notifica al asistente cuando se crea una nueva relación con un profesional. |
| Nueva relación de empresa | CDS_CompanyDetails | Registro nuevo con C_Job_ID = 1000001. | Notifica a la empresa cuando se crea una nueva relación de profesional. |
| Relación aprobada empresa-profesional | CDS_CompanyDetails | Registro actualizado con CDS_IsApproved = true y C_Job_ID = 1000001. | Notifica al profesional que la relación fue aprobada. |
| Relación finalizada | CDS_CompanyDetails / CDS_ProfessionalDetails | Registro actualizado con CDS_IsApproved = false. | Notifica al usuario relacionado y, en el flujo de empresa/profesional, también al IEA. |
| Corrección de datos | IEA_UserCorrectionRequest | Registro nuevo. | Envía correo relacionado con la solicitud de corrección. |
| Nueva Solicitud | Request | Solicitud nueva. | Envía la notificación inicial al usuario configurado en IEA_InitialSalesRep. En el nodo de correo el destinatario se resuelve con @$sysconfig.IEA_InitialSalesRep@. |
| Cambios en Solicitud | Request | Solicitud actualizada. | Ejecuta notificaciones de cambio de solicitud con SendMailText CDS. |
Notas sobre correos
- Los correos del flujo se ejecutan desde iDempiere/Lirion mediante el proceso
SendMailText CDS. - Las plantillas, destinatarios y configuradores se administran en Lirion; el portal consume el resultado del flujo, pero no define por sí solo todas las reglas de envío.
- Cuando el correo contiene un enlace de validación, ese enlace apunta a una URL del portal con un parámetro que permite identificar el registro a validar.
Relación con com.cdsoftware.iea
El plugin com.cdsoftware.iea complementa el flujo con funciones de materiales: generación de etiquetas para líneas de recibo completadas, notificaciones de vencimiento de productos y propagación de datos desde solicitudes hacia recibos de materiales mediante el callout RequestInOut. Esta parte está en desarrollo y debe documentarse como dependencia operativa cuando el flujo de materiales entre en uso.
Referencia Operativa
FAQ, pendientes por confirmar, capturas recomendadas y notas para mantenimiento documental.
FAQ y Contenido Público
El portal consume preguntas frecuentes desde Lirion mediante el modelo CDS_FAQ. Esto permite administrar contenido público sin modificar el código Flutter.
Endpoint usado
El portal consulta:
CDS_FAQ?$select=CDS_Question_FAQ,CDS_Response_FAQ,SeqNo&$orderby=SeqNo
Acceso público controlado
La consulta de contenido público se realiza a través del bus de integración. Para permitir que el portal muestre las FAQ sin exponer acceso general a iDempiere, se utiliza un token de contenido público.
Importante: el valor del token no debe documentarse aquí. Solo debe administrarse en Lirion por personal autorizado.
| Elemento | Uso |
|---|---|
Rest Auth Token |
Ventana de Lirion donde se administra el token usado por el bus de integración para contenido público. |
| Rol limitado | Rol creado para limitar el alcance del token y permitir únicamente la lectura de FAQ/contenido público. |
| Bus de integración | Intermedia la consulta desde el portal hacia iDempiere sin exponer credenciales de usuario final. |
Campos clave
| Campo | Uso |
|---|---|
CDS_Question_FAQ |
Pregunta mostrada al usuario. |
CDS_Response_FAQ |
Respuesta pública. |
SeqNo |
Orden de visualización. |
Recomendaciones de mantenimiento
- Mantener preguntas breves y orientadas al usuario externo.
- Evitar respuestas con reglas operativas internas que cambien con frecuencia.
- Usar
SeqNopara ordenar las preguntas más importantes al inicio. - Revisar que los textos sean consistentes con correos, formularios y mensajes del portal.
- Revisar periódicamente el rol asociado al token público para confirmar que solo tenga acceso al contenido necesario.