Proyectos V2¶
Proyectos V2 es el módulo central de gestión de proyectos en DinaupFlex. Permite planificar, ejecutar y controlar proyectos mediante la organización jerárquica de tareas, asignación de recursos humanos y control presupuestario. Almacena información completa del proyecto incluyendo nombre, descripción, fechas de inicio y fin, tipo y estado del proyecto, cliente asociado, equipo asignado con control de acceso por usuario, estructura de trabajo con tareas y hitos, presupuesto estimado y confirmado, horas planificadas y consumidas, servicios contratados, y vinculación con tickets de soporte. Se integra completamente con los módulos de Tareas, Actividad en tareas para control de tiempo, Plantillas de proyectos para crear estructuras reutilizables, Servicios contratados y Entidades (clientes). Soporta flujos de trabajo Agile, visualización en Gantt y Kanban, control de rentabilidad comparando costes estimados vs. confirmados, y generación de proyectos desde plantillas personalizables.
Información General¶
| Propiedad | Valor |
|---|---|
| ID | 362caf2d-605b-47dc-a1e2-db9c22f44cb9 |
| Tabla PostgreSQL | tpr_30010431847 |
| Etiqueta Plural | Proyectos V2 |
| Texto principal automatico | No |
| Sección Base | Base - Proyectos V2 (eca26b37-67f7-4c97-8ec9-a2d7c0abd2a9) |
Campos¶
Total de campos: 83 (10 del sistema, 73 personalizados)
Campos del Sistema¶
| Campo | Tipo | Rol | Columna PostgreSQL | Relación | Atributos |
|---|---|---|---|---|---|
| ID | Relación |
- | id |
Proyectos V2 | - |
| Título | Texto |
- | nombre |
- | - |
| Fecha Alta Dato | Fecha Y Hora |
- | fecha |
- | - |
| Editado | Fecha Y Hora |
- | fecham |
- | - |
| Eliminado | Sí/No |
- | eliminado |
- | - |
| Usuario Creador del dato | Relación |
- | usuarioid |
Base - Entidades | - |
| Sección (Relación Sistema) | Relación |
- | plantillapid |
- | 🔴 Obligatorio |
| Posición (Orden) | Decimal |
- | posicion |
- | - |
| Modificado | Sí/No |
- | modificado |
- | - |
| Fecha Indice Actividad | Fecha Y Hora |
- | fechaia |
- | - |
Campos Personalizados¶
| Campo | Tipo | Pestaña | Columna | Atributos | Notas |
|---|---|---|---|---|---|
| Cantidad de Elementos | Entero |
General | pr_30010434282 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Tiempo de actividad | Decimal |
Avanzado | pr_40010431912 |
🔒 Bloqueado, 📊 Positivos o 0 | - |
| Lider | Relación |
General | pr_30010431841008 |
🔴 Obligatorio | Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* ) |
| Descripción del proyecto | Texto |
Descripción | pr_50010432098 |
- | - |
| Tiempo de actividad (Planificadas) | Decimal |
Avanzado | pr_40010431911 |
🔒 Bloqueado, 📊 Positivos o 0 | - |
| Destinador | Relación |
General | pr_30010431841015 |
🔒 Bloqueado, 👁 Oculto | - |
| Fecha fin (Planificada) | Fecha |
Avanzado | pr_30010431912 |
🔒 Bloqueado, 👁 Oculto | - |
| Coste RRHH (Confirmado) | Decimal |
Avanzado | pr_50010432062 |
🔒 Bloqueado, 👁 Oculto, 📊 Positivos o 0 | - |
| Estado | Relación |
General | pr_50010431912 |
- | - |
| Hora local | Hora |
Registro | pr_30010431841012 |
🔒 Bloqueado, 👁 Oculto | - |
| En proceso | Sí/No |
General | pr_40010434411 |
👁 Oculto | - |
| Tipo | Relación |
General | pr_30010431914 |
- | Autorrellenado (Siempre): Referencia dato: To Do |
| Cantidad de actividades | Entero |
Actividad | pr_30010434283 |
🔒 Bloqueado, 👁 Oculto, ⚙️ Auto-Calculado, 📊 Cualquier valor numérico | - |
| Cantidad de días (Computado) | Entero |
Avanzado | pr_60010433362 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Gastos relativos al proyecto | Decimal |
Gastos | pr_30010434412 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Ubicación | Relación |
Avanzado | pr_50010431913 |
👁 Oculto | Autorrellenado (Siempre): Campo (Sesión): Ubicación Principal |
| Cantidad de horas de trabajo (Computado) | Decimal |
Avanzado | pr_30010432315 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Plantilla de proyecto utilizada | Relación |
Avanzado | pr_20010434421 |
👁 Oculto | - |
| Fecha Inicio (Confirmado) | Fecha |
Avanzado | pr_30010431916 |
🔒 Bloqueado, 👁 Oculto | - |
| Fecha fin (Computado) | Fecha |
Avanzado | pr_30010432313 |
🔒 Bloqueado, 👁 Oculto | - |
| Coste RRHH (Planificado) | Decimal |
Avanzado | pr_40010431913 |
🔒 Bloqueado, 👁 Oculto, 📊 Positivos o 0 | - |
| Gastos no RRHH (Planificado) | Decimal |
Avanzado | pr_10010434232 |
🔒 Bloqueado, 👁 Oculto, 📊 Positivos o 0 | - |
| Fecha inicio (Planificada) | Fecha |
Avanzado | pr_30010431911 |
🔒 Bloqueado, 👁 Oculto | - |
| Revisión Post-Proyecto | Texto |
Post-Proyecto | pr_60010432092 |
- | - |
| Autor del alta | Relación |
Avanzado | pr_30010431841010 |
🔴 Obligatorio | Autorrellenado (Siempre): Campo (Sesión): La Entidad ( ID* ) |
| Fecha inicio (Computado) | Fecha |
Avanzado | pr_30010432312 |
🔒 Bloqueado, 👁 Oculto | - |
| Cantidad de Tareas | Entero |
Estadisticas | pr_30010434281 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Gastos no RRHH (Confirmados) | Decimal |
Avanzado | pr_50010432063 |
🔒 Bloqueado, 👁 Oculto, 📊 Positivos o 0 | - |
| Fecha fin (Confirmado) | Fecha |
Avanzado | pr_30010431917 |
🔒 Bloqueado, 👁 Oculto | - |
| Total costes y gastos (Confirmado) | Decimal |
Avanzado | pr_40010431914 |
🔒 Bloqueado, 👁 Oculto, 📊 Positivos o 0 | - |
| Total costes y gastos (Planificado) | Decimal |
Avanzado | pr_50010432061 |
🔒 Bloqueado, 👁 Oculto, 📊 Positivos o 0 | - |
| Fecha Alta del registro | Fecha Y Hora |
Avanzado | pr_30010431841014 |
🔴 Obligatorio | Autorrellenado (Siempre): Fecha y Hora actual |
| Cerrado | Sí/No |
Avanzado | pr_60010464721 |
- | - |
| Gastos no RRHH (Computado) | Decimal |
Avanzado | pr_40040520482 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Total costes y gastos (Computado) | Decimal |
Avanzado | pr_40040520481 |
🔒 Bloqueado, 👁 Oculto, 📊 Positivos o 0 | - |
| Coste RRHH (Computado) | Decimal |
Avanzado | pr_40040520483 |
🔒 Bloqueado, 👁 Oculto, 📊 Cualquier valor numérico | - |
| Clave | Texto |
General | pr_60040553792 |
🔴 Obligatorio | - |
| Título legible | Texto |
Avanzado | pr_60040553791 |
- | - |
| Cliente | Relación |
General | pr_50040553942 |
- | - |
| Empleado por defecto | Relación |
Avanzado | pr_40040595574 |
- | - |
| Json | Texto |
General | pr_60040597625 |
👁 Oculto | - |
| Grupo de Tickets | Relación |
Avanzado | pr_10040599201 |
- | - |
| Tareas en proceso | Entero |
General | pr_20040599375 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Tareas pendientes | Entero |
General | pr_20040599376 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Tareas completadas | Entero |
General | pr_20040599377 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Plantilla Fecha | Fecha |
Avanzado | pr_10040599642 |
👁 Oculto | - |
| Tareas en Backlog | Entero |
General | pr_10040606772 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Tareas Pausadas | Entero |
General | pr_10040606773 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Proyecto visible para todos | Sí/No |
Avanzado | pr_30040608691 |
- | Autorrellenado (Siempre): Campo : Tipo / Proyecto visible para todos |
| Webhook - Notificaciones | Texto |
Avanzado | pr_30040610673 |
🔒 Bloqueado | - |
| Alta en Mattermost | Sí/No |
Avanzado | pr_20040611364 |
- | Autorrellenado (Siempre): Campo : Tipo / Alta en Mattermost |
| Descripción corta (Área de clientes) | Texto |
Avanzado | pr_40040613523 |
- | - |
| Cantidad de Tickets (Abiertos) | Entero |
Tickets | pr_40040613524 |
🔒 Bloqueado, ⚙️ Auto-Calculado, 📊 Cualquier valor numérico | - |
| Cantidad de Tickets | Entero |
Tickets | pr_40040613525 |
🔒 Bloqueado, ⚙️ Auto-Calculado, 📊 Cualquier valor numérico | - |
| Servicio Producción | Relación |
Servicios | pr_50626105 |
- | - |
| Servicio Desarrollo | Relación |
Servicios | pr_50626106 |
- | - |
| Servicio Pre-Producción | Relación |
Servicios | pr_50626107 |
- | - |
| Cantidad Miembros | Entero |
General | pr_20630871001 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Cantidad Historias de Usuario | Entero |
General | pr_20630871003 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Cantidad Epics | Entero |
General | pr_20630871004 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Cantidad Grupos | Entero |
General | pr_20630871002 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Cantidad Bugs | Entero |
General | pr_20630871005 |
👁 Oculto, 📊 Cualquier valor numérico | - |
| Desviación % | Decimal |
Avanzado | pr_30630872 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Tiempo de actividad restante | Decimal |
Avanzado | pr_40630871 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Tiempo de actividad (Planificado + Desviación) | Decimal |
Avanzado | pr_40630872 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Tiempo de actividad (Desviación) | Decimal |
Avanzado | pr_40630873 |
🔒 Bloqueado, 📊 Cualquier valor numérico | - |
| Flujo | Relación |
Avanzado | pr_50656991003 |
🔴 Obligatorio | Autorrellenado (Cadena_Rellenada): Campo : Tipo / Flujo · Autorrellenado (Siempre): Referencia dato: Agile |
| Icono fuente | Texto |
Avanzado | pr_40667833 |
- | - |
| Bono | Relación |
Avanzado | pr_30703981 |
- | - |
| Tiempo mínimo tareas (Bono) | Decimal |
Avanzado | pr_30704001001 |
📊 Cualquier valor numérico | - |
| Bono Precio hora (sin impuestos) | Decimal |
Avanzado | pr_30704001002 |
📊 Cualquier valor numérico | - |
| Subdepartamento | Relación |
General | pr_30706632 |
- | - |
| Departamento | Relación |
General | pr_30706631 |
- | - |
Scripts¶
Total de scripts: 17
Código de Scripts¶
Lógica de negocio ejecutada en los formularios automáticamente
Campo_Click¶
F.Guardar
F.OpenReport(S.Reports.Funcionalidad.ProyectoTareasDeProyectoKanban.ID,C.ID)
Campos utilizados: - Botón
Campo_Click¶
F.Guardar
F.AgregarElemento_Iniciar(S.Sections.TareasDeProyectos.ID)
F.AgregarElemento_Valor(S.Fields.TareasDeProyectos.ReferenciaProyecto.ID,C.ID)
F.AgregarElemento_Finalizar()
Campos utilizados: - Botón
Campo_Click¶
F.Guardar
F.AgregarElemento_Iniciar(S.Sections.AsignacionesDeEntidadesAProyectosV2.ID)
F.AgregarElemento_Valor(S.Fields.AsignacionesDeEntidadesAProyectosV2.ReferenciaProyectoV2.ID,C.ID)
F.AgregarElemento_Finalizar()
Campos utilizados: - Botón
Campo_ComboAplicarFiltro¶
if C.ID = ''
F.MsgBox('Antes debes guardar.',0)
else
F.CampoDesplegableAplicarFiltro(S.Fields.TareasDeProyectosBase.ReferenciaProyecto.ID,'=',C.ID)
end if
Campos utilizados:
- Proyectos V2 > Grupo de Tickets
Campo_ComboAplicarFiltro¶
if C.ID = ''
F.MsgBox('Antes debes guardar.',0)
else
F.CampoDesplegableAplicarFiltro(S.Fields.TareasDeProyectosBase.ReferenciaProyecto.ID,'=',C.ID)
end if
Campos utilizados:
- Proyectos V2 > Grupo de Incidencias (Obsoleto)
Campo_PreAgregarRelacion¶
if C.ID = ''
F.MsgBox('Antes debes guardar.',0)
else
F.CopiarAgregarRelacion(S.Fields.TareasDeProyectosBase.ReferenciaProyecto.ID,C.ID)
F.CopiarAgregarRelacion(S.Fields.TareasDeProyectosBase.Resumen.ID,'Incidencias')
F.CopiarAgregarRelacion(S.Fields.TareasDeProyectosBase.ReferenciaTipo.ID,'cdae8a36-bbe6-45f6-ba98-bc12def39bf6')
end
Campos utilizados:
- Proyectos V2 > Grupo de Incidencias (Obsoleto)
Campo_PreAgregarRelacion¶
if C.ID = ''
F.MsgBox('Antes debes guardar.',0)
else
F.CopiarAgregarRelacion(S.Fields.TareasDeProyectosBase.ReferenciaProyecto.ID,C.ID)
F.CopiarAgregarRelacion(S.Fields.TareasDeProyectosBase.Resumen.ID,'Ticket')
F.CopiarAgregarRelacion(S.Fields.TareasDeProyectosBase.ReferenciaTipo.ID,'cdae8a36-bbe6-45f6-ba98-bc12def39bf6')
end
Campos utilizados:
- Proyectos V2 > Grupo de Tickets
Campo_Click¶
F.Guardar
F.OpenDynamicDocument(S.DynamicDocuments.PaginasInformes.ProyectoVerGantt.ID,C.ID)
Campos utilizados: - Botón
Campo_Click¶
F.Guardar
F.AgregarElemento_Iniciar(S.Sections.TicketsSoporte.ID)
F.AgregarElemento_Valor(S.Fields.TicketsSoporte.ReferenciaProyecto.ID,C.ID)
F.AgregarElemento_Valor(S.Fields.TicketsSoporte.ReferenciaAutor.ID,D.SesionActual.ID)
F.AgregarElemento_Valor(S.Fields.TicketsSoporte.ReferenciaEmpresaRelacionada.ID,C.ReferenciaCliente)
F.AgregarElemento_Finalizar()
Campos utilizados: - Botón
Campo_Click¶
F.Guardar
F.OpenReport(S.Reports.Funcionalidad.ProyectoBacklog.ID,C.ID)
Campos utilizados: - Botón
Campo_Click¶
F.Guardar
F.OpenReport(S.Reports.Funcionalidad.ProyetoTodasLasTareas.ID,C.ID)
Campos utilizados: - Botón
Campo_Click¶
F.Guardar
F.AgregarElemento_Iniciar(S.Sections.AsignacionesDeServiciosDeProyectosAProyectosV2.ID)
F.AgregarElemento_Valor(S.Fields.AsignacionesDeServiciosDeProyectosAProyectosV2.ReferenciaProyecto.ID,C.ID)
F.AgregarElemento_Finalizar()
Campos utilizados: - Botón
Campo_Click¶
F.Guardar
F.AgregarElemento_Iniciar(S.Sections.VistasDeProcesosDeProyectos.ID)
F.AgregarElemento_Valor(S.Fields.VistasDeProcesosDeProyectos.ReferenciaProyecto.ID,C.ID)
F.AgregarElemento_Finalizar()
Campos utilizados: - Botón
Campo_Click¶
F.Guardar
F.AgregarElemento_Iniciar(S.Sections.GruposDeTeareasDeProyectos.ID)
F.AgregarElemento_Valor(S.Fields.GruposDeTeareasDeProyectos.ReferenciaProyecto.ID,C.ID)
F.AgregarElemento_Finalizar
Campos utilizados: - Botón
Campo_Cambiado¶
if C.ReferenciaEstado.Estado = S.Enums.estadotramite.pendiente
C.EnProceso = 1
else
C.EnProceso = 0
end
Campos utilizados:
- Proyectos V2 > Estado
Campo_Click¶
F.Guardar
if C.PlantillaFecha = ''
F.MsgBox('Para importar una plantilla se requiere indicar una fecha.',0)
salir
end if
txt LaPlantilla = C.ReferenciaPlantillaDeProyectoUtilizada
if v.LaPlantilla = ''
V.LaPlantilla = F.PreguntarRegistro('Plantilla de proyecto','Seleccione plantilla',S.Sections.PlantillasDeProyectos.ID)
end if
if v.LaPlantilla = ''
salir
end if
F.DataListLoad(S.Sections.PlantillasDeProyectos.ID,1,1)
F.DataListLoadAddFilter(S.Sections.PlantillasDeProyectos.ID,S.Fields.PlantillasDeProyectos.ID.ID,'=',v.LaPlantilla)
F.ProcessDataList_Ini(S.Sections.PlantillasDeProyectos.ID)
C.ReferenciaTipo = I.PlantillasDeProyectos.ReferenciaTipo
C.ReferenciaPlantillaDeProyectoUtilizada = I.PlantillasDeProyectos.ID
F.ProcessDataList_End
@ Campos que se van a rellenar
txt CP_Tarea_TextoPrincipal = S.Fields.TareasDeProyectos.TextoPrincipal.ID
txt CP_Tarea_IDOrden = S.Fields.TareasDeProyectos.Clave.ID
txt CP_Tarea_Titulo = S.Fields.TareasDeProyectos.Resumen.ID
txt CP_Tarea_ReferenciaEmpleadoEncargado = S.Fields.TareasDeProyectos.ReferenciaAsignadaA.ID
txt CP_Tarea_ReferenciaTipo = S.Fields.TareasDeProyectos.ReferenciaTipo.ID
txt CP_Tarea_Orden = S.Fields.TareasDeProyectos.Nivel.ID
txt CP_Tarea_Prioridad = S.Fields.TareasDeProyectos.Prioridad.ID
txt CP_Tarea_ReferenciaProyecto = S.Fields.TareasDeProyectos.ReferenciaProyecto.ID
txt CP_Tarea_ReferenciaPlantillaDeTarea = S.Fields.TareasDeProyectos.ReferenciaPlantillaDeTarea.ID
txt CP_Tarea_ReferenciaEstado = S.Fields.TareasDeProyectos.ReferenciaEstado.ID
txt CP_Tarea_FechaInicioPlanificada = S.Fields.TareasDeProyectos.FechaInicioPlanificada.ID
txt CP_Tarea_Dependencias = S.Fields.TareasDeProyectos.Dependencias.ID
txt CP_Tarea_DescripcionDelTrabajo = S.Fields.TareasDeProyectos.Instrucciones.ID
@ Se crea la tabla de datos en memoria
num TablaIDTareas = F.DataTable_New(v.CP_Tarea_TextoPrincipal,v.CP_Tarea_DescripcionDelTrabajo,v.CP_Tarea_Dependencias,v.CP_Tarea_FechaInicioPlanificada,v.CP_Tarea_ReferenciaEstado,v.CP_Tarea_IDOrden,v.CP_Tarea_Titulo,v.CP_Tarea_ReferenciaEmpleadoEncargado,v.CP_Tarea_ReferenciaTipo,v.CP_Tarea_Orden,v.CP_Tarea_Prioridad,v.CP_Tarea_ReferenciaProyecto,v.CP_Tarea_ReferenciaPlantillaDeTarea)
F.DataListLoad(S.Sections.PlantillasDeTareas.ID,1,1000000)
F.DataListLoadAddFilter(S.Sections.PlantillasDeTareas.ID,S.Fields.PlantillasDeTareas.ReferenciaProyecto.ID,'=',v.LaPlantilla)
F.DataListLoadSetOrder(S.Sections.PlantillasDeTareas.ID,S.Fields.PlantillasDeTareas.posicion.ID,0)
F.ProcessDataList_Ini(S.Sections.PlantillasDeTareas.ID)
F.DataTable_AddRow(v.TablaIDTareas)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_TextoPrincipal,I.PlantillasDeTareas.TextoPrincipal)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_DescripcionDelTrabajo,I.PlantillasDeTareas.Descripcion)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_Dependencias,I.PlantillasDeTareas.Dependencias)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_ReferenciaEstado,I.PlantillasDeTareas.ReferenciaEstadoInicial)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_FechaInicioPlanificada,F.Date_AddDays(C.PlantillaFecha,I.PlantillasDeTareas.RetrasoDias))
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_ReferenciaEmpleadoEncargado,'')
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_IDOrden,'')
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_Titulo,I.PlantillasDeTareas.TituloDeTarea)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_ReferenciaTipo,I.PlantillasDeTareas.ReferenciaTipo)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_Orden,I.PlantillasDeTareas.Nivel)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_Prioridad,I.PlantillasDeTareas.Prioridad)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_ReferenciaProyecto,C.ID)
F.DataTable_SetValueText(v.TablaIDTareas,v.CP_Tarea_ReferenciaPlantillaDeTarea,I.PlantillasDeTareas.ID)
F.ProcessDataList_End
F.DataTable_Import(v.TablaIDTareas,0)
Campos utilizados: - Botón
Formulario_TickRecalculo¶
C.ImporteTotalCostesYGastosPlanificado = C.ImporteCosteRRHHPlanificado + C.ImporteGastosNoRRHHPlanificado