Capitulo VII Diccionario de Aplicaciones
Capitulo VII Diccionario de Aplicaciones
Capitulo VII Diccionario de Aplicaciones
Diccionario de Aplicaciones
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).
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”.
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.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:
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.
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.
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.