pyArq Presupuestos v0.0

Enviado por Miguel Ángel el Lun, 15/11/2010 - 11:54
El objetivo a conseguir en la versión 0.0, la primera versión de pyArq Presupuestos, es la importación y visualización de presupuestos y bases de precios en formato FIEBDC.

Objetivos cumplidos

  • Lectura e importación de los registros:
    • ~V. Registro tipo Propiedad y VERSION.
    • ~K. Registro tipo Coeficientes.
    • ~C. Registro tipo Concepto.
    • ~D. Registro tipo Descomposición.
    • ~Y. Registro tipo Añadir Descomposición.
    • ~T. Registro tipo Texto.
    • ~L, ~Q, ~J. Registro tipo Pliegos.
    • ~W. Registro tipo Ámbito Geográfico.
    • ~G. Registro tipo INFORMACION Gráfica.
    • ~E. Registro tipo Entidad.
    • ~X. Registro tipo INFORMACION Técnica.
    • ~M. Registro tipo Mediciones.
    • ~N. Registro tipo Añadir Mediciones.
    • ~A. Registro tipo Claves.
    • ~B. Registro tipo Cambio de CODIGO.
    • ~F. Registro tipo Documento Adjunto.
  • Interfaz basada en una pestaña para cada presupuesto y vistas/paneles moldeables enlazados con señales.
    • Vista Descomposición
    • Vista Descripción
    • Vista Medición
    • Vista Pliego de condiciones
    • Vista Archivos
    • Vista Entidades
  • Lectura de ficheros sin congelación de la interfaz mediante el uso de hilos. (Sudor y lágrimas costo esto xD)
  • Implementado el tipo de concepto con precio variable en función de su posición en el presupuesto, destinado a los conceptos «%» medios auxiliares cuyo precio depende de la descomposición en la que se encuentre el concepto.
  • Actualizada la interfaz a GTK3 usando pyGobject en lugar de pyGTK.
  • Abrir ficheros .bc3 pasados por la linea de comandos como argumentos.

Por Hacer

  • En General:
    • Lectura e importación de los registros:
      • ~P. Registro tipo Descripción Paramétrica.
      • ~L, ~Q, ~J. Registro tipo Pliegos. Archivos RTF y HTML.
      • ~O. Registro tipo Relación Comercial.
    • Implementar los costes indirectos de las unidades de obra: una idea para hacer esto es hacer algo similar a los precios variables del los conceptos % medios auxiliares, la opción puede ser que las unidades de obra tengan dos precios, auxiliar y unitario, ya que añadir costes indirecto o no a una unidad de obra depende de su posición en el presupuesto, ya que una misma unidad de obra puede ser auxiliar (sin costes directos) en un presupuesto formado parte de una unidad de obra compleja o puede ser una unidad de obra independiente (con costes indirectos) o formar parte de la descomposición de un presupuesto unitario (con costes indirectos)
  • En cuanto al diseño del código
    • Actualizar a Python 3, haciendo al mismo tiempo que siga siendo compatible con Python 2.
    • Código homogéneo, Nombres de clases y métodos homogéneos.
    • Crear una documentación del código homogénea y útil.
    • Eliminar referencias circulares. Eliminar las referencias al presupuesto dentro de las clases que contiene, pasando los métodos que necesiten de verdad esa referencia a ser métodos del presupuesto directamente.
    • Intentar bajar el uso de memoria ram
  • En la interfaz:
    • En los paneles añadir, a parte del registro activo, el registro seleccionado y sus correspondientes mensajes entre paneles, para así poder enlazarlos y actualizar alguno tipo de panel, por ejemplo la descripción. El icono de estado de enlace tendrá entonces tres estado, desconectado, conectado a registro activo y conectado a registro seleccionado.
    • Hacer más intuitiva la navegación por el presupuesto. El funcionamiento a imitar es el de los administradores de archivos, programas especializados en navegar en estructuras de datos en forma de árbol.
      • Botones de navegación
      • Barra de ruta
      • Vista tipo árbol
    • Crear vista tipo árbol
    • Añadir panel lateral a la interfaz. Posibles usos:
      • Abrir presupuestos bc3
      • Navegación por el presupuesto activo en forma de árbol
      • Mostrar los conceptos de las bases de precios, para así poder ser copiados rápidamente al presupuesto actual sin tener que mostrar dos ventanas, o sin tener que copiar y pegar.
    • Permitir mostrar simultáneamente dos notebook en la interfaz en forma tanto vertical como horizontal, facilitando así la comparación entre presupuestos, la consulta simultanea, y posteriormente la copia de conceptos. Esto aún no está claro que sea útil y/o intuitivo
    • Permitir abrir presupuestos en una ventana nueva. Una vez hecho esto, permitir mover presupuestos de una ventana a la otra haciendo «drag and drop» con las pestañas. Permitir también ordenar pestañas dentro de la misma ventana.
    • Añadir barra de estado, una para cada pestaña, en principio mostrando el registro activo, el registro seleccionado, estado del programa. Añadir tiempo estimado de carga al leer fiebdc
    • Añadir botón cerrar en la etiqueta de la pestaña actual

Fallos detectados

Arreglados: ok
Por arreglar:bug

  • okLos coeficientes de redondeo de decimales definidos en el formato bc3 pueden ser negativos..
  • ok La nueva vista no se muestra al partir la vista izquierda/derecha. Reportado por Andrés.
  • ok Fallo al partir una vista, cerrar una de las nuevas vistas y volver a partir nuevamente. Reportado por Andrés.
  • okNo se aceptan números negativos en las mediciones. Reportado por Daniel Pose.
  • okAsignar 1 como Número de Unidades por defecto en las mediciones que no está definido. Reportado por Daniel Pose.
  • okDefinir interfaz por omisión en la importación de archivos bc3. Descubierto gracias a las propuestas de cambios de Daniel Pose.
  • okEliminar el uso de objetos mutables como parámetros por omisión. Descubierto gracias a las propuestas de cambios de Daniel Pose.

Y para próximas versiones...