Cómo modularizar el Selector de ubicación
IMPORTANTE: ESTA ES UNA VERSIÓN BETA
Esta página está en desarrollo activo y puede contener funcionalidades inestables o incompletas. Úsela bajo su propia responsabilidad.
Visión general
En esta sección se explica cómo modificar y modularizar el Selector de ubicación.
Artículos recomendados
Antes de leer esta guía, es necesario tener una comprensión adecuada del concepto de Modularidad de Etendo y de cómo crear un módulo, ya que en esta guía se da por supuesto el conocimiento de estos artículos.
En caso de que trabaje con scripts de configuración o plantillas de forma habitual, el siguiente enlace a un artículo podría ser de su interés, ya que describe cómo crear un script de configuración.
Pasos de ejecución
Los pasos necesarios para cambiar y modularizar el Selector de ubicación son los siguientes:
-
Defina su propio Módulo y expórtelo. A continuación se generará la carpeta del módulo, por ejemplo:
-
Cree la carpeta de código fuente para el Módulo que acabamos de crear previamente. Para nuestro ejemplo, debería verse así:
-
Copie los archivos originales del Selector de ubicación en la carpeta recién creada. Al copiar los archivos, mantenga los nombres de archivo originales. Los archivos originales se encuentran en:
-
Modifique los siguientes archivos para que formen parte de su paquete:
- Location_Search_data.xsql: cambie el paquete definido a:
com.etendoerp.locationexample.info -
Cambie el paquete a:
com.etendoerp.locationexample.infoCambie los siguientes mapeos para usar los nuevos mapeos:
` org/openbravo/erpCommon/info/Location_FS -> com/etendoerp/locationexample/info/Location_FS org/openbravo/erpCommon/info/Location_F1 -> com/etendoerp/locationexample/info/Location_F1 org/openbravo/erpCommon/info/Location_F2 -> com/etendoerp/locationexample/info/Location_F2
Después de eso, puede aplicar todos los cambios que desee realizar. En nuestro ejemplo, solo hemos cambiado las etiquetas de los campos.
Note
Existe un disparador
c_bpartner_location_trgque inserta el nombre de la ubicación en el campo de nombre delc_bpartner_locationdespués de cualquier cambio. Ese nombre se crea utilizando la funciónc_location_name.Si añade nuevos campos en el Selector de ubicación y también quiere usar la información para componer el nombre, deberá hacer lo siguiente:
- Crear su propia función basada en
c_location_namepara componer el nombre que desea guardar. - Crear su propio disparador basado en
c_bpartner_location_trgpara usar esa nueva función para guardar el nombre. - Desactivar el disparador
c_bpartner_location_trgy usar el suyo propio en su lugar.
Para desactivarlo, tiene que eliminarlo y luego exportar los cambios en una Plantilla configurada como
In Development. En la parte superior de la plantillaconfigScript.xmlverá que hay una línea que indica que el disparador fue eliminado (RemoveTriggerChange). - Location_Search_data.xsql: cambie el paquete definido a:
-
Cree una nueva referencia de búsqueda para los nuevos archivos de su módulo y con su propio nombre. Defina esa nueva referencia para que use su propia clase Java y sus propios mapeos:
-
Defina un nuevo módulo de plantilla y márquelo como
In Development. Puede usar la plantilla que utilizamos para desactivar el disparador: en la ventana Tablas y columnas, busque la columna que desea usar con el Selector de ubicación que hemos creado y cambie el desplegable Searchkey de referencia para usar esta nueva referencia. En el ejemplo lo hemos hecho en la tablaC_Bpartner_location, en la columnac_location_Id. -
Compile la aplicación con:
-
Reinicie tomcat y use la columna para comprobar que la nueva referencia está funcionando con los nuevos cambios.
Los resultados de nuestros cambios son:
Este trabajo es una obra derivada de How To Modularize The Location Selector de Openbravo Wiki, utilizada bajo CC BY-SA 2.5 ES. Esta obra está licenciada bajo CC BY-SA 2.5 por Etendo.


