Capitulo VII Diccionario de Aplicaciones

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 33

CAPÍTULO VII

Diccionario de Aplicaciones

Facilitador: Ing. Jorge Colmenarez


El diccionario de aplicación es uno de los aspectos más poderosos de iDempiere.
Virtualmente toda la aplicación puede ser manejada mediante cambios en el diccionario.
De manera que el desarrollo mediante la "escritura de código" es drásticamente reducido
porque la mayoría de las configuraciones se pueden hacer directamente desde la
herramienta sin que se requiera compilar o reconstruir el sistema.

Como se puede ver en la imagen, el diccionario de aplicación permite crear tablas,


columnas, ventanas, pestañas, campos, procesos, reportes, flujos de trabajo, formas, y
mucho más.
1. Tipo de Entidad:
El tipo de entidad determina quién es el dueño de las modificaciones que se pueden
realizar en el diccionario de aplicación.

El tipo de entidad USER MAINTAINED o cualquier otro tipo de entidad definida para
el uso interno cuidará las tablas que sean creadas para que no sean sobrescritas
en futuras migraciones. Las tablas creadas con el tipo de entidad DICTIONARY son
sujeto de migraciones.
2. Elementos del Sistema:
Es el repositorio central para el nombre de los campos, descripciones y
comentarios/ayudas, así como también sus traducciones.

Son mantenidos centralmente (al "Sincronizar la Terminología" del sistema todos los
campos toman la traducción que tenga su elemento). Si necesita una excepción se
debe deshabilitar la opción "Centrally Maintained" (mantenido centralmente) en el
campo (Ventana, Pestaña & Campos).

3. Creando una Nueva ventana:


1. Tabla y Columna:
Esto está directamente relacionado a la base de datos. Esto es como una metadata
de las tablas de la base de datos traducida a la notación de iDempiere.

Tabla:
● El nombre de la tabla es sensible a mayúsculas y minúsculas. Al registrar una
tabla en el diccionario debe tenerse en cuenta la siguiente estructura para el
registro: PREFIJO_NombreDeTabla
● El ID de la tabla debe tener el nombre exacto de la tabla + el sufijo ID, osea:
PREFIJO_NombreDeTabla_ID
● View (Vista): Esta opción permite definir el registro de la tabla como una vista,
no se necesita sincronizar con la base de datos. Se puede usar la opción "vista"
para hacer la tabla de solo-lectura.
● Data Access Level (Nivel de Acceso de Datos): Usado para definir el acceso
por defecto para los roles. Generalmente se coloca como Client + Organization
("Grupo empresarial + Organización").
● Maintain Change Log (Mantiene Bitácora de Cambios): Cuando se
selecciona esta opción todos los cambios hechos a esta tabla son guardados en
la tabla AD_ChangeLog (Bitácora de cambios).
● Window (Ventana): Define la ventana a la que se accede cuando se hace un
acercamiento en el campo identificador de esta tabla. Activa la funcionalidad
"zoom" (acercar). Se puede definir una ventana diferente para los procesos de
compras (PO Window (Ventana OC))
● Records deleteable (Registros Eliminables) - para habilitar o deshabilitar el
borrado de registros en la base de datos.
● High Volume (Volumen Alto) - Indica si se mostrará la ventana de búsqueda
para seleccionar registros de esta tabla al momento de ser cargada la ventana.
● Entity Type (Tipo de Entidad): Se indica la entidad a la cual pertenece el
registro (la tabla). En el caso de los desarrollos personalizados el tipo de entidad
es USER MAINTAINED o el tipo de entidad que se haya definido para las
personalizaciones.
● Create Columns from DB (Crear Columnas desde Base de Datos): Si se crea
una tabla en la base de datos o realizar cualquier cambio en alguna tabla (ALTER
TABLE ADD/MODIFY) se pueden traer los cambios al diccionario mediante esta
opción.
● Copy Columns From Table (Copiar columnas desde la tabla): Este es el
proceso más rápido para crear una tabla. Permite seleccionar una tabla similar
a la que se debe crear y este proceso traerá las columnas exactas como la tiene
la otra tabla renombrando el ID para que se corresponda con el nombre de la
nueva tabla. Luego se puede editar las columnas (agregar / borrar / cambiar) y
al finalizar solo se debe presionar el botón "Synchronize Column" (Sincronizar
Columnas) para crear la tabla o añadir las columnas en la base de datos.
● Centrally Maintained (Mantenido Centralmente): Indica que tomará las
traducciones que tenga definido en el “Elemento”.

Columna:
● System Element (Elemento del Sistema): Seleccionando el ELEMENTO se
heredará por defecto el nombre de la columna en la base de datos, nombre,
descripción y traducción del elemento.
● DB Column Name (Nombre de la Columna en BD): El nombre exacto de la
columna en la base de datos.
● Column SQL (Columna SQL): Usado para crear columnas virtuales. Estas
muestran información general, o información de otras tablas sin la necesidad de
ser agregadas como columnas reales en la base de datos. Se construyen con una
sentencia SQL de la tabla principal.
● Reference (Referencia): Tipo de dato de la columna. Cada referencia
corresponde a un comportamiento diferente en la interfaz. Note cuidadosamente la
diferencia en Table (Tabla) y Table Direct (Tabla Directa). Table Direct necesita
tener una correspondencia exacta con la tabla a la que se está refiriendo. También
debe notar la diferencia entre Table y Search (Búsqueda). Para los campos con
tipo de referencia Button se puede definir un proceso asociado. Para las
referencias tipo monto, fecha, entero, número, cantidad, se pueden definir rangos
de mínimos y máximos.
● Validation (Validación Dinámica): Permite configurar cambios dinámicos en el
campo.
● Reference Key (Llave de Referencia): Listas estáticas o de tablas definidas para
la columna específica.
● Value Format (Formato del Valor): Para columnas con el tipo de referencia
String se puede definir un formato específico. El formateo de iDempiere puede
forzar el uso de espacio, cualquier letra, mayúscula, minúscula, letras y dígitos,
sólo dígitos, etc. Por ejemplo: Definir el formato para números de teléfono.
● Default Logic (Lógica Predeterminada): permite establecer un Valor
Predeterminado a la Columna , puede ser un Valor Directo, Variables de Contexto
o Sentencias SQL. Se pueden definir muchas lógicas separadas por “;”
● Key Column (Columna Clave): Sólo se puede definir una columna clave por tabla
(Llave primaria) Normalmente es el ID, no mostrado a los usuarios.
● Parent Link Column (Columna de Enlace a Tabla Padre): Define la relación hijo
con una o más tablas (llave foránea). Pueden haber tablas sin ID principal pero
con uno o más enlaces a tablas padre (como Tablas de Acceso).
● Mandatory (Obligatorio): Indica si el campo será obligatorio.
● Updateable (Actualizable): Indica si el campo será actualizable siempre y cuando
no exista el campo de documento Processed y este no este marcado.
● Always updateable (Siempre Actualizable): Hace que el campo sea siempre
actualizable aún después de haber sido procesado.
● Encryption (No Encriptado): Solo para campos de referencia tipo String. No tiene
proceso de reversión. Se pueden perder datos, se necesita asegurar el ancho de
la columna para que pueda guardar todos los valores actuales.
● Read only logic (Lógica de Solo Lectura): Condición para que el campo sea de
solo lectura. Por defecto los campos IsActive y Processed marcan el registro como
de solo lectura sin necesidad de definir la lógica aquí.
● Mandatory logic (Lógica Obligatorio): Condición necesaria para que este campo
sea obligatorio.
● Identifier (Identificador): Una o más columnas (normalmente value y/o name)
que serán mostradas en listas y para referencias de reportes. Los identificadores
son mostrados en el orden definido con la secuencia de los campos.
● Callout: Fuente de código (customization) para llenar otros campos o para
validaciones simples. No se recomienda usarlo para validaciones complejas.
● Selection column (Columna de Selección): Define las columnas que serán
mostradas en la ventana de búsqueda en el orden definido con la secuencia de los
campos.
● Translated (Traducida): Para definir traducción para una columna. En este caso
se necesitará crear una tabla y una pestaña con el mismo nombre que la original
pero añadiendo el sufijo _Trl y crear la tabla con el el mismo nombre de la tabla
padre, columna para el lenguaje y columna para la traducción.
2. Ventana, Pestaña y Campo:
Ventanas:
Las ventanas se pueden crear de distinto tipo: Las de tipo
mantenimiento indican que permitirán incluir y editar registros. Las de
tipo transacción, aparte de la edición y creación de registros, se usan
con aquellas tablas que usan el campo "processed", son usadas
generalmente para manejo de documentos y validaciones con flujos
de trabajo. Las de solo consulta permiten acceder a los datos pero sin
poder modificarlos y tampoco sin poder realizar ningún registro.
Además de establecer el tipo de ventana se pueden realizar
configuraciones propias por pestaña. Es decir, podemos crear una
ventana del tipo mantenimiento y sin embargo establecer la pestaña
como solo lectura, o quitarle la opción de incluir registros, de manera
que me permita modificar los registros existentes pero sin crear
nuevas líneas en la base de datos.

Campos de Ventanas
● El nombre de la Ventana: es utilizado como un identificador para acceso rápido.
● Funcionalidad beta: al marcar el check se considera como Beta y no es
visualizada por el usuario final.
● Ventana Tipo: permite seleccionar entre ”Solo Consulta”; como su nombre lo
indica solo es utilizada para la consulta de datos, “Transacción”; sólo aparecen
los registros creados / modificados por última vez dentros de las 24 horas o
pendiente (el usuario puede seleccionar para mostrar mas con el botón de
historial) y “Mantenimiento” las ventanas de este tipo son de características
general.
Pestañas:
Campos de Pestañas
● Tabla: indica que la pestaña se basa en la tabla seleccionada
para crear los campos.
● Crear Campos: se utiliza para crear los campos de las
columnas de la tabla en la pestaña.
Ejemplo:
Crear una nueva entrada en la ventana de “Ventana, Pestaña y Campo” con el
nombre de “Test”.
Se debe agregar su respectiva traducción desde la pestaña de “Traducción de
Ventana”.

Seguidamente en donde dice “Pestaña” crear una nueva entrada con el nombre de
“Test” seleccionar a la tabla anterior creada “Test_ID”.
Al presionar el campo aparecerá un cuadro de diálogo se debe se debe dar click
en continuar.
De igual manera se le debe crear una traducción, desde la pestaña “Traducción de
Pestaña”.

En la Pestaña secuencia Campo se puede elegir el orden de los campos.


Seguidamente se debe seleccionar la pestaña “Campo” donde se puede
seleccionar múltiples atributos relacionados con la vista del sistema.
3. Diseñar y Organizar Ventana:
Para el diseño de una ventana se debe acercar a la pestaña que le corresponde,
una vez dentro en el icono de engranaje se elige la opción de “Editor de pestañas”
y muestra lo siguiente.
Lo que se visualizar en la imagen anterior es el “Editor de pestañas” el cual
permite diseñar cómo organizar de forma dinámica e intuitiva lo campos como
objetos de la pestaña.

Agregar ventana al menú:


Una vez ya creada la ventana con sus pestañas como campos, se debe de
agregar al menú para que pueda ser visualizado por el usuario final. Para este
proceso se debe dirigir al menú de iDempiere y crear un nuevo registro.
Desde punto se debe de dar el nombre a la ventana que se usará para el menú,
elegir el Tipo de Entidad, ver si será de solo lectura o no, y en la parte de “Acción”
se selecciona Ventana, donde mostrará un nuevo campo donde muestra un listado
de las ventanas creadas, se debe buscar la ventana que se creó.
Una vez guardado se mostrará en el menú del usuario ya disponible para su uso.
4- Creando un informe iDempiere:
La ventana “Reporte y Procesos” es usada para definir los parámetros y reglas de
acceso para cada reporte y proceso corriendo en el sistema. Los registros que se
hacen en esta ventana se guardan en la tabla AD_Process y las instancias de los
procesos se va registrando en la tabla AD_PInstance, desde aquí se puede conocer
la fecha y usuario que ejecutaron el proceso además de otros datos relacionados
con el mismo.

Esta ventana está compuesta por 4 pestañas (La principal y las dependientes):
● Informe y Proceso: Donde se registra el código y nombre que identifica al
reporte o al proceso en el sistema y la clase, procedimiento o flujo de trabajo
que contiene las funciones manejadoras del reporte o proceso.
○ Traducción de Informe y Proceso: Donde se coloca la traducción al
otro idioma del nombre del proceso (el nombre que mostrará en el
menú).
○ Acceso a Informe y Proceso: Donde se indica el rol que tendrá
acceso al reporte o proceso. Por defecto está registrado System
Administrator.
○ Parámetro: Donde se definen los parámetros para el manejo de los
datos en el reporte o proceso.
■ Traducción de Parámetro.

4.1- Tabla y Columna:


Es necesario definir una tabla y columnas de donde el informe obtendrá los
datos a mostrar, dicha tabla o vista de base de datos (preferiblemente) debe
estar creada en nuestra base de datos.
Con el proceso "Crear Columnas desde la BD" podemos agilizar la
transcripción de los elementos/columnas que posee la tabla o vista de base
de datos. En la pestaña Columna podemos personalizar las columnas
cambiando el tipo de referencia por defecto, entre otras validaciones.

4.2- Vista de Informe:


Define las vistas usadas cuando se generan Informes. Esta ventana es
solamente para uso del administrador del sistema. En esta ventana
seleccionaremos la tabla que acabamos de definir y podemos aplicar una
validación de datos y un orden de datos por defecto.

4.3- Informe/Proceso:
Podemos crear el informe a través de la ventana “Informe y Procesos” sin
embargo, para indicarle al sistema que dicho elemento será un informe es
necesario marcar la opción “Informe” como se muestra en la imagen, al estar
marcado oculta y muestra ciertos campos como Vista de Informe y Formato
de Impresión.
Para registrar un reporte en iDempiere se deben colocar principalmente los
siguientes datos:

● Código: Para que el sistema no coloque la secuencia de código por


defecto para el reporte, de modo que puedas encontrarlo fácilmente.
● Nombre
● Tipo de Entidad: La entidad con que estás identificando los datos
agregados al sistema por tu customización.
● Nivel de Acceso de Datos: Asegúrate de que esté seleccionado
Grupo Empresarial + Organización.
● Si estás trabajando con JasperReport, entonces escribes el nombre
del archivo “.jrxml” en el campo Reporte Jasper. Para evitar problemas
al levantar el reporte adjuntas el archivo “.jrxml” desde la opción
adjuntar que tiene la ventana, quedando de esta forma el dato en el
campo Reporte Jasper: “ attachment:miReporte.jrxml “
○ En caso de que el reporte que estés adjuntando contenga un
sub-reporte entonces debes adjuntar el subreporte.
● Si los datos del reporte están siendo filtrados por unas variables
específicas debes registrar esas variables en la pestaña parámetros.
Seleccionando el nombre del campo en la base de datos y en el campo
“Elemento” del Sistema se debe colocar el nombre igual al usado en
la variable del reporte (en JasperReport).
● Una vez registrado el reporte se crea el menú desde el que se accede
el mismo desde el sistema.

Agregando Parámetros al Informe:


Podemos agregar parámetros a dicho informe con la finalidad de filtrar los
datos a mostrar en la salida del informe, así como aplicar validaciones
dinámicas, cambiar la referencia por defecto y aplicar lógicas de visualización
o solo lectura.
4.4- Agregar informe al menú:
Para agregar el informe que hemos creado debemos crear un nuevo registro
en ventana “Menú”, indicamos que la acción del elemento será tipo “Reporte”
y en la referencia del Informe/Proceso seleccionar el informe que hemos
creado.
5- Creando un reporte Jasper:
Jasper Report es una poderosa herramienta de informes que crea
documentos imprimibles (en PDF y otros formatos conocidos) utilizando un
esquema predefinido y extrayendo datos de la base de datos. Puede usarlo
para imprimir facturas o crear informes de su empresa en iDempiere.

5.1- Diseñando reporte Jasper:


1. Crea tu informe de Jasper con tu herramienta favorita.
2. Su archivo de informe principal debe llamarse "report.jrxml".
3. Si tiene subinformes, debe hacer referencia a ellos sin ruta o
con ruta: $P{SUBREPORT_DIR}+"report.jasper". Cuando se
hace referencia a un archivo de jaspe
4. Todos los archivos de informe (subinforme) obtienen la
extensión "XYZ.jrxml". Todos los archivos cuyo nombre termina
con .jrxml se compilarán antes de ejecutar el informe. El archivo
compilado se llamará "XYZ.jasper"
5. Las referencias de subinformes deben tener la forma
"XYZ.jasper"
6. Las imágenes también deben estar referenciadas con una ruta
relativa.
7. El registro del que trata el informe (por ejemplo, id de factura)
se obtiene en un parámetro llamado "$P{RECORD_ID}", esta
es la forma en que se debe hacer referencia a él en el archivo
Jasper.
8. Todos los archivos del informe deben recopilarse en un solo
directorio. Se permiten subdirectorios.
9. Todos los archivos del informe deben comprimirse en un solo
archivo. El nombre del archivo zip puede ser cualquiera.
10. No comprima archivos .jasper. Solo empaque los .jrxml' s.

5.2- Informe/Proceso:
1. Como rol administrador del sistema crear un proceso en
iDempiere: (Directorio de aplicaciones / Informe y proceso)
2. Nombra tu proceso como quieras
3. JasperReport: establezca la URL del archivo informe.
4. Tipos de URL admitidos actualmente:
5. attachment:// significa que el archivo es un archivo adjunto
iDempiere del proceso.
6. file:// significa que es un archivo en la máquina que ejecuta el
informe.
7. Si utiliza datos adjuntos, debe adjuntar el archivo al proceso.
Utilice el botón adjuntos del formulario para cargar datos
adjuntos al proceso.
8. Rellene el campo llamado JasperReport para que su informe
aparezca en el formulario de formato de impresión como una
opción.
9. El archivo adjunto se almacenará en su base de datos del
servidor iDempiere para que cada cliente utilice el mismo
archivo. El cliente verificará el archivo en busca de cambios
antes de cada uso del proceso, por lo que siempre usará el
último.

5.3- Agregar informe al menú:


Para agregar el informe que hemos creado debemos crear un nuevo
registro en ventana “Menú”, indicamos que la acción del elemento será
tipo “Reporte” y en la referencia del Informe/Proceso seleccionar el
informe que hemos creado.

6- Creando un proceso:
Para crear un proceso dentro del sistema basta con cumplir con los
siguientes parámetros. Podemos crear el proceso a través de esta ventana
sin embargo, para indicarle al sistema que dicho elemento será un proceso
es necesario que no esté marcada la opción Informe como se muestra en la
imagen, al estar desmarcado como informe oculta y muestra ciertos campos
como Proceso del Servidor, Flujo de Trabajo, Forma Especial, Smart
Browser.
6.1- Informe/Proceso:
Podemos agregar parámetros a dicho proceso con la finalidad que
permite filtrar los datos a procesar en la ejecución del proceso así
como aplicar validaciones dinámicas, cambiar la referencia por
defecto y aplicar lógicas de visualización y solo lectura.
6.2- Agregar informe al menú:
Para agregar el proceso que hemos creado debemos crear un nuevo
registro en la ventana Menú, indicando que la acción del elemento
será tipo Proceso y en la referencia del Informe/Proceso seleccionar
el proceso que hemos creado.

7- Creando Ventana de Información:

7.1- Ventana de Información:


La ventana de información es usada para buscar y seleccionar registros
como también despliegue de información relevante a la selección.

Columna en ventana de información para despliegue y / o selección. Si es


usada para selección, la columna no puede ser una expresión SQL. La
Cláusula SQL debe ser completamente basada en la cláusula FROM en la
definición de ventana de información.
7.2- Agregar ventana de información al menú:
Una vez ya creada la ventana con sus pestañas como campos, se debe de
agregar al menú para que pueda ser visualizado por el usuario final. Para
este proceso se debe dirigir al menú de iDempiere y crear un nuevo
registro.
Desde punto se debe de dar el nombre a la ventana que se usará para el
menú, elegir el Tipo de Entidad, ver si será de solo lectura o no, y en la parte
de “Acción” se selecciona Ventana, donde mostrará un nuevo campo donde
muestra un listado de las ventanas creadas, se debe buscar la ventana que
se creó.

8- Creando Formas:
8.1- Formas:
Formas especiales, La ventana de formas define cualquier ventana que no
es generada automáticamente. Esta ventana es para uso del administrador
del sistema.
Creando una Forma: En esta ventana definimos los parámetros
básicos que contendrá nuestra forma a nivel de diccionario y debemos
indicar el nombre de la clase java que ejecutará todo el contenido que
programamos.

8.2- Agregar forma al menú:


Para agregar la forma que hemos creado debemos crear un nuevo registro
en la ventana Menú, indicando que la acción del elemento será tipo Forma y
en la referencia de la Forma seleccionar el proceso que hemos creado.

También podría gustarte