Manual Itris desarrollador Parte I

72
Inteligencia Aplicada Documentación de INTEGRA Manual del desarrollador Parte I (Clases, eventos y acciones) martes, 14 de junio de 2022 Versión 2.5.79 Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Transcript of Manual Itris desarrollador Parte I

Page 1: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Documentación de INTEGRAManual del desarrollador

Parte I (Clases, eventos y acciones)

miércoles, 12 de abril de 2023Versión 2.5.79

ITRIS

Beruti 4583 Piso 5ºCiudad de Buenos Aires, Argentina

Tel/Fax +54 +11 4779-9200www.itris.com.ar

e-mail: [email protected]

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 2: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Notas Aclaratorias.....................................................................................................................4

Documentación de INTEGRA...................................................................................................5

Arquitectura de INTEGRA.........................................................................................................6Clases y Objetos....................................................................................................................7Las clases de INTEGRA........................................................................................................8Clases y Atributos (ITRIS_CLASSES)...................................................................................9Atributos (ITRIS_ATTRIBUTES)..........................................................................................13Menú del sistema (ITRIS_MENU).......................................................................................22Mapa de clases (ITRIS_CLASSMAP).................................................................................24Librerias (ITRIS_LIBS).........................................................................................................25Índices (ITRIS_INDEXS).....................................................................................................26Reportes (ITRIS_REPORTS)..............................................................................................27Flujos de trabajo (ITRIS_WKRELATIONS)..........................................................................28Filtros de flujos (ITRIS_WKFILTERS)..................................................................................28Mapeos de flujos (ITRIS_WKRELMAPS)............................................................................29Reconstrucción de Clases (ITRIS_REBDB)........................................................................30Ingeniería reversa de clase (ITRIS_REBCLASS)................................................................31Usuarios del sistema (ITRIS_USERS).................................................................................32Grupos del sistema (ITRIS_GROUPS)................................................................................33Acciones por grupo (ITRIS_GROACT)................................................................................33Atributos por grupo (ITRIS_GROATT).................................................................................33Clases por grupo (ITRIS_GROCLA)....................................................................................33Usuarios por grupo (ITRIS_GROUSE)................................................................................34Auditoría del sistema (ITRIS_LOG).....................................................................................35Clases a auditar (ITRIS_LOGCLASSES)............................................................................36Ids Autogenerados (ITRIS_IDSVALUES)............................................................................37Vistas de grilla (ITRIS_GRD_VIEWS).................................................................................38Vistas de Cubo (ITRIS_CUB_VIEWS).................................................................................39Registro de clases locales (ITRIS_LOGCAHCED).............................................................40Parámetros de INTEGRA (ITRIS_PARAMS).......................................................................41Como crear una clase..........................................................................................................42Eventos................................................................................................................................46

Debuguear un evento..........................................................................................................48Instalar un servidor y un cliente.......................................................................................48Configurar un cliente........................................................................................................49Activar el evento para debuguear....................................................................................49Ejecutar la clase...............................................................................................................49Clase................................................................................................................................52Nombre............................................................................................................................52Tipo..................................................................................................................................52Tipo código.......................................................................................................................52Código..............................................................................................................................53

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 3: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Activo ?............................................................................................................................53Debuguear ?....................................................................................................................53

Acciones del menú..................................................................................................................55

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 4: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Notas AclaratoriasWord, Excel, Access, Outlook, MS Office, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, SQL Server y Microsoft son marcas registradas de Microsoft Corporation.

Oracle es una marca registrada de Oracle Corporation.

ITRIS e INTEGRA son marcas en tramite de Compañía General de Software.

Otros productos y compañías mencionadas en este manual son marcas registradas de sus respectivos dueños.

La información contenida en este manual esta sujeta a cambios sin previo aviso. Los datos utilizados en los ejemplos son ficticios. Está prohibida la reproducción total o parcial del contenido de este manual por cualquier medio.

2002 Compañía General de Software S.R.L. Todos los derechos reservados.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 5: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Documentación de INTEGRA

¿Cómo leer esta documentación?

La documentación se encuentra dividida en las siguientes secciones. Descripción de circuitos: Esta refleja circuitos o tareas. Estas tareas pueden

involucrar varios procesos. El objetivo es describir los procesos y los pasos de cada proceso para llevar a cabo un objetivo determinado. Ejemplo: como agregar una nueva empresa, o como poner en marcha el sistema.

Descripción de procesos: En esta sección se refleja cada proceso detalle. Ejemplo: administración de usuarios, o administración de grupos.

Generalidades: En esta sección se describen los procesos generales, que afectan el uso diario del sistema. Ejemplo: selección de la empresa de trabajo, o acceso a la empresa seleccionada.

Por eso, si se desea un detalle particular acerca de un proceso en particular, la documentación orientada a procesos será la mejor referencia. Por otra parte, si se desea documentación referida a circuitos generales o tareas globales, la documentación orientada a circuitos será la más apropiada.Con letra cursiva encontrara notas aclaratorias acerca del ítem de referencia.Con letra negrita encontrara temas destacados acerca del ítem de referencia.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 6: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Arquitectura de INTEGRA

INTEGRA es una solución informática desarrollada con una arquitectura de 3 capas, como se muestra en la figura 1.

Las comunicaciones entre el cliente delgado y el servidor de aplicación se optimizan y comprimen generando paquetes de información extremadamente pequeños.

Estos paquetes al enviarse por el protocolo TCP/IP permiten una comunicación muy ágil, ya sea por LAN o por INTERNET, entre el servidor de aplicación y el cliente delgado (aún en caso de no poseer un muy buen ancho de banda).

Las comunicaciones entre el motor de base de datos y el servidor de aplicación se realizan utilizando ADO y también son optimizadas utilizando paginación parcial de los datos solicitados por el usuario con consultas rápidas y cortas.

El servidor de aplicación por si solo cuenta con una funcionalidad muy acotada que es permitir y ejecutar el diseño de las clases de INTEGRA. La funcionalidad total de la herramienta se logra a través de una modelización o ERP que se integra al servidor. Este manual esta orientado al desarrollo sobre esta pseudo-capa a los efectos de poder implementar funcionalidades no previstas en la modelización.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 7: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Clases y Objetos

Una clase, o tipo de clase, define una estructura que consiste en atributos, métodos, y propiedades. Las instancias de una clase se llaman objetos. Los atributos, los métodos, y las propiedades de una clase se llaman componentes o miembros.

Un atributo es esencialmente una variable que es parte de un objeto. Como los campos de un registro, los atributos de una clase representan los ítems de datos que existen en cada instancia de la clase. Un método es un procedimiento o función asociada a una clase. La mayoría de los métodos operan sobre objetos -- es decir, instancias de una clase. Algunos métodos (llamados métodos de clase) operan a nivel de clase.Una propiedad es una interfaz a los datos asociados a un objeto (almacenada a menudo en un campo). Las propiedades tienen especificadores de acceso, que determinan cómo se leen y se modifican sus datos. De otras partes de un programa -- fuera del objeto en sí mismo -- una propiedad aparece como un campo.

Los objetos son bloques de memoria asignados dinámicamente cuya estructura es determinada por su tipo de clase. Cada objeto tiene una copia única de cada campo definido en la clase, pero todas las instancias de una clase comparten los mismos métodos. Los objetos son creados y destruidos por métodos especiales llamados constructores y los destructores.

Una variable de un tipo de clase es un puntero que referencia a un objeto. Por lo tanto puede referenciar al mismo objeto. Como otros punteros, las variables de un tipo de clase pueden contener el valor nil.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 8: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Las clases de INTEGRA

INTEGRA posee una serie de clases propias que comienzan con el prefijo ITRIS que son las responsables de darle funcionalidad a la herramienta.Las mismas se encuentran especializadas en la administración de las distintas opciones del sistema.

ITRIS_ACT_LAYERS Capas instaladas Clases instaladas en la base.

ITRIS_ACTIONS Acciones Acciones declaradas en el sistemaITRIS_CHANGEPASSWORD Cambio de contraseña Cambio de la contraseña del usuario activo

ITRIS_CLASSES Clases y atributosClases existentes la base activa, disponibles para consulta o modificación de información

ITRIS_CLASSMAP Mapa de clases Muestra las clases, y las clases con las que se relaciona

ITRIS_CLATASKS Clasificadores de tareas Permite clasificar a las tareas por tipo

ITRIS_EVE_LIB Librerías por evento  

ITRIS_EVENTS Eventos Eventos declarados en el sistema

ITRIS_FORCEPASSWORD Forzado de contraseña Fuerza la contraseña de un usuario determinado

ITRIS_GRD_VIEWS Vistas de grillaPermite administrar las vistas de grilla definidas en el sistema

ITRIS_IDSVALUES IDs autogeneradosPermite administrar los IDs autogenerados definidos en el sistema

ITRIS_INDEXS Índices Índices para cada clase

ITRIS_LAY_ATTRS Atributos por clase generadaClase interna. Se utiliza para las conversiones entre diferentes versiones de capas.

ITRIS_LIBS Librerías Librerías existentes en el sistema

ITRIS_LNK_FILES Archivos adjuntosPermite administrar los archivos adjuntos existentes en el sistema

ITRIS_LOG Auditoría de cambiosSe genera al modificar cualquier tabla que tenga control de cambios

ITRIS_LOGCACHED Registro de clases locales Permite administrar las actualizaciones de tablas locales

ITRIS_LOGCLASSES Clases a auditar Activa o desactiva la auditoria de las clases del sistema

ITRIS_MAILS Mensajes de correo Mensajes de correo electrónico

ITRIS_MENU Menú principal  

ITRIS_PARAMS Parámetros de Integra Parámetros generales de IntegraITRIS_QRY_CLASSES_USER Clases por usuario Clases limitadas para cada usuario

ITRIS_QRY_MENU_USER Menú por usuario Menú limitado para cada usuario

ITRIS_REBCLASS Ingeniería reversa de clase Ingeniería reversa de una clase o todas las clases

ITRIS_REBDB Reconstrucción de clase Reconstrucción de una o todas las clases

ITRIS_REPORTS Reportes Permite administrar los reportes definidos en el sistema

ITRIS_TASKS Tareas Agenda de tareas

ITRIS_UNDOLOG Deshacer borrado de registroContiene los registros borrado a los que se les hizo deshacer

ITRIS_USERS Usuarios del sistema  

ITRIS_WKDOCS Documentación de procedimientos  

ITRIS_WKFILTERS Filtros de flujos Indica los filtros a usar al copiar los registros de los flujos

ITRIS_WKRELATIONS Flujos de trabajo Flujos de trabajo entre clases

ITRIS_WKRELMAPS Mapeos de flujosAsignaciones de campos para mapeos de flujos de trabajo

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 9: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Clases y Atributos (ITRIS_CLASSES)

Provee datos desde y hacia la base de datos. Encapsula un conjunto de propiedades, eventos y métodos paratrabajar con información. Estas clases representan los proveedores de datos de una aplicación distribuida, yson independientes de un motor de base de datos.Use las clases del sistema para proveer de datos al usuario final y para resolver actualizaciones desde lainterfase y hacia la base de datos activa. Las clases son proveedores de datos que están disponibles en la capamedia de las múltiples capas de la arquitectura. Sirven como un agente de datos entre un servidor de datosremoto y un cliente de información en una aplicación cliente de escritorio.Las clases de la capa media, empaquetan la información de un conjunto de datos y lo envían en una formatransportable hacia la capa del usuario, o cliente de datos. El cliente de datos recibe el paquete de datos yreconstruye la información para crear una copia local en memoria para el acceso del usuario final. Cuando elusuario final trabaja con los datos, el cliente de datos empaqueta cualquier dato modificado y envía lasactualizaciones de vuelta a la capa media en el servidor de aplicación. La capa media actualiza lasmodificaciones hacia el servidor de datos.Nota: aunque una clase se borre del sistema, la tabla física correspondiente seguirá existiendo.

Nombre requeridoEspecifica el nombre de la clase que encapsula este proveedor.Utilice el atributo Nombre para especificar el nombre de la clase, según sea una clase persistente o consulta.

Etiqueta requeridoContiene el texto exhibido como etiqueta de la clase.Utilizar el atributo Etiqueta para asignar el título que aparecerá como etiqueta en los diferentes puntos de laarquitectura. Estos puntos son:

Como titulo del ítem del árbol del menú principal correspondiente a la clase de referencia (en caso que no séespecifique un titulo particular en el menú)Como titulo del formulario de proceso de actualización de la clase de referencia.Como encabezado de las agrupaciones en el modo grilla.Como titulo en el menú Ver relaciones, en otros procesos que tengan relación con la clase de referencia (drillup).Como titulo de la solapa en las que la clase de referencia sea detalle.

Nota: en caso que este atributo se deje en blanco, la arquitectura reemplazará la etiqueta por el nombre de laclase de referencia.

DescripciónContiene la descripción de la clase.Utilice el atributo Descripción para especificar el texto de ayuda de referencia de la clase.Este será el texto que se muestre como ayuda contextual al pasar el puntero del Mouse sobre la banda gris delencabezado del formulario.

Clases y atributosClase padreContiene el padre de la clase. Al completar este campo, se indica que las propiedades (definiciones generales,atributos y eventos) de la clase se heredarán de la clase especificada.Utilice orden para especificar un orden por defecto.

Tipo de objetoEspecifica el tipo de objeto que se está representando.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 10: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Los tipos de objetos especifican la forma en la que se comportara la arquitectura frente a cada clase.

TABLA: especifica un objeto persistente. Se representa como una tabla en la base de datos con el nombre dela clase de referencia. Los objetos designados como persistentes son administrados por la herramienta, ycreados de acuerdo a las especificaciones designadas por el desarrollador. Se debe dejar a la herramientaque administre este tipo de objetos. Se utiliza típicamente para definir las tablas que se actualizaran desde losprocesos de usuario.

CONSULTA: Especifica un objeto que toma su información de otro existente físicamente. Funciona enconjunción con el tilde "genera vista" si el mismo se encuentra activo grabará físicamente la vista con elnombre de la clase de referencia, de lo contrario lo ejecutar en modo QUERY. Se utiliza típicamente pararealizar análisis complejos.También se puede utilizar para acceder a datos externos a los definidos en el diccionario. También se puedeutilizar para realizar consultas que utilicen la clase definida en esta vista, si bien hay que tener en cuentaconsideraciones de performance.

COMANDO: Es utilizado principalmente para la ejecución de línea de comandos Windows.Nota: este parámetro se mantiene por compatibilidad con las antiguas versiones de INTEGRA actualmente seencuentra fuera de uso y no se recomienda su utilización.

Texto de consultaEspecifica el texto de la consulta a ser ejecutado.Use el atributo Texto de consulta para especificar el comando a ejecutar utilizando la clase de referencia.Texto de consulta es una representación textual de la sentencia SQL que se ejecutara en la base. El comandoespecificado en Texto de consulta se ejecutará cuando se soliciten datos a la clase de referencia.En este texto se pueden incluir tablas que no estén definidas en el diccionario de la aplicación.Los comandos solo pueden incluir sentencias SQL de recuperación de información (SELECT). Las clases deconsulta deberían ser usadas para lectura de información. Si bien la arquitectura tratara de grabar nuevamentela consulta, en caso de producirse modificaciones, es recomendable que si se desea realizar actualizacionessobre una clase de tipo consulta o consulta dinámica, solo se incluyan sentencias sobre una tabla (no JOINS).Por otra parte, si bien no se aplica una validación específica, no se deben incluir sentencias de actualizaciónde información, puesto que se pueden producir resultados inesperados.Nota: para editar de texto de consulta puede utilizar el Editor de Consultas.

NotasNotas generales relativas a la clase. Se utiliza para generar la documentación.

Clase de capaEspecifica si la clase será utilizada para la generación de capas.Utilice el atributo clase de capa para especificar si la clase será utilizada como clase de meta información parala generación, distribución e instalación de capas.Nota: solo las clases persistentes pueden ser utilizadas como clases de capa.

ComandoEs utilizado en conjunción con el tipo de objeto COMANDO para ejecución de línea de comandos deWINDOWS.También es utilizada internamente por el constructor de formularios de INTEGRA.NOTA: no se recomienda la utilización de esta clase dado que la misma puede ser discontinuada en futurasversiones de INTEGRA.

IconoEspecifica el icono de la clase de referencia.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 11: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Utilice el atributo Icono para especificar la imagen que aparecerá en los diferentes puntos de la arquitectura.Estos puntos son:

Como imagen del ítem del árbol del menú principal correspondiente a la clase de referencia (en caso que nose especifique un icono particular en el menú)Como imagen en el menú Ver relaciones, en otros procesos que tengan relación con la clase de referencia(drill up).Como imagen de la solapa en las que la clase de referencia sea detalle.

Nota: los iconos deben ser SOLAMENTE archivos de tipo.ICO, con, al menos, un formato de 32 x 32 píxeles.

TablaEspecífica el nombre con el que se grabará una consulta o consulta dinámica.Nota: no confundir este parámetro con el tipo de objeto TABLA (a estos tipos de objetos la herramienta leasigna el nombre y este parámetro no es tenido en cuenta).

IdentificadorCampo clave de la clase.Se utiliza al localizar registros para operaciones de actualización.

FiltrosIndica un filtro a aplicar. Se expresa en formato SQL multibase.

OrdenContiene el orden por defecto que tendrá la case.El orden puede ser por mas de una columna y se ingresan los títulos de las mismas separadas por ","Utilice orden para especificar un orden por defecto.Nota: recuerde utilizar para ordenar columnas cuyos contenidos no tengan valores vacíos o nulos puesto quelos mismos podrían desvirtuar el ordenamiento deseado.

Consulta multibaseEn desarrollo, con esta opción activada se activa el modo de consulta inteligente que intenta traducir laconsulta requerida al dialecto especifico del motor de base de datos que se estuviera utilizando.Nota: esta propiedad no tiene efecto aún dado que el parser se encuentra en desarrollo.

Genera vistaIndica si la consulta es creada físicamente en la base de datos.Se utiliza conjuntamente con el parámetro TABLA y utiliza el nombre especificado en dicho parámetro paragenerar físicamente la vista en el motor de base de datos (create view).

AgregableExisten clases que son creadas para ser en forma exclusiva padres de otras clases .No tendría sentidopermitir agregar registros en las mismas.Este campo establece dicha propiedad a los efectos de permitir o no que en una clase determinada se puedanincorporar registros.

ModificableDe características similares al agregable.Permite realizar modificaciones en los registros de una clase.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 12: Manual Itris desarrollador Parte I

Inteligencia Aplicada

BorrableDe características similares al "Agregable".Permite realizar borrado de registros en una clase determinada.

No auditarPermite deshabilitar la auditoría interna de la herramienta.

ColumnasIndica la cantidad de columnas en las que se crearan los controles.Utilice el atributo Columnas para especificar la cantidad de columnas en las que se crearan los controles.Nota: los controles pueden ocupar más de una columna, en caso que el mismo no entre dentro de una. Laarquitectura decide si el control entra, basándose en la etiqueta y si es necesario, desplaza el control a lasiguiente columna.

Ancho (pixels)Especifica el tamaño horizontal del formulario en píxeles.Utilice el atributo Ancho para especificar la altura por defecto del formulario.

Alto (pixels)Especifica el tamaño vertical del formulario en píxeles.Utilice el atributo Altura para especificar la altura del formulario.

Alto encabezado (%)Especifica el porcentaje que ocupara el encabezado del formularioUtilice el atributo Alto encabezado para especificar el porcentaje que tendrá el encabezado respecto al altototal del formulario, indicando así donde se situara el separador.Nota: el atributo Alto encabezado solo se utiliza para formularios de clases que tengan detalles. Si la clase notiene detalles, la arquitectura ignorara este atributo.

Campo etiquetaContiene el texto exhibido como etiqueta de la clase.Utilizar el atributo Etiqueta para asignar el título que aparecerá como etiqueta en los diferentes puntos de laarquitectura. Estos puntos son:

Como titulo del ítem del árbol del menú principal correspondiente a la clase de referencia (en caso que no seespecifique un titulo particular en el menú)Como titulo del formulario de proceso de actualización de la clase de referencia.Como encabezado de las agrupaciones en el modo grilla.Como titulo en el menú Ver relaciones, en otros procesos que tengan relación con la clase de referencia (drillup).Como titulo de la solapa en las que la clase de referencia sea detalle.Nota: en caso que este atributo se deje en blanco, la arquitectura reemplazará la etiqueta por el nombre de laclase de referencia.

Campo vista previaEspecifica el campo que se utilizara como vista previa del modo grilla.Utilice el atributo Campo vista previa para indicar cual será el campo que se mostrara al presionar el botón devista previa en modo grilla, como descripción general del registro.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 13: Manual Itris desarrollador Parte I

Inteligencia Aplicada

VisualizaciónIndica el tipo de visualización por defecto. Si no se asigna, se toma de la configuración local

Atributos (ITRIS_ATTRIBUTES)Permite definir los atributos de todas las clases existentes.Utilice este proceso para agregar, modificar, eliminar o consultar los atributos para todas las clases delsistema.Nota: aunque un atributo se borre del sistema, en la tabla física este seguirá existiendo.

MensajeEspecifica un mensaje de error que aparece cuando el usuario intenta ingresar un valor que no cumple con larestricción para el campo de referencia.Modifique Mensaje restricción para especificar el mensaje que aparece cuando el valor especificado por elusuario para el campo de referencia no cumple con la restricción impuesta.

RestricciónEspecifica una expresión SQL que aplica reglas de negocio de una aplicación para el valor del camporeferencia.Modifique Restricción para limitar los valores que el usuario puede incorporar en el campo de referencia.Restricción debe ser una expresión válida de SQL por ejemplo: x > 0 y x <100El nombre usado para referir al valor del campo puede ser cualquier secuencia que no sea una palabra clavereservada del SQL, siempre y cuando se utilice constantemente en toda la expresión de Restricción.Nota: Al modificar Restricción, recuerde completar también Mensaje restricción, de modo que el usuario recibaun mensaje aparezca cuando se ingresa un valor que no cumple con la restricción especificada.Nota: Restricción refleja expresiones de SQL. Debido a esto, utilice siempre un punto (.) como separador depunto decimal. Esto puede ser inconsistente con los ajustes internacionales de Windows del panel de control.

DefectoValor por defecto que toma el campo. Puede ser cualquier expresión SQL que no se refiera a valores decampos.

Dis. DrillDeshabilita el drill-down/up a la clase relacionado.Utilice el atributo Dis. Drill cuando se desea inhabilitar la posibilidad que el usuario navegue al registrorelacionado.Nota: Para mas información vea el manual del usuario, Drill-Up/Drill-Down.

Atr. resultanteCampo usado para relaciones foráneas. Indica el campo a mostrar de la clase relacionada.

Atr. localCampo usado para relaciones foraneas. Indica el campo con el que se vincula de la clase a la que pertenece.

NombreIndica el nombre físico del campo.

NotasNotas generales relativas al atributo. Se utiliza para generar la documentación.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 14: Manual Itris desarrollador Parte I

Inteligencia Aplicada

LongitudIndica el tamaño usado en la definición del campo físico de la base de datos para los tipos de datos queapoyan diversos tamaños.La interpretación del tamaño depende del tipo de datos.El significado del tamaño para diversos tipos de datos se da en la siguiente tabla:.-CARACTERES: El tamaño es el número máximo de caracteres en la secuencia..-ENTERO: No utilizado..-BOOLEANO: No utilizado..-PUNTO FLOTANTE: No utilizado..-NÚMERO: El tamaño es el número de dígitos totales..-FECHA: No utilizado..-HORA: No utilizado..-FECHA Y HORA: No utilizado..-BLOB: No utilizado..-MEMO: No utilizado..-IMAGEN: No utilizado..-WIDESTRING: (compatibilidad) El tamaño es el número máximo de caracteres en la secuencia.

SolapaIndica la solapa en la que se creara el atributo

DescripciónIndica la descripción del campo

EtiquetaContiene el texto para exhibir en el título de columna en los controles de edición del formulario, así como enlas columnas correspondientes a una grilla de los datos.Utilice el atributo Etiqueta para asignar el título que aparecerá como etiqueta en los diferentes puntos de laarquitectura.

Máscara de displayControla el formato de campos fecha para los su exhibición en los controles relacionados.Utilice el atributo Máscara de display para especificar una máscara que se utilice para ajustar a formato elvalor en un campo fecha cuando se muestre el valor del campo.Si Máscara de display no se asigna, el valor se ajusta al formato especificado por el panel de control deWindows.Construya una mascara de display usando estos especificadores de formato:Especificadorc La fecha usando el formato de fecha corta, seguida por la hora usando el formato de hora larga. La

hora no se muestra si esta es vacía.d El día como número sin un cero precedente (1-31).dd El día como número con un cero precedente (01-31).ddd El día como abreviatura (Dom-Lun) usando el formato de nombre de día corto.dddd El día como nombre completo (Domingo-Lunes) usando el formato de nombre de día

largo.ddddd La fecha usando el formato de fecha corto.dddddd La fecha usando el formato de fecha larga.m El mes como número sin un cero precedente (1-12). Si el carácter m sigue

inmediatamente un carácter h o hh, se mostrarán los minutos en lugar del mes.mm El mes como número con un cero precedente (01-12). Si el carácter mm sigue

inmediatamente un carácter h o hh, se mostrarán los minutos en lugar del mes.mmm El mes como abreviatura (Ene-Dic), usando el formato de nombre de mes corto.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 15: Manual Itris desarrollador Parte I

Inteligencia Aplicada

mmmm El mes como nombre completo (Enero-Diciembre), usando el formato de nombre de mes largo.yy El año como número de dos dígitos (00-99).yyyy El año como número de cuatro dígitos (0000-9999).h La hora sin un cero precedente (0-23).hh La hora con un cero precedente (00-23).n Los minutos sin un cero precedente (0-59).nn Los minutos con un cero precedente (00-59).s Los segundos sin un cero precedente (0-59).ss Los segundos con un cero precedente (00-59).t La hora usando el formato de hora corta.tt La hora usando el formato de hora largo.am/pm La hora usando el formato de reloj de 12 horas para el carácter h o hh precedente, seguido por “am”

para cualquier hora antes de mediodía, o “pm” para cualquier hora después del mediodía.a/p La hora usando el formato de reloj de 12 horas para el carácter h o hh precedente,

seguido por "a" para cualquier hora antes de mediodía, o "p" para cualquier hora después del mediodía.ampm La hora usando el formato de reloj de 12 horas para el carácter h o hh precedente, seguido por el

formato interno de ITRIS para el indicador “am” para cualquier hora antes de mediodía, o el formato interno de ITRIS para el indicador “pm” cualquier hora después del mediodía.

/ El carácter del separador de fecha.: El carácter del separador de hora.xx/xx Los caracteres incluidos entre comillas simples o dobles son tomados como literales, sin cambios

del formato.

Los especificadores de formato se pueden escribir en letras mayúsculas o minúsculas indistintamente.Si Mascara de display está vacía, los campos de fecha se ajustan al formato del especificador ‘c’.Máscara de display (campos numéricos)Determina cómo el valor numérico de un campo se ajusta a un formato para la exhibición en un control deedición.Utilice el atributo Máscara de display para modificar el formato automático de un campo numérico para suexhibición en controles de edición.Los valores y comportamientos de los especificadores para las mascaras de display para campos numéricos,son los mismos que para las mascaras de edición de este tipo de campos.

Ancho (caracteres)Indica el ancho utilizado para la edición (en caracteres)

SecuenciaEspecifica el orden de secuencia que tendrá ese campo al armar el conjunto de datos.Utilice el atributo secuencia edición para especificar la secuencia al recuperar la información de la base dedatos.Nota: cambiar el valor de secuencia de edición afecta el orden en la cual los campos se exhiben en grillas dedatos y formularios, así como también en las estructuras de información, pero no la posición de los campos enlas tablas físicas de la base de datos.

Máscara de ediciónMÁSCARA DE EDICIÓN(campos de fecha y de texto)Contiene la máscara que se utiliza para restringir los datos que se pueden incorporar en el control de edicióndel campo de referencia.Use el atributo Máscara de edición para restringir los caracteres que el usuario puede ingresar, la forma decaracteres válidos y los formatos válidos. Si el usuario intenta incorporar un caracter que sea inválido, elcaracter no se acepta. La validación realizada al utilizar la máscara especificada en Máscara de edición serealiza utilizando el esquema “caracter-por-caracter”.Una máscara consiste en tres campos con los puntos y comas que separan los campos. La primera parte de

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 16: Manual Itris desarrollador Parte I

Inteligencia Aplicada

la máscara es la máscara sí mismo.La segunda parte es el especificador que se determina si los caracteres literales de una máscara son incluidoscomo parte de los datos.La tercera parte de la máscara es el especificador usado para representar caracteres no ingresados en lamáscara.Estos son los especificadores especiales usados en el primer campo de la máscara:Especificador! Si un especificador ‘!’ aparece en la máscara, los caracteres opcionales son representados en eltexto de edición como espacios en blanco a la izquierda. Si el especificador ‘!’ no esta presente, los caracteresopcionales son representados en el texto de edición como espacios a la derecha.> Si el especificador ‘>’ aparece en la máscara, todos los caracteres que siguen están en mayúsculashasta el final de la máscara o hasta que se encuentre un especificador ‘<’< Si el especificador ‘<‘ aparece en la máscara, todos los caracteres que siguen están en minúsculashasta el final de la máscara o hasta que se encuentre un especificador ‘>’<> Si estos dos especificadores aparecen juntos en una máscara, no se hace ninguna comprobaciónmayúscula/minúscula y los datos se ajustan a formato con el formato mayúscula/minúscula que el usuarioingreso.\ El caracter que sigue a un especificador ‘\’ es un caracter literal. Utilice este especificador cuando

usted desea permitir cualquier caracter de los especificadores especiales de la máscara como literal en los datos.

L El especificador ‘L’ requiere un caracter alfabético solamente en esta posición. Para nuestro país,éste es A-z, a-z.

l El especificador ‘l’ permite solamente un caracter alfabético en esta posición, pero es obligatorio.A El especificador ‘A’ requiere un caracter alfanumérico solamente en esta posición. Para nuestro

país, éste es A-z, a-z, 0-9.a El especificador ‘a’ permite un caracter alfanumérico en esta posición, pero no es obligatorio.C El especificador ‘C’ requiere un caracter arbitrario en esta posición.c El especificador ‘c’ permite un caracter arbitrario en esta posición, pero no es obligatorio.0 El especificador ‘0’ requiere un caracter numérico únicamente en esta posición.9 El especificador ‘9’ permite un caracter numérico en esta posición, pero no es obligatorio.# El especificador ‘#’ permite un caracter numérico, o un signo más o menos en esta posición, pero es

obligatorio.: El especificador ‘:’ se utiliza para separar horas, minutos, y segundos en la edición de horas. Si el

caracter que separa horas, los minutos, y los segundos es diferente en la configuración regional del panel de control, el caracter utilizado es el especificado en lugar de ':'.

/ El especificador ‘/’ se utiliza al separar días, meses y años en la edición de fechas. Si el caracterque separa los días, meses los años es diferentes en la configuración regional del panel de control, el carácter utilizado es el especificado en lugar de /.

; El especificador ‘;’ se utiliza para separar los tres campos de la máscara._ El especificador ‘_’ inserta automáticamente espacios en el texto. Cuando el usuario ingresa

caracteres en el campo, el cursor saltea el caracter _.

Cualquier caracter que no aparezca en la tabla precedente puede aparecer en la primera parte de la máscaracomo caracter literal. Los caracteres literales son insertados automáticamente, y el cursor los saltea durante laedición. Los especificadores especiales de la máscara pueden aparecer también como caracteres literales sison precedidos por un caracter de retroceso (\).El segundo campo de la máscara es un solo caracter que indica si los caracteres literales de la máscaradeben ser incluidos como parte del valor real del campo. Por ejemplo, la máscara para un número de teléfonocon código de área podría ser la siguiente secuencia:(000)_000-0000;0; *El 0 en el segundo campo indica que la propiedad del valor para el campo consistiría en los 10 dígitos quefueron incorporados, independientemente de los 14 caracteres que se representaron en la edición para elusuario al editar el teléfono.Un 0 en el segundo campo indica que los literales no deben ser incluidos, cualquier otro caracter indica quedeben ser incluidos.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 17: Manual Itris desarrollador Parte I

Inteligencia Aplicada

El tercer campo de la máscara indica el caracter que aparece en el control de edición para los espacios enblanco (los caracteres que no se han ingresado). Por omisión, este caracter es el mismo que el caracter queindica la posición para los espacios literales. Los dos caracteres se presentan en la ventana de edición. Sinembargo, cuando un usuario ingresa los datos para el campo de referencia, el cursor selecciona cada caracteren blanco alternadamente, y saltea sobre el caracter de espacio.MÁSCARA DE EDICIÓN(campos numéricos)Determina cómo se ajusta el formato del valor numérico de un campo cuando se está modificando en uncontrol de edición.Utilice el atributo Máscara de edición para modificar el formato automático de un campo cuando el valor delcampo se está modificando en un control de edición.Cuando Máscara de edición no esta asignado, pero Máscara de display tiene un valor, se utiliza comomáscara el valor del campo Máscara de display.El valor de Máscara de edición es una secuencia que codifica el formato de los datos numéricos utilizando losespecificadores en la siguiente tabla:Especificador Significado en la máscara0 Lugar de dígito. Si el valor que es ajustado a formato tiene un dígito en la posición donde el "0"aparece en la máscara, entonces ese dígito se copia a la secuencia de la salida. Si no, un "0" se almacena enesa posición en la secuencia de la salida.# Lugar de dígito. Si el valor que es ajustado a formato tiene un dígito en la posición donde "#"aparece en la máscara, entonces ese dígito se copia a la secuencia de la salida. Si no, no se almacena nadaen esa posición en la secuencia de la salida.. Separador decimal. El primer caracter “.” en la máscara determina la ubicación del separadordecimal en el valor que esta siendo ajustado a formato; cualquier caracter “.” adicional es ignorado. El caracterreal usado como el separador decimal en la secuencia de la salida es determinado por el valor del separadordecimal especificado en el formato de números, de la sección regional, del panel de control de Windows., Separador de miles. Si la máscara contiene uno o más especificadores ",", los caracteresresultantes tendrán separadores de miles insertados entre cada grupo de tres dígitos a la izquierda de lacoma. La ubicación y cantidad de especificadores "," que aparezcan en la máscara no afecta la salida alusuario, más que para indicar que se desean utilizar separadores de miles. El caracter real usado como elseparador de miles en la secuencia de la salida es determinado por el valor del separador de milesespecificado en el formato de números, de la sección regional, del panel de control de Windows.E+ Notación científica. Si cualquiera de las secuencias "E+", "E -", "e+", o "e -" se encuentran en elformato, el número se ajusta a formato utilizando la notación científica. Se puede usar un grupo de hastacuatro especificadores “0”, a continuación inmediata de los especificadores "E+", "E -", "e+", o "e -" paradeterminar el número mínimo de dígitos en el exponente. Los formatos "E+" y de "e+" implican que un signomás se desplegará para los exponentes positivos y un signo menos se desplegará para los exponentesnegativos. Los formatos "E -" y "e -" implican que solo se mostrará un signo menos para los exponentesnegativos.' xx'/"xx " Los caracteres incluidos entre comillas simples o dobles son mostrados literales, y no afectan elformato.; Separa las secciones para los números positivos, negativos y cero en la máscara.La ubicación del caracter “0” en el extremo izquierdo antes del separador decimal en la mascara de edición yel caracter “0” en el extremo derecho después del separador decimal determina el rango de dígitos que estánpresentes siempre en la secuencia de la salida.El número ajustado al formato siempre se redondea a la cantidad de decimales especificados por los Lugaresde dígito ("0 "o" #") a la derecha del separador decimal. Si la máscara no contiene ningún separador decimal,el valor ajustado al formato se redondea al número entero más cercano.Si el número ajustado a la mascara tiene más dígitos a la izquierda del separador decimal que los lugares dedígito especificados a la izquierda del separador decimal, se mostraran dígitos adicionales antes del primerlugar de dígito.Para permitir diversos formatos para valores positivos, negativos, y cero, la máscara pueden contener entreuna y tres secciones separadas por puntos y comas.· Una sección: La máscara se aplica a todos los valores.· Dos secciones: La primera sección se aplica los valores positivos y los ceros, y la segunda seccióna aplica a los valores negativos.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 18: Manual Itris desarrollador Parte I

Inteligencia Aplicada

· Tres secciones: La primera sección se aplica a los valores positivos, la segunda se aplica a losvalores negativos, y la tercera se aplica a los ceros.Si la sección para los valores negativos o la sección para los valores ceros esta vacía, esto significa que nohay nada entre los puntos y comas que delimitan la sección, la sección para los valores positivos se utiliza ensu lugar.Si la sección para los valores positivos esta vacía, o si la secuencia entera del formato esta vacía, se ajusta elnúmero al formato utilizando el formato general para punto flotante, con 15 dígitos significativos. El formatogeneral para punto flotante también se utiliza si el valor tiene más de 18 dígitos a la izquierda del separadordecimales, y la máscara no especifica notación científica.La tabla siguiente muestra algunos ejemplos de mascaras, los resultados producidos y una breve explicación:Mascara Valor Resultado Aclaraciones#.## 12.2 12.2 Observe que el dígito aparece a la izquierda.#.00 2.5 2.50 Observe el 0 extra: el campo siempre mostrara dos lugares

decimales00.## .006 00.01 Observe los 0 adicionales a la derecha de la coma y el redondeo a dos lugares decimales.La tabla siguiente muestra varios ejemplos de algunos ejemplos de mascaras numéricas:Mascara 1234 -1234 0.5 0<vació> 1234 -1234 0.5 00 1234 -1234 1 00.00 1234.00 -1234.00 0.50 0.00#.## 1234 -1234 .5#,##0.00 1,234.00 -1,234.00 0.50 0.00#,##0.00; (#,##0.00) 1,234.00 (1,234.00) 0.50 0.00#,##0.00;; Cero 1,234.00 -1,234.00 0.50 Cero0.000E+00 1.234E+03 -1.234E+03 5.000E-01 0.000E+00#.###E-0 1.234E3 -1.234E3 5E-1 0E0Mascara 1234 -1234 0.5 0Nota: Máscara de edición afecta solamente la exhibición de los datos del campo cuando se está modificando.No afecta la exhibición de los datos del campo cuando no se está modificando.

Editor 1º par.Indican los parámetros pasados al editor asociadoEspecifica los valores a utilizar, dependiendo el tipo de editor seleccionado.Utilice estos parámetros para extender la funcionalidad de los tipos de editores.Todos los valores son cadenas de caracteres.valores de parámetros Editor 1º parLISTA DINÁMICA: Clase de la que se arma la lista. Si no se especifica una clase, y el campo es una

relación se toma de la clase relacionada.BUSCADOR: Ídem Lista dinámicaLISTA FIJA: Cadena de caracteres con los valores fijos. Tiene el formato <valor almacenado | valor

mostrado>.ARCHIVO: Directorio inicial. Si no se especifica un directorio, se toma el de Windows.DIRECTORIO: No utilizado.MÁQUINA: No utilizado.WEB : No utilizado.UP-DOWN : No utilizado.CALCULADORA : No utilizado.

Editor 2º par.Indican los parámetros pasados al editor asociadoEspecifica los valores a utilizar, dependiendo el tipo de editor seleccionado.Utilice estos parámetros para extender la funcionalidad de los tipos de editores.Todos los valores son cadenas de caracteres.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 19: Manual Itris desarrollador Parte I

Inteligencia Aplicada

valores de parámetros Editor 2º parLISTA DINÁMICA: Campos a mostrar al desplegarse el combo. Si hay mas de un campo, separarlos con

‘;’.Al estar cerrado el combo se mostrará el primer campo. Si no se especifica un campo se mostrara el campo indicado como PK.

BUSCADOR: No utilizado.LISTA FIJA: No utilizado.ARCHIVO: Filtros de archivos. Tiene el formato <valor a mostrar | filtro a aplicar > Ej: Planillas de

MS Excel (*.XLS)|*.XLS | Todos los archivos (*.*)|*.*.DIRECTORIO: No utilizado.MÁQUINA: No utilizado.WEB: No utilizado.UP-DOWN: No utilizado.CALCULADORA: No utilizado.

Editor 3º par.Indican los parámetros pasados al editor asociadoEspecifica los valores a utilizar, dependiendo el tipo de editor seleccionado.Utilice estos parámetros para extender la funcionalidad de los tipos de editores.Todos los valores son cadenas de caracteres.valores de parámetros Editor 3º parLISTA DINÁMICA: Ancho que tendrá el combo al desplegarse (en píxeles). Si no se especifica un ancho,

automáticamente se calculara el ancho necesario.BUSCADOR: No utilizado.LISTA FIJA: Cadena de caracteres con el ancho que tendrá el combo al desplegarse (en píxeles).Si

no se especifica un ancho, automáticamente se calculara el ancho necesarioARCHIVO: No utilizado.DIRECTORIO: No utilizado.MÁQUINA: No utilizado.WEB: No utilizado.UP-DOWN: No utilizado.CALCULADORA: No utilizado.

Editor 4º par.Indican los parámetros pasados al editor asociadoEspecifica los valores a utilizar, dependiendo el tipo de editor seleccionado.Utilice estos parámetros para extender la funcionalidad de los tipos de editores.Todos los valores son cadenas de caracteres.valores de parámetros Editor 4º parLISTA DINÁMICA: Campo a devolver al seleccionar un valor del combo. Si no se especifica un campo, y el

campo es una relación, se toma el campo PK de la clase relacionada.BUSCADOR: Ídem Lista dinámica.LISTA FIJA: No utilizado.ARCHIVO: No utilizado.DIRECTORIO: No utilizado.MÁQUINA: No utilizado.WEB: No utilizado.UP-DOWN: No utilizado.CALCULADORA: No utilizado.

Tipo editorEspecifica el tipo de edición que se utilizara para el campo.Los tipos de editores son editores que enriquecen la edición de un campo, facilitando al usuario la modificacióndel mismo.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 20: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Esta directamente relacionado con el tipo del campo. No todos los editores están disponibles para todos lostipos campos.La siguiente tabla muestra los editores disponibles, y los tipos de campos asociadosTipo editor Tipo de campo DescripciónLista dinámica Todos Crea un combo desplegable, armado en base a una clase existente. Obliga alusuario a seleccionar un valor válido de esa lista. Para tablas grandes es poco performante.Buscador Todos Crea un campo de texto en el que el usuario escribe un valor. En caso de no encontrarse,se dispara el buscador. Es muy performante.Lista fija Carácter Crea un combo desplegable, armado en base a valores fijos.Archivo Carácter Dispara un seleccionador de archivos.Directorio Carácter Dispara un seleccionador de directorios.Maquina Carácter Dispara un seleccionador de maquinas.Web Carácter Crea un campo de edición que con un clic dispara la dirección de Web almacenada.Up-Down Entero Crea un campo de edición con botones asociados para subir y bajar.Calculadora Numérico, Punto flotante Crea un campo con una calculadora desplegable paraeditar y almacenar números.

Clase relacionadaIndica la clase con la que ese atributo tiene relaciónUtilice Clase relacionada para designar la clase con la cual se establecerá una relación. En este campo seguardará el valor del campo designado como PK de la con la que se establece la relación. Asimismo, estevalor será el utilizado para ubicar el registro en la tabla.

Tipo lógico requeridoEspecifica el tipo de relación que tiene ese atributo con otras clases existentes.Utilice Tipo lógico para establecer una relación con otra clase a través de ese campo.La siguiente tabla muestra los valores posibles:

RELACIÓN: Indica que el campo se utiliza como relación con otra tabla. Esto activa la integridad referencial,impidiendo modificaciones o borrados del registro relacionado, y obligando a una selección valida de la relación. Este campo debe ser del mismo tipo que el campo indicado como PK en la clase relacionado. Ejemplo: de la clase Pedidos, el atributo NroCliente.

MAESTRO: Indica que el campo se utiliza como relación con una clase maestro. Esto activa los registrosanidados o transacciones, así como el borrado en cascada. Si se especifica un campo como maestro, pedirse datos de la clase indicada como maestro, automáticamente se generarán los registros detalles relacionados. Asimismo, al borrarse una clase se borraran los registros relacionados al registro maestro. Al acceder a la transacción, el campo especificado como maestro no estará visible, y la clase será una solapa. Ejemplo: en la clase ItemsPedidos, el atributo NroPedido.

FORANEO: Indica que el campo corresponde a un campo de otra tabla, y solo se utiliza con fines devisualización. Al indicar un campo como foráneo este campo aparece como un campo propio, pero se deshabilita su edición. Ejemplo: en la clase Pedidos, el atributo Domicilio, que muestra el domicilio de la clase relacionada.

Solo lectura requeridoSe determina si el campo puede ser modificado.Utilice Solo lectura para evitar que un campo sea modificado.

RequeridoEspecifica cuando es requerido un valor no nulo un campo.Utilice requerido para explicitar una regla de negocio que obliga a este campo a estar en verdadero.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 21: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Nota: las aplicaciones que especifican la propiedad requerido a verdadero, no implica que esta condición serefleje en la base de datos. Los únicos campos que reflejan esta condición en la base de datos son loscampos identificadores.Nota: especificando un campo como identificador, la propiedad Requerido automáticamente se especificará averdadero también.

EscalaEspecifica el número de los dígitos de la exactitud usados para almacenar el valor del campo.La precisión puede ser un valor entre 0 y 32. Sin embargo, debido a limitaciones existentes para trabajar condatos de campos del punto flotante, se limitan la precisión de los valores soportados a 4 lugares decimales y 20dígitos significativos. La tabla física de la base de datos puede incluir los valores que requieren la mayorprecisión, y fijar la precisión a un valor mayor de 20 permite que usted cree una tabla con una precisión másalta.

Tipo requeridoIndica el tipo físico del campo.Los campos de tipo “Numero” permiten hasta 4 decimales.

VisibleIndica si el campo es visible

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 22: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Menú del sistema (ITRIS_MENU)Define el menú del sistema que se mostrará en el navegador principal.

Utilice Menú del sistema para definir el árbol de menú, así como la clase que dispara cada ítem.

IDIndica el # de menú.

Utilice ID para establecer un número de menú único.

Clase relacionadaIndica la clase que ejecuta ese ítem de menú.

Utilice Clase relacionada para vincular una acción a un ítem de menú particular. En caso de no especificarse una clase, el ítem no realizara ninguna acción. Estos ítems son típicamente carpetas contenedoras de ítems, para fines de clasificación.

TextoIndica el texto que tendrá el ítem en el árbol de menú.

Utilice Texto para establecer el texto que mostrara el ítem en el árbol del navegador principal.

Nota: en caso de no establecerse un texto, el ítem tomará la descripción de la clase relacionada.

Menú padreIndica el menú del cual depende el ítem.

Utilice Menú padre para indicar que el ítem de referencia es sub ítem de otro.

Nota: Los ítems de menú que pertenezcan al mismo padre se ordenarán en secuencia por el # de ID.

IconoEspecifica el icono del ítem de menú de referencia.

Utilice el atributo Icono para especificar la imagen que aparecerá en los diferentes puntos de la arquitectura.Estos puntos son:

Como imagen del ítem del árbol del menú principal correspondiente a la clase de referencia (en caso que no se especifique un icono particular en el menú)

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 23: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Nota: los iconos deben ser SOLAMENTE archivos de tipo .ICO, con, al menos, un formato de 32 x 32 píxeles.Nota: En caso de no especificarse una imagen, se tomara la imagen de la clase de referencia.

Tipo de menúPermite indicar una imagen por defecto

Utilice Tipo de menú para especificar una imagen por defecto, en caso de no especificarse alguno en Icono, y que el ítem no tenga relación con una clase

Los valores posibles son:

ValorValor ResultadoCarpetaABMProcesoInforme

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 24: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Mapa de clases (ITRIS_CLASSMAP)Esta clase es una consulta que muestra las clases de INTEGRA en forma jerárquica para poder observar laherencia e interrelación entre las mismas

Atributo rel.Es el nombre del atributo por el cual se relaciona la clase principal a la clase relacionada.

Etiqueta atributo rel.Es la etiqueta o nombre coloquial que recibe el atributo relacionado

ClaseNombre de la clase principal.

Clase rel.Clase con la cual se encuentra relacionada la clase principal

Etiqueta clase rel.Nombre coloquial que representa a la clase relacionada se muestra al especificar la clase.Por ejemplo la clase ERP_PROVINCIAS tiene una etiqueta que al usuario final le muestra como título la leyenda “Provincias”.

Etiqueta claseNombre coloquial que representa a la clase principal.Ver ejemplo anterior..

Tipo relaciónTipo de relación (si existiese) de la clase principal con respecto a la clase relacionada.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 25: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Librerias (ITRIS_LIBS)Clase especializada para generar librerías de funciones que pueden ser utilizadas en aquellos procesos de Script que fueran necesarios.

Nombre requeridoNombre de la librería.Nota: se aconseja respetar la nomenclatura que se ha venido utilizando a lo largo de la ayuda.

CódigoEn este campo, de la misma forma que en eventos o acciones se introduce el código script que luego seráasociado al nombre.

Tipo código requeridoEste campo permite seleccionar el lenguaje del motor de script (actualmente el sistema trabaja en formaexclusiva con Delphiscript).

Internos ?Indica si la librería se utiliza para la ejecución de scripts internos del sistema (valores por defecto, restricciones,entre otros).

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 26: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Índices (ITRIS_INDEXS)Se utiliza para administrar los índices .Ya sea por cuestiones de optimización en las búsquedas o por control de duplicidad en registros con clavescompuestas hay ocasiones en las cuales el desarrollador tiene la necesidad de crear un índice para una tabla.Esta clase está especializada en la administración y creación de los mismos.Nota: Los índices del tipo PK son administrados en forma automática por INTEGRA al crear una nueva clase,No es necesario crear los mismos utilizando esta clase.

Campos requeridoUtilice este atributo para indicar los campos que serán tomados como claves del índice a crear.

ÚnicoEspecifica si el índice a crear tiene clave única o no

Nombre requeridoNombre del índice.Utilice este atributo para seleccionar el nombre del índice.Nota: es una buena practica que el nombre del índice sea lo más similar posible al nombre de la clase.

Clase propietaria requeridoClase propietaria del índice.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 27: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Librerías

Reportes (ITRIS_REPORTS)INTEGRA posee embebido un generador de reportes por bandas que permite realizar al desarrollador casicualquier tipo de informe.Esta clase permite administrar los reportes definidos en el sistema a través de esta herramienta.La configuración del diseñador de reportes se guarda en la carpeta temporal de Windows en el archivo RBuilder.ini.

Clase requeridoClase a la que esta asociado el reporte

Nombre requeridoNombre del reporte.Como se ha venido aconsejando trate de mantener una coherencia con el nombre a seleccionar.

DataEn este campo se almacena el formato interno que utiliza el generador de reportes .Este formato lo recupera la clase cada vez que sea necesario para modificar un reporte

Etiqueta requeridoNombre coloquial con el que se conoce al reporte.

Registros seleccionados requeridoImprime el registro corriente o el rango activo

DeshabilitadoEste atributo cumple con la función de permitir deshabilitar el reporte en caso de ser necesario para sumantenimiento.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 28: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Flujos de trabajo (ITRIS_WKRELATIONS)Esta clase es una parte esencial del software para el trabajo colaborativo, la misma se encarga de losaspectos operacionales de una actividad de trabajo:

cómo se estructuran las tareas,cómo se realizan,cuál es su orden correlativo,cómo se sincronizan,cómo fluye la información que soporta las tareas ycómo se le hace seguimiento al cumplimiento de las tareas.

Código requeridoIndica el nombre de la relación

Etiqueta requeridoIndica la etiqueta que se mostrará en los procesos

Clase origen requeridoEste atributo indica la clase de origen del workflow

Clase destino requeridoEste campo indica la clase de destino del workflow

Selección múltipleEste atributo se utiliza para saber si se permitirá seleccionar mas de un registro

Modifica existenteAtributo utilizado para permitir modificar un registro, agregando renglones de detalle

Clase selecciónEste atributo se utiliza para establecer la clase que se usará al seleccionar registros

Filtro selecciónEste atributo se utiliza para indicar cual es el filtro activo para la operación seleccionada

ActivoAtributo que define si el workflow esta activo o no.

Flujos de trabajoFiltros de flujos (ITRIS_WKFILTERS)

Clase requeridoIndica la clase de origen a la que se aplicara un filtro

Filtro requeridoIndica el filtro a aplicar a la clase

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 29: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Mapeos de flujos (ITRIS_WKRELMAPS)

Atributo destino requeridoIndica el campo del destino a copiar

Atributo origen requeridoIndica el campo del origen

Clase destino requeridoIndica la clase de destino

Clase origen requeridoIndica la clase de origen

Tipo de mapeo requeridoIndica el tipo de mapeo

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 30: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Reconstrucción de Clases (ITRIS_REBDB)Esta clase se utiliza para regenerar una o todas las clases de INTEGRA .NOTA: la activación del tilde de eliminar y recrear forzara al borrado de la clase y a todos sus datos para serdespués regenerados.

Clase (vacío para todas)Clase a reconstruir. ATENCION! Vacío indica todas las clases!

Eliminar y recrear?Elimina y recrea la clase a reconstruir. ATENCION! Se eliminara toda la información!

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 31: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Ingeniería reversa de clase (ITRIS_REBCLASS)

Clase especializada para realizar una reconstrucción de la clase a partir de una tabla.Este proceso borra los atributos de las clases (si los tuvieran) y los regenera en base a la estructura física delas tablas.

Clase (Vacío para todas)Atributo que indica el nombre de la clase a reconstruir.Nota: si no se coloca el nombre de la clase (dejando vacío esta entrada) se esta indicando una reconstrucciónde todas las clases de INTEGRA.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 32: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Usuarios del sistema (ITRIS_USERS)

Clase especializada en la administración de usuarios del sistema.Se utiliza en conjunto con grupos para generar los accesos a los distintos procesos del sistema .Son las clases encargadas de la seguridad del sistema.

Nombre requeridoAtributo para el ingreso del nombre con el cual el usuario se identificará con el sistema en el momento en elcual se loguea al mismo.Este es el nombre de usuario (no el nombre completo), normalmente se utiliza la primer letra del nombre y elapellido completo , pero la elección es libre.

Por ej. Juan Perez tendría el usuario JPerez

Nombre completoAtributo que almacena el nombre completo del usuario.

Sucursal requeridoSucursal a la cual puede acceder el usuario.

AuditorAtributo para saber si al usuario se le esta permitiendo la consulta de otras sucursales

E-mailAtributo para el ingreso de la dirección de correo electrónico del usuario generado.

Punto de ventaAtributo para el ingreso del punto de venta asignado

Ingeniería

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 33: Manual Itris desarrollador Parte I

Inteligencia Aplicada

reversa de clase

Grupos del sistema (ITRIS_GROUPS)Clase especializada en la generación de grupos de usuarios con los mismos privilegios.Se utiliza asociada a la clase usuarios del sistema para asignar la seguridad del mismo

Nombre requeridoAtributo que almacenara el nombre del grupo.Por ejemplo Administradores

Nombre completoDescripción completa del grupo.Por Ejemplo: Administradores del sistema

Des. opcionesSi no se asigna seguridad a alguna opción, no habilitarla por defecto.Acciones por grupo (ITRIS_GROACT)Clase especializada para la administración de las acciones a cada grupo de trabajo.Las acciones generadas por la clase acciones pueden ser asignadas a un determinado grupo de trabajo,estas proveen una funcionalidad especial que por cuestiones de seguridad tal vez no sean convenientes decompartir con todos los usuarios.Utilice esta clase para tal efecto.

HabilitadaSelecciona si habilita la clase o no

Acción requeridoNombre con el cual se guardo la acción al ser generada por la clase acciones.

Atributos por grupo (ITRIS_GROATT)Clase especializada en la administración de los atributos para la seguridad del sistema.

Atributo requeridoIndica el atributo sobre el que se aplica la seguridad.

Estado requeridoIndica el tipo de operación permitida.

Grupos del sistema

Clases por grupo (ITRIS_GROCLA)Clase especializada para la administración de clases a los distintos grupos de trabajo.

Clase requeridoClase a la que se aplica el permiso

AgregableAtributo que se encarga de los tipos de permisos que se le otorgan a la clase en cuestiónEn este caso establece si el usuario puede agregar registros o no.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 34: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Agregable en baseAtributo que se encarga de los tipos de permisos que se le otorgan a la clase en cuestiónEn este caso establece si el usuario puede agregar en base o no.

BorrableAtributo que se encarga de los tipos de permisos que se le otorgan a la clase en cuestiónEn este caso establece si el usuario puede borrar registros o no.

ModificableAtributo que se encarga de los tipos de permisos que se le otorgan a la clase en cuestiónEn este caso establece si el usuario modificar registros o no.

VisibleAtributo que se encarga de los tipos de permisos que se le otorgan a la clase en cuestiónEn este caso establece si el usuario puede verla o no.

Usuarios por grupo (ITRIS_GROUSE)Clase especializada para la administración de los usuarios que corresponden a un determinado grupo detrabajo.

Usuario requeridoNombre del usuario

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 35: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Auditoría del sistema (ITRIS_LOG)Clase especializada en la administración de auditoría de las demás clases del sistema.

Nota: esta clase almacena los cambios que se van realizando en las demás clases del sistema (siempre ycuando las mismas hayan sido habilitadas para realizar la auditoría)

FechaFecha del cambio

HoraHora del cambio

UsuarioUsuario que genero la modificación

ClaseClase modificada.

OperaciónTipo de operación realizada

Valor claveValor del identificador del registro sobre el que se realizo la operación

AtributoAtributo modificado. Solo se toma en cuenta para las modificaciones.

Valor originalValor antes de la modificación. Solo se toma en cuenta para las modificaciones.

Valor nuevoValor después de la modificación. Solo se toma en cuenta para las modificaciones.

DiferenciaDiferencia de valores entre el original y el nuevo. Solo se aplica a atributos numéricos o fechas.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 36: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Clases a auditar (ITRIS_LOGCLASSES)Clase que realiza una consulta que permite obtener de una forma mas cómoda y sencilla cuales fueron lasclases a las que se le colocó el atributo para ser auditables.

Nota: esta clase puede utilizarse para modificar el atributo de auditable en una clase determinada.

Nombre de la clase no editableNombre de la clase que se esta auditando

Etiqueta de la clase no editableNombre coloquial de la clase

No auditarUtilice este atributo para establecer si una clase puede ser auditada o no.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 37: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Ids Autogenerados (ITRIS_IDSVALUES)Clase especializada en la administración de Ids autogenerados (similar a los valores autoincrementales en las bases de datos).

Nota: estos Ids son utiizados por la función ITSNextValue

Atributo requeridoNombre del atributo sobre el cual se generara el identificador

Ultimo valor requeridoUltimo valor ingresado

Incremento requeridoValor del incremento que se aplicará al último valor ingresado.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 38: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Vistas de grilla (ITRIS_GRD_VIEWS)Clase especializada en la administración de las distintas grillas definidas en el sistema.Nota: esta clase almacena las vistas de grilla que el usuario fue definiendo en las distintas clases.

Clase no editableNombre de la clase sobre la cual se esta guardando una vista de grilla

Nombre requeridoNombre que se le asignará a la vista guardada

Etiqueta requeridoNombre coloquial de la vista guardada

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 39: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Vistas de Cubo (ITRIS_CUB_VIEWS)Clase especializada en la administración de las vistas para generar cubos.

Clase no editableClase dueña de la vista del cubo

Nombre requeridoNombre de la vista del cubo

Etiqueta requeridoDescripción del contenido de la vista del cubo.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 40: Manual Itris desarrollador Parte I

Inteligencia Aplicada

tas de grilla

Registro de clases locales (ITRIS_LOGCAHCED)Clase especializada en la administración de las tablas locales.INTEGRA utiliza de la base de datos un número considerable de tablas para realizar las operaciones habituales,como en todo sistema existen tablas que son necesarias para consultar en forma permanente debido a losconstantes cambios que sufren las mismas, y existen otras que su actualización no ocurre en forma tancotidiana.Son para estas últimas que se ha definido esta clase. En la misma se establece que se realice una copia de latabla en la maquina local y que se utilice la misma en lugar de acceder a la base de datos para consulta.

Nota: INTEGRA se encargará en forma automática de mantener la sincronización de las tablas locales con lasreales a los efectos que la información se mantenga actualizada en forma constante.

ClaseNombre de la clase que será manejada localmente.

Última actualizaciónFecha de última actualización de la clase

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 41: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Parámetros de INTEGRA (ITRIS_PARAMS)Clase encargada de almacenar los parámetros utilizados por INTEGRA.

Versión no editableVersión de la base de datos actual.

ColorColor utilizado en la base de datos actual.

Parámetros de IntegraRegistro de clases locales

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 42: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Como crear una clase

Para crear una clase de Integra se deberá acceder al menú de clases y atributos y acceder a la opción de agregar una nueva clase:

Figura 2 – Creando una nueva clase

Al presionar enter se visualizará la ventana vacía con el título Nueva_Clase por default

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 43: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Figura 3 – Ventana de nueva clases

A modo de ejemplo generaremos la clase ERP_PROVINCIAS: En el campo nombre colocamos el nombre de la clase en nuestro caso ERP_PROVINCIAS.En el campo etiqueta el nombre de la etiqueta que será visualizada Provincias.El tipo de objeto será una tabla (que será grabada automáticamente por INTEGRA con el mismo nombre de la clase dentro del motor de base de datos).

Figura 4 - Detalle de solapa datos en nueva clase ERP_PROVINCIASUna vez configurados estos parámetros pasamos a la solapa de persistencia en donde definiremos el identificador de la clase y el tratamiento que recibirá la misma.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 44: Manual Itris desarrollador Parte I

Inteligencia Aplicada

El identificador de nuestra clase será el campo ID y la misma será agregable, borrable y modificable.Por tratarse de una clase que será utilizada por varias personas no ponemos el tilde de no auditar dado que queremos realizar una auditoría de cambios.

NOTA: como puede observar el campo Tabla se dejó en blanco dado que por tratarse de un tipo de objeto tabla el nombre es impuesto por INTEGRA en forma automática.

Figura 5 – Detalle solapa persistencia en nueva clase ERP_PROVINCIAS

En la solapa de visualización definimos el tipo de vista al invocar al formulario (en nuestro caso grilla) y en el campo columnas 1 valor por defecto.

Figura 6 – Detalle de solapa visualización en nueva clase ERP_PROVINCIAS

Si se quiere cargar un icono en la siguiente solapa al apretar el botón secundario del mouse sobre cuadro del ícono aparecerá el menú emergente con la opción de load icon para cargarlo.Si desea en la solapa notas cargue una descripción de la funcionalidad de esta clase.

Figura 7 – Detalle de la solapa notas en la nueva clase ERP_PROVINCIASAsí se ha terminado de cargar el encabezado de la clase.Procedamos ahora a la carga de los atributos de la misma. Pulsamos la opción de agregar detalle y cargamos el detalle de la clase

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 45: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Los atributos de nuestra clase serán los siguientes Un campo ID con la etiqueta código del tipo entero de carácter obligatorio distinto de 0.Un campo Descripción con la misma etiqueta de 50 caracteres también obligatorio.Un campo país entero (relación con la tabla erp_paises) que genera una lista dinámica.El resto de los campos tiene un tratamiento similar a los anteriores.

Analizemos el campo ID: este campo será la PK de la tabla dado que fue agregado oportunamente en la cabecera como identificador (razón por la cual se tildo la casilla de requerido) tiene las restricciones propias de un campo del tipo PK mas la impuesta en la columna de restricciones que su valor debe ser mayor a 0 .En este caso no se optó por hacerlo autoincremental, pero se podría haber hecho colocando en la columna defecto la función ITSNEXTVALUE.

El campo descripción es del tipo caracteres y también es de obligatorio , tiene una longitud de 50 y un ancho de 30 (este ancho es para la parte visual , al llegar a los 30 caracteres desplazará el texto hasta el tope de 50).

El campo País es el más especial dado que el mismo utiliza una relación con otra tabla y genera una lista dinámica con dichos valores.Analizemos el mismo El nombre es FK_ERP_PAISES y la etiqueta pais, hasta ahí nada especial, luego de definir el tipo de campo como entero (dado que en ERP_PROVINCIAS se guarda el código de país) en tipo lógico se coloca relación y en atributo resultante lo que se quiere mostrar de la tabla relacionada, en nuestro caso el campo descripción con el texto del país.Como el objetivo es abrir un combo con los distintos países en tipo editor se coloca lista dinámica.

Figura 8a – Detalle de carga de atributos en la clase ERP_PROVINCIAS

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 46: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Figura 8b – Detalle de carga de atributos en la clase ERP_PROVINCIAS (continuación)

Esta es una explicación muy elemental de cómo crear una clase nueva , existen en el sistema numerosas clases que implementan la funcionalidad de INTEGRA, las mismas tienen como nombre ERP_???????? , obsérvelas y estúdielas para ver como se realizan los distintos tipos de controles.

La carga de los atributos de la clase (en el caso del tipo de objeto tabla) se puede realizar siguiendo los pasos descriptos anteriormente para el encabezado y luego efectuar una ingeniería reversa de la clase activa (con la tabla creada con antelación).

EventosEspecifica los eventos en los que se implementará funcionalidad específica.

Los eventos son mensajes internos que el sistema envía al motor de script integrado en la herramienta, estos permiten la ejecución de código Delphi-Script ante determinados acontecimientos que ocurren al operar el mismo.

Estos acontecimientos son los siguientes:

Al acceder: Se dispara el presente evento al acceder a una clase determinada.Al agregar Este evento se dispara al momento de agregar algún registro a la clase en

cuestión.Al cambiar Se dispara cuando se reemplaza un valor existente por otro. Al aceptar Se dispara cuando se presiona el botón de aceptar. Al grabar Se dispara al momento de culminar la grabación. Al cancelar Se dispara al momento de presionar el botón de cancelar.

Estos mensajes ocurren cíclicamente, al procesar registros en INTEGRA siempre son enviados al motor de script, el motor los procesa y omite o ejecuta el código asociado a cada evento.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 47: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Como agregar un evento

Para agregar un evento a una clase se deberá acceder al menú principal y dentro del mismo acceder a la opción de eventos.

Figura 9 – Agregando un nuevo evento

En la clase colocamos el nombre de la clase sobre la cual queremos ejecutar un evento, por ejemplo ERP_PROVINCIAS en nombre el nombre con el cual guardaremos el código, en tipo el tipo de evento por ejemplo, al grabar , y por último si lo deseamos activar o no .

El tilde de debuguear lo dejaremos sin marcar, el mismo lo trataremos mas adelante.

En la solapa código observaremos un memo con un botón, al presionar el mismo se abrirá el editor de script mostrando la siguiente ventana.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 48: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Figura 10 – Ventana del editor de script

Utilice Eventos para escribir el código (script) que se ejecutará ante determinados acontecimientos que ocurran en el sistema.

Descripción de circuitos

Debuguear un evento Para poder debuguear (seguir paso a paso) un evento se deberá:

Instalar un servidor de sockets. Configurar un cliente. Activar el evento para debuguear. Ejecutar la clase

Instalar un servidor y un clienteSolicite al administrador el instalador del servidor Integra y el instalador de Integra Terminal y realice una instalación local de ambos soft en la máquina donde se desea seguir paso a paso.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 49: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Nota: Para mas información acerca de los detalles de instalación, consulte el manual del administrador.

Configurar un clienteLuego se deberá configurar el cliente para que apunte al servidor antes instalado. Esto se puede realizar modificando del archivo .INI que esta en el directorio donde se encuentra el cliente de integra, la sección HOST. Especifique HOST=<nombre o IP del servidor>.

Nota: Para mas información acerca de los detalles de configuración, consulte el manual del administrador.

Activar el evento para debuguearPara esto, del proceso de eventos, marque Debuguear ?

Ejecutar la claseSeleccione la clase deseada, y realice la operación que dispara el evento. Se activara una ventana para seguir paso a paso. En esta ventana puede editar el código, y ver el comportamiento del mismo.

En la siguiente imagen se muestra el debugueador integrado siguiendo la ejecución de un evento.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 50: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Los eventos son puntos de ejecución del sistema, ante los que el desarrollador desea implementar alguna acción.

Cada evento declara un ambiente, en el que están disponibles variables y funciones. No todas las variables y funciones están disponibles para todos los eventos.

En la siguiente tabla se detallan algunas funciones de eventosNombre Descripción Detalle función o

procedimientoEventos

ItsRollBack Aborta la transacción, generando el mensaje de error especificado.

procedure ItsRollBack(aMessage: string)

Antes grabar

ItsFLCurValue Devuelve el valor actual del campo.

function ItsFLCurValue(aField:

Antes grabar

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 51: Manual Itris desarrollador Parte I

Inteligencia Aplicada

TField): variant

ItsFLAsFloat Devuelve el valor del campo forzado a double.

function ItsFLAsFloat(aField: TField): double

Antes grabar

ItsFLAsInteger Devuelve el valor del campo forzado a integer.

function ItsFLAsInteger(aField: TField): integer

Antes grabar

ItsFLAsString Devuelve el valor del campo forzado a string.

function ItsFLAsString(aField: TField): string

Antes grabar

ItsExecuteQuery Ejecuta una consulta SQL. Devuelve un variant o un array de variants con el/los campos pasados por parámetro. Los campos se deben pasar separados con ';'

function ItsExecuteQuery(Connection: TCustomConnection; CommandText: string; const FieldNames: string): variant

Antes grabar

ItsExecuteCommand Ejecuta un comando SQL

procedure ItsExecuteCommand(Connection: TCustomConnection; CommandText: string)

Antes grabar

ItsCreateDS Crea un dataset, con una consulta asociada al texto.

function ItsCreateDS(Connection: TCustomConnection; CommandText: string): TDataSet

Antes grabar

En la siguiente tabla se detallan las variables de eventosVariable Descripción EventosActClassName Clase sobre la que se esta disparando el evento.

Es string.Antes grabar

ActDBName Base de datos o empresa sobre la que se esta disparando el eventoEs string.

Antes grabar

ActUserName Usuario que esta disparando el evento. Antes grabar

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 52: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Es string.UpdateKind Tipo de actualización que se esta disparando.

Es TUpdateKind.

Nota: Para mas información acerca de TUpdateKind, vea el Anexo I.

Antes grabar

ActConn Conexión activa a la base de datos.Es TCustomConnection.

Nota: Para mas información acerca de TCustomConnection, vea el Anexo I.

Antes grabar

Delta Datos a ser grabados.Es TDataSet.

Nota: Para mas información acerca de TDataSet, vea el Anexo I.

Antes grabar

ClaseIndica la clase a la cual esta vinculado el evento.

Utilice Clase para especificar la clase en particular a la cual ese evento estará vinculado.

Nota: en caso de no especificarse una clase, el evento se ejecutará para todas las clases.

NombreIndica el nombre del evento

Utilice nombre para indicar cual será el nombre que tendrá el evento.

Nota: en caso de especificarse mas de un tipo evento para la misma clase, el orden de ejecución de los mismos será el nombre.

TipoIndica el tipo de evento.

Utilice Tipo para especificar a que tipo de evento particular esta asociado el evento de referencia.

Los valores posibles sonValor SignificadoAntes grabar Ejecuta el evento en el momento en que se acepta la grabación, y antes

que los datos sean grabados en la base de datos.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 53: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Nota: para mas detalles vea Eventos y Ámbitos

Tipo códigoIndica el tipo de lenguaje en el que esta escrito el evento.

Utilice Tipo código para especificar el lenguaje en el que se ha escrito el evento.

Los valores posibles son:Valor SignificadoPascal El evento esta escrito en PasScript.

Para mas detalles acerca de PasScript vea el Anexo I – PasScript.

CódigoContiene el código a ejecutar.

Utilice Código para escribir en su lenguaje de preferencia el código que se ejecutara ante un evento determinado.

Nota: para editar el texto de script consulta puede utilizar el Editor de Script.

Activo ?Indica si el evento esta activo.

Utilice Activo ? para habilitar o deshabilitar un evento en particular.

Debuguear ?Indica si que el evento se va a depurar dentro del Debugueador Integrado.

Utilice Debuguear ? para depurar paso a paso un evento en particular. Esta opción solo se toma en cuenta para servidores de sockets.

Nota: Algunos eventos se ejecutan en el servidor, por lo cual se deberá tener un servidor instalado localmente. Para mas información acerca de cómo debuguear, vea en circuitos, Debuguear un evento.Nota: en caso de desearse dejar un evento activo únicamente para debuguear, active Debuguear ? y desactive Activo ?

La siguiente imagen muestra el proceso de eventos, y el editor de scripts.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 54: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 55: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Acciones del menú

Como se ha descripto anteriormente la clase ITRIS_ACTIONS permite generar acciones que serán acopladas a los distintos al formulario correspondiente en forma de botones u opciones de menú.

Existen una serie de ellas que ya se encuentran activas en los distintos formularios a los efectos de agilizar la operatoria del sistema.

Las mismas se identifican con los siguientes botones que veremos a continuación

Ver la clase activa. Esta acción nos llevará en forma directa a la definición de la clase correspondiente dentro de ITRIS_CLASSES.Es equivalente a entrar al menú de clases y atributos y seleccionar la clase en cuestión.Por ejemplo si estoy parado en el formulario de empresas y presiono el botón de ver la clase activa, el sistema me llevará en forma automática a la clase la definición de la clase ERP_EMPRESAS dentro de la opción de clases y atributos.

Ver eventos de la clase activa. De forma similar a lo expresado anteriormente esta acción nos mostrará en forma automática los eventos de la clase donde nos hallamos.Siguiendo el ejemplo anterior nos mostrará todos los eventos de la clase ERP_EMPRESAS.

Ver acciones de la clase activa. Similar a los anteriores pero mostrando las acciones asociadas a dicha clase. Es equivalente a entrar al menú de acciones y colocar la clase en cuestión.

Reconstrucción de la clase: reconstruirá la estructura de la clase activa. Es equivalente a entrar al menú de reconstrucción general de clases y colocar la clase en cuestión.

Ver Grilla de la clase activa. Es el equivalente a entrar por la opción de menú correspondiente. Siguiendo con el ejemplo anterior equivale a entrar en el menú empresas.

Ver formulario de la clase activa. Funciona en forma similar al descripto anteriormente pero muestra el formulario en lugar de la grilla.

Actualizar el diccionario. Acción que actualiza el diccionario con las modificaciones correspondientes que se realizaran en las clases y atributos.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]

Page 56: Manual Itris desarrollador Parte I

Inteligencia Aplicada

Existen en el menú una serie de acciones adicionales que no poseen un botón asociado y que cambian según la clase en la cual uno se encuentre posicionado.Siguiendo con el ejemplo de la clase ERP_EMPRESAS en el menú de herramientas en el modo formulario se observan las correspondientes aperturas de cada una de las opciones que componen el detalle de la clase en cuestión.

Beruti 4583 Piso 5º, Ciudad de Buenos Aires, Argentina Tel/Fax +54 +11 4779-9200 [email protected]