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

    Estoy queriendo agregar un par de funcionalidades específicas a un negocio, en el TPV. Las quiero realizar como plugin, para que en el futuro de las actualizaciones, las mismas puedan seguir funcionando.
    De acuerdo a los documentos de plugin, debería ser como el vcreateform, pero no encontré en el TPV, el llamado a la revisión de plugins (el tpv no desciende de vcreateform).
    Se me ha ocurrido extender la clase del TPV a otra, en donde sólo haga override de aquellos métodos necesarios para que funcionen las nuevas características; pero esto debería incluir llamar, desde el menú, a una nueva clase (no la original org.openXpertya.pos.view.PoSMainForm).
    Alguna sugerencia? Están llamando a la clase de revisión de plugins de alguna forma en particular?

    #37367
    Federico Cristina
    Superadministrador

    Buenas,

    Efectivamente no hay mucho soporte a lógica de plugins sobre el TPV, dado que el mismo es una ventana Swing y la misma fue concebida mucho tiempo antes de la implementación de Components (adicionalmente definir los puntos de inserción/redefinición de lógica funcional no es tan trivial como en otros casos de persistencia, acciones de documento, etc.).

    Extender las clases parece ser lo correcto, e incluso si notás que alguno de los métodos private/protected de las clases del TPV requieren mayor visiblidad (protected/public) acémelo saber.

    En cuanto a llamado, simplemente deberías modificar a nivel metadatos el classname del formulario (AD_Form) con nombre POS. Esto podrías hacerlo “orientado a componentes” (o sea bitacorándo las modificaciones del diccionario de datos en AD_Changelog) a fin de que cuando instales tu plugin en un equipo, automáticamente se realice la modificacion en los metadatos.

    Saludos,
    Federico

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