• Este debate está vacío.
Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Autor
    Entradas
  • #31239
    Javier Ader
    Participante

    Buenas. Más que nada una por pura curiosidad: supongo que la mayoría de los desarrolladores están relacionados al proyecto desde hace rato y vienen viendo las modificaciones que ha sufrido a lo largo del tiempo (desde OpenXpertya o antes); bueno la pregunta es que tan seguido se agregan o modifican cosas a nivel de “núcleo”; en particular con respecto a las clases que manejan el diccionario de datos (tablas, columnas, ventanas, pestañas, campos, etc). Mi pregunta viene porque mientras hacia el curso de parametrización surgieron ciertas cosas que se podrían ver como “deficiencias” del modelo (no eran muy críticas y supongo que varios de los escenarios en los que se plantean se pueden solucionar con un poco más de trabajo via código, pero bueno… daba la sensación que ciertas cosas se podrían hacer mejor).
    Una que recuerdo en particular era que las validaciones de los campos se definirán a nivel de tabla, cuando parece mucho más natural definirlas a nivel de ventana/campo (aunque tal vez lo más general sea que se puedan definir en los dos niveles); parecía como que ciertas funciones están solapadas entre las “responsabilidades” de las tablas y de las ventanas/pestañas/campos (por ej, se podia hacer una ventana que solo mostrase pagos de ciertos tipos pero no se podía hacer una que permitiese crear pagos solo con ciertos tipos; es decir, se filtraba solo para mostrar pero no para crear).
    Ok, más allá de este caso en particular: se modifican a menudo estás partes del sistema o es relativamente probable que haya mejoras en estas partes en el futuro? (me da la sensación que estas partes están muy “estables” y que rara vez sufren modificaciones/mejoras)

    #33929
    Federico Cristina
    Superadministrador

    Buenas!

    Entre release y release, el core de la aplicación sufre un número considerable de correcciones y mejoras. Cuales son las modificaciones a realizar sobre el mismo en cada versión varía según las prioridades específicas del proyecto.

    Específicamente sobre el tema validaciones: a nivel “tabla” tenés validaciones por código con los métodos beforeSave(), beforeDelete(), etc., en las que poder aplicar lógica de negocios según sea necesario. Generalmente, para una misma tabla pueden presentarse como mucho dos ventanas según su semántica: una de compras y otra de ventas (isSoTrX).

    Por lo tanto estamos bajo un escenario acotado de posibildades según la ventna. Además, al generar el modelo a partir de los metadatos, el mismo se encuentra en estrecha relación con las tablas y no las ventanas. Por otra parte, tenemos validaciones a nivel campo (de pestaña en una ventana) con los callouts correspondientes.

    Aunque posiblemente se podría realizar esfuerzos en la dirección que comentás, la experiencia nos demostró que el circuito de reglas y validaciones implementado permite abarcar el total de casos donde nos encontremos con estos requerimientos.

    Saludos,
    Federico

Viendo 2 entradas - de la 1 a la 2 (de un total de 2)
  • Debes estar registrado para responder a este debate.