You are on page 1of 22

RAD Plus (+) Documentacin oficial

Autores: Federico M. Bordon Sergio A. Pohlmann Doglas A. Dembogurski

Enero 2009 ycube.net 1

Indice
Prefacio.....................................................................................................................................................3
Sobre este manual.............................................................................................................................................3 Sobre la traduccin..........................................................................................................................................3

Parte I - Conceptos Bsicos......................................................................................................................3


Introduccin.....................................................................................................................................................3
Presentacin.......................................................................................................................................................................3 Objetivos............................................................................................................................................................................4 Caractersticas....................................................................................................................................................................4 Requerimientos..................................................................................................................................................................5 Licencia de Uso.................................................................................................................................................................5

Instalacin.........................................................................................................................................................6
Como Instalar.....................................................................................................................................................................6 Instalacin en el Cliente.....................................................................................................................................................7 Acceso Inicial....................................................................................................................................................................7

Presentacin del Sistema de Mens................................................................................................................7


Developer...........................................................................................................................................................................8 Men Plus (+)....................................................................................................................................................................8

Parte II Generando sistemas con el plus..............................................................................................8


- Permisos de acceso........................................................................................................................................8
Grupos................................................................................................................................................................................8 Usuarios.............................................................................................................................................................................8 Auditoria............................................................................................................................................................................8 Contraseas........................................................................................................................................................................9

Formularios......................................................................................................................................................9
La programacin Orientada a Formularios........................................................................................................................9 Propiedades de un Formulario...........................................................................................................................................9 Campos Contenido de un Formulario.............................................................................................................................9 Como el plus evala los formularios...............................................................................................................................10

Campos o Elementos de un Formulario .......................................................................................................11


Campos o Elementos.......................................................................................................................................................11 Propiedades de los campos..............................................................................................................................................11

Mens..............................................................................................................................................................11
Tipos de Mens................................................................................................................................................................11 Propiedades de los mens................................................................................................................................................11 Impresin de resultados de consultas y browsers............................................................................................................12

Base de Datos..................................................................................................................................................13
Introduccin.....................................................................................................................................................................13 Integridad referencial.......................................................................................................................................................13 Funciones y Procedimientos almacenados......................................................................................................................13 Log...................................................................................................................................................................................13

Reportes..........................................................................................................................................................14
Simples............................................................................................................................................................................14 Personalizados.................................................................................................................................................................18

Generar Documentacin................................................................................................................................18
Manual de Usuario...........................................................................................................................................................18 Diccionario de Datos.......................................................................................................................................................18 Documentacin Detallada................................................................................................................................................19 Exportar a DIA................................................................................................................................................................19

Parte III Referencia adicional............................................................................................................20


Funciones........................................................................................................................................................20 Compatibilidad con recursos externos..........................................................................................................21

Parte IV Recomendaciones.................................................................................................................21
Actualizaciones de versin.............................................................................................................................22 Consistencia de la Base de Datos...................................................................................................................22

Prefacio
Esta es la versin oficial de la documentacin del Plus RAD. Una herramienta destinada al desarrollo rpido de aplicaciones de gestin, multiplataforma, rpida y leve, que esperamos pueda ser parte de su "cinto de utilidades".

Sobre este manual


El presente material ha sido desarrollado con un atraso considerable debido a las personas ms involucradas en el desarrollo y/o mantenimiento del RAD Plus no siempre pueden dedicarse del todo a esta herramienta por falta de recursos. Pero aun as hicimos un gran esfuerzo para lograr un primer manual con lo mnimo necesario que les sirva de gua al desarrollador. Esto es lo que esperamos que encuentre en este manual: Una referencia rpida, fcil y concisa. Si usted quiere contribuir con la documentacin, enve su crtica o sugerencia, para feedback@ycube.net o info@ycube.net , que la misma ser muy bien recibida. Saludos, ... Vida larga y Prosperidad... Srgio A. Pohlmann

Sobre la traduccin
Originalmente, este manual fue escrito en portugus, en virtud de ser la lengua nativa del autor, y, evidentemente, las palabras fluyen mas fcilmente, cuando se esta escribiendo en su idioma natal. Sin embargo, la estructura del programa esta preparada para aceptar traducciones para cualquier otro idioma. Si usted desea contribuir con la traduccin del todo o parte del presente material, sea bienvenido, y manos a la obra... El autor se encuentra fuera de Brasil ya hace muchos aos, y su portugus ya no es el mismo. Correcciones ortogrficas tambin sern muy apreciadas :)

Parte I - Conceptos Bsicos


Esta seccin define algunos conceptos bsicos que permiten al usuario familiarizarse con la herramienta.

Introduccin
Presentacin
El plus es una herramienta de desarrollo RAD (Rapid Aplication Development- Desarrollo rpido de aplicaciones), gratis para el desarrollador (open source), que posee caractersticas muy interesantes para facilitar el desarrollo y uso del software en intranets y hasta en Internet. Su finalidad es la de permitir el desarrollo rpido de aplicaciones comerciales, cuidando que el desarrollador se enfoque mas con el contenido y con la idea de su sistema, antes que de detalles

cansativos, como la conexin a base de datos, el desarrollo de manuales, validacin de campos, RPCs, impresiones, etc.

Objetivos
Fue desarrollado a partir de un antiguo sueo de su programador, Srgio Antnio Pohlmann, de desarrollar una herramienta eficiente, que realmente facilitara la vida de los programadores, y suplantase algunas dificultades "eternas" en el rea de desarrollo de sistemas: Tiempo - Gran parte de los programadores terminan por no conseguir cumplir con el tiempo estimado para el desarrollo, debido a que la estructura real del sistema que esta desarrollando normalmente no esta bien definida al inicio del proceso, que es una regla, cuando el programador define su presupuesto, y su tiempo de desarrollo. Para esto, el plus permite un cambio rpido y eficiente de la estructura bsica del sistema en desarrollo, siendo orientado a formularios, concepto muy poco usado en la actualidad, pero que facilita bastante de manera abstracta durante el proceso de todo. Base de Datos - Un problema adicional acostumbra a ser el acceso a base de datos. Dependiendo del lenguaje utilizado (y de la base de datos, obviamente), la conexin puede ser uno de los grandes dolores de cabeza del programador. El plus abstrae en gran medida el proceso de conexin a la base de datos, permitiendo al programador centrarse en la aplicacin en si. Seguridad - Sea en cuestin de seguridad externa, como en el propio control de usuarios, el tem seguridad acostumbra a ofrecer un desafo relativamente in transponible al desarrollador de una aplicacin comercial. Utilizando la herramienta aqu descripta, la cuestin de control de usuarios se restringe a determinaciones de (relaciones de confianza) entre usuarios, grupos, y formularios, haciendo el control efectivo de accesos, mens, auditoria, etc., queda a cargo del propio plus.

Caractersticas
El concepto completo del RAD Plus es bastante complejo. Seria muy difcil y tedioso explicar, en una simple introduccin, todas sus caractersticas. Para esta explicacin (funcionamiento interno, conceptos ms profundos, etc.), estamos preparando artculos adecuados, como ejemplos ms profundos y prcticos. De cualquier forma, para dar una idea de su funcionamiento, citamos aqu algunas de sus principales caractersticas: Acepta como servidor, cualquier Sistema Operativo que acepte trabajar con PHP (*), Apache (*) e MySQL (*). Evidentemente, esto incluye Windows (*), Linux (*), e MAC OS X (*). Instalacin rpida en el servidor (solo descomprimir) y en el cliente (solo es necesario tener un Firefox (*) instalado). Compatibilidad total con clientes Windows (*), Linux (*), y MAC OS X (*). Muy rpido y leve. Funciona en modo aplicacin y en modo navegador. Posee un poderoso sistema de control de accesos, utilizando permisos de accesos por grupos y por usuarios. Log interno para rastros de auditoria. Poderoso generador de mens, con generacin muy rpida, fcil e intuitiva. Mens sensibles a permisos de usuarios.

Desarrollo con orientacin a formularios, de forma simple, sin exigir un profundo conocimiento de programacin. Sistema transaccional transparente. Con soporte de integridad referencial a nivel de aplicacin (no son necesarias las definiciones en la base de datos). Soporta Procedimientos almacenados y funciones. Consistencia automtica de la base de datos.

o Generador de reportes simplificado, que permite generar reportes de forma muy rpida, adems de permitir (para los que desean profundizarse), alteraciones a nivel de programacin en PHP (*), CSS y HTML.

Estructura Bsica del Plus

Requerimientos
Como Servidor, una PC compatible con la arquitectura IBM-PC, Macintosh, RISC, u otra cuyo sistema operativo acepte trabajar con PHP, Apache y MySQL (versin 5), que posea un mnimo de 128 Mb de memoria RAM, espacio libre en disco duro de 2Mb, y una velocidad mnima de 200 MHz. Eso incluye, obviamente Windows, Linux, y MAC OS X. No! No has ledo mal: Los requerimientos son realmente muy modestos! Como cliente, cualquier computador capaz de ejecutar un Firefox o cualquier otro navegador con motor Gecko

Licencia de Uso
El plus, desde la versin 1.2, posee una licencia Open Source. Todos los derechos de autor de la herramienta pertenecen a su desarrollador, Srgio Antnio Pohlmann, y el listado completo del sistema, as como el reconocimiento de los derechos autorales se encuentran debidamente registrados. 5

El uso del programa est permitido para fines comerciales o no, sin restricciones de uso, desde que este no sufra ninguna alteracin en su estructura. El programa es otorgado de forma gratuita, sin ninguna garanta de cualquier naturaleza. El autor no se responsabiliza por el funcionamiento del programa, daos causados, prejuicios cualesquiera. La nica responsabilidad asumida en cuanto a cualquier riesgo, en la instalacin de esta herramienta, es la del usuario final, que acepta todos los riesgos y posibles daos. La licencia utilizada es la Creative Commons, basada en GPL Version 2. Um resumen de Creative Commons, licena GPL Completa, puede encontrase en la pgina oficial do projeto GNU / GPL.

Instalacin
Plus funciona siempre en una configuracin cliente/servidor/Web. Quiere decir que es necesario definir donde el sistema y los servicios (servidor de base de datos, de PHP y Web) estarn instalados, y donde van a funcionar el/los cliente/s.

Como Instalar
Requisitos DEBEN estar instalados: - Un servidor WEB (apache o alguno equivalente) - PHP versin 4 o superior - MySql versin 5 o superior - El instalador del Plus En Windows, es ms fcil, si no se dispone de prctica en la instalacin de estos servidores (los tres primeros de la lista), puede utilizar un instalador estndar, como Xampp, Wamp 5 o Easyphp (entre otros). Verifique la pgina del instalador escogido, como bajar e instalar el mismo. El instalador del Plus consiste en un archivo compreso, que puede ser bajado de la pgina oficial del grupo de desarrollo (seccin archivos) http://groups.google.com.py/group/desarrollo_plus_rad?hl=es Para instalar el Rad Plus debe descomprimir el archivo y colocarlo en su carpeta en el servidor. Generalmente esta carpeta se llama htdocs o www A continuacin debe crear un usuario en la base de datos 1- Abra su navegador Mozilla Firefox entre la versin 1.5 o 2.xx 2- Debe crear un usuario llamado "plus" con contrasea "case" para ello haga lo Sgte. 2.1 - Instalacin: Si tiene PhpMyAdmin 2.1.1- Abra un navegador cualquiera y ponga en la url "http://localhost/phpmyadmin/" Aparecer la interfaz del Administrador de base de datos PhpMyAdmin. 2.1.2- Haga clic en Privilegios --> Agregar nuevo usuario 2.1.3- En el campo Nombre de usuario escriba plus. 2.1.4- En el campo Servidor djelo en blanco. 2.1.5- En el campo Contrasea ponga case y en el siguiente campo vuelva a escribir 6

case. 2.1.6- Despus en Privilegios globales seleccione Marcar todos/as y haga clic en el Botn continuar.

Instalacin en el Cliente
Rad Plus funciona con cualquier navegador con motor Gecko as como Mozilla Firefox 2 (Recomendado), Wyzo u otros.

Acceso Inicial
Como en la sig. Imagen basta con poner en la url del navegador lo siguiente http://localhost/plus/plus.php con eso basta.

Le aparecer la ventana de login

Ponga en Username : Developer Password : plus

Presentacin del Sistema de Mens

Developer

Men Plus (+)

Parte II Generando sistemas con el plus


Determina criterios y sugerencias para la generacin de sistemas a partir de la herramienta Plus RAD.

- Permisos de acceso
Trustee: Significa o viene de Fideicomiso (Nivel de confianza) que todo sistema debe tener RAD Plus provee un poderoso sistema de niveles de acceso permitiendo una implementacin fcil y rpida y confiable basada en los principios de NOVELL un sistema totalmente binario creado en la dcada de los 80. Permite asignar permisos tanto a nivel de grupos de usuarios por cada tem de un formulario adems de los mens.

Grupos
RAD Plus viene con formulario de ABM de grupos por defecto en el Men Developer cada grupo puede tener diferentes permisos o Trustees unos por encima o debajo del otro por lo que se recomienda al empezar un proyecto empezar por crear los grupos basndose en el organigrama de la empresa en cuestin, esto no quiere decir que despus no se pueda modificar simplemente por comodidad al desarrollar formularios en el futuro.

Usuarios
Una vez que hayamos creado los grupos podemos agregar usuarios del sistema acordmonos que al asignar como Developer a un usuario este poseer todos los Trustees algo como el root de un S.O. Linux MacOSx.

Auditoria
Por defecto RAD Plus cuenta con un sistema poderoso de logs de auditoria tanto as que loguea inclusive en el momento de desarrollarse un sistema, Pero por que es importante esto? Considere un desarrollador novato que se equivoca en una consulta. El Project Leader experto filtra los logs y verifica rpidamente cual ha sido el error del novato. Aparte de solo loguear se puede acceder a los logs con un formulario de filtros propio en donde se puede filtrar por el usuario, fecha u hora accin etc. etc.

Contraseas
Por supuesto que al crear usuarios se le debe asignar una contrasea para que pueda entrar al sistema y adems el usuario perteneciente al grupo de Developer siempre podr acceder a las contraseas de todos los usuarios.

Formularios
La programacin Orientada a Formularios
La programacin orientada a formularios es una nueva forma de programacin que se basa en englobar todo tipo de aspecto o problema a resolver por medio de formularios, cada formulario puede tener tems de varios tipos con sus respectivas propiedades as como el formulario mismo. Cada formulario puede vincularse y/o manipular una tabla en la base de datos, verificar campos, consistencia, etc.

Propiedades de un Formulario
Mas adelante explicaremos en detalle las propiedades de un formulario mientras tanto mostraremos como crear formularios con esta herramienta. En el men Developer Formularios acceder a la lista tipo Browse de todos los formularios si es que los tiene es bsicamente un ABM de formularios en donde puede seleccionar, crear modificar o borrar formularios, vea la siguiente imagen para mas detalles de cmo se vera esta lista.

Campos Contenido de un Formulario


A cada Formulario se le puede agregar o quitar componentes (Campos o tems) es importante resaltar que cada campo tiene a su vez una serie de propiedades entre las cuales la mas importante es la de ignorar, tildada esta significara que no generara un campo en la tabla de la base de datos, cada formulario esta relacionado a una tabla de la base de datos pero no quiere decir que todos los campos o tems agregados a nuestro formulario existan realmente en la tabla de la base de datos. Vea la Sgte. Imagen para tener una idea de cmo se vera un formulario con sus tems.

Haciendo clic en propiedades de un formulario tenemos

Como el plus evala los formularios


El plus evala cada formulario con sus propias funciones internas (funciones javascript), cada formulario tiene definidas algunas funciones que siempre estn pendientes de cambios y se evalan adems de estas se le agregan las que el desarrollador agrega a un formulario tales como formulas o simplemente cuando se define un campo como requerido en este caso si el campo no esta relleno 10

automticamente se bloqueara el botn insert debido a que la evaluacin de allValid() (una de las funciones internas del plus) es false.

Campos o Elementos de un Formulario


Campos o Elementos
Cada formulario puede tener n cantidad de campos estos campos pueden ser de tipo: 12345678text : campo de tipo texto select_list : lista de seleccin o combo dynamic_select_list: combo o lista de seleccin dinmica subform: un elemento que apunta a otro formulario prefabricado formula: un campo que evala formulas o funciones javascript date: campo de tipo fecha report: un botn que llama a un reporte prefabricado proc: un botn que ejecuta un SQL, funcin o procedimiento almacenado.

Cada uno de estos campos pueden existir o no en la tabla de la base de datos a la cual apunta el formulario exepto los subforms, reports y proc, no deben existir nunca y deben ser marcados como ignorar, por que el plus todava no lo hace automticamente.

Propiedades de los campos


A continuacin describiremos de la manera mas detallada posible las propiedades que se pueden definir en cada elemento:

Mens
Tipos de Mens
El plus cuenta con tres tipos de mens: headers, mens (dependientes de los headers) y submens (dependientes de los mens)

Propiedades de los mens


Lo ms importante en las propiedades de los mens son: Tipo: Header, men o submenu. En caso de que sea men o submen tendr Relacin: Con un men o un header que debe seleccionarse. Operacin: Link: Filtro: Grupo: 1_Browse si es que el formulario se abrir en forma de lista de datos o 20_Consult si el formulario se abrir en forma de consulta Debe seleccionarse con que formulario ira relacionado el men Si se desea agregar un filtro Quienes tendrn acceso a este men, puede haber mas de uno

11

Impresin de resultados de consultas y browsers


Ejemplo de un formulario para hacer consultas

Al presionar sobre consultar en formularios de consulta lanza siempre a un formulario de tipo browse, un formulario tipo browse se ve como en la Sgte. Imagen y todos cuentan con unas propiedades definidas algunas bastante tiles como la de imprimir vista actual ahorrndonos a los desarrolladores a hacer reportes para imprimir.

12

Base de Datos
Introduccin Integridad referencial
RAD Plus maneja la integridad referencial a nivel de aplicacin no teniendo que preocuparse por claves primarias, claves forneas, etc. Estos se pueden definir en el men DeveloperBase de Datos Integridad Referencial.

Funciones y Procedimientos almacenados


Para simplificar la programacin de funciones y procedimientos almacenados se cuenta con una interfaz o ABM de funciones en donde se pueden crear funciones y el plus se encarga del manejo de la base de datos, esto simplifica el mantenimiento local o remoto ya que no es necesario interactuar directamente con la base para acceder a las funciones, sino a travs de esta interfaz misma disponible todo el tiempo.

Log
Todas las consultas SQL de tipo DLL y/o DML como select, insert, etc. Son logueadas en un archivo llamado plus_sql.log en el directorio log dentro de la carpeta plus, con el fin de dar seguimiento tanto en el desarrollo como en el mantenimiento de un sistema, tambin sirve como rastros de auditoria. Este

13

log puede ser activado/desactivado en el men Developer Base de datos Activar log / Desactivar log.

Reportes
Simples
Reglas de sintaxis Acurdese de que el motor que procesa formularios de reportes es diferente del motor de formularios de datos. Por ese motivo, debemos observar los siguientes puntos:

No todas las variables y operaciones estn presentes. Vea el tpico destinado a variables, para ms informaciones. La sintaxis de concatenacin cambia. En formularios de datos solimos utilizar el signo ms (+) para concatenar elementos o strings. Ahora, la concatenacin pasa a ser representada por el signo punto (.).

Variables internas En el proceso de diseo de reportes se puede utilizar libremente un conjunto de variables muy parecido con el que se utiliza en formularios. De hecho, algunas variables de formulario se pueden utilizar de forma directa o incluso, de forma ms simplificada, en reportes. Dentro del formulario de reportes: el['elemento'] En los formularios de reportes, se pueden utilizar las mismas variables de elementos que antes fueron utilizadas en los formularios de datos. Como los datos ya existen, y no pueden ser alterados por el sistema de reportes, los mtodos get(), getStr(), getVal(), getDate() son automticamente substituidos por la referencia directa del elemento, sin la necesidad de especificar el mtodo. Para ser ms claro, es lo mismo, especificar: el['nombre'].get() que el['nombre'] Observacin:

Cundo usado como validacin de un campo, o como parte de un query para una consulta SQL, siempre devuelve el resultado envuelto entre comillas simples. Cundo se trata de un campo de una tabla, es decir, el resultante de una consulta, no presenta las comillas. Para mantener compatibilidad retroactiva con versiones antiguas, todava se soporta las variables sup_elemento. Estas variables traen el contenido del elemento, pero no presentan comillas.

old['elemento'] Cundo se hace el procesamiento de cada fila del reporte, los valores de los elementos de la fila se almacenan en un arreglo de elementos old[]. Pueden ser accedidos de forma directa, y siempre representan el valor del elemento referenciado 14

Ejemplo: La siguiente condicin: el['valor']<old['valor'] Verifica si el elemento 'valor' de la fila actual (a ser impresa) es menor que el elemento 'valor' de la lnea anterior (ya impresa).

endConsult Retorna true si la consulta efectuada ya no tiene ms ninguna fila de respuesta. firstRow Retorna true si esa es la primera fila resultante de una consulta.. p_user Retorna el nombre del usuario actual. p_user_ Iden a p_user pero con el nombre del usuario entre comillas (usado normalmente para consultas SQL). thisDate La fecha actual, en el formato dd-mm-aaaa. thisDate_ Iden a thisDate pero con el resultado entre comillas (usado normalmente para consultas SQL). thisTime La hora actual, en el formato hh:mm. thisTime_ Iden a thisTime pero con el resultado entre comillas (usado normalmente para consultas SQL).

Campos del formulario de Reportes:


Como anteriormente mencionado, existen algunas diferencias en cunto a algunas funcionalidades, entre un formulario de reportes y un formulario convencional de datos. Propiedades: Los campos de propiedades de un reporte estn citados a continuacin:

Nombre El nombre de referencia interno del reporte. No debe contener espacios, acentos o caracteres especiales.

15

Alias El nombre pblico del reporte. Puede contener espacios y otros caracteres.

Documentacin La descripcin del reporte, que aparecer en la documentacin oficial del proyecto generado.

Help El contenido de ayuda que constar en el manual del usuario y en helps sensibles al contexto.

Query La consulta SQL a ser formulada para generar el reporte. Permite un formato parecido con el formato de las queryes de formularios convencionales, pero con algunas pequeas diferencias que hay que observar. Vea ms detalles en Reglas de sintaxis.

Rehacer prg Cundo habilitado, fuerza la reconstruccin del mdulo de programa responsable por el reporte actualmente editado. CUIDADO: Al rehacer el programa, cualquier alteracin manual de este ser definitivamente borrada.

Rehacer tpl Cundo habilitado, fuerza la reconstruccin del mdulo de template responsable por el reporte actualmente editado. CUIDADO: Al rehacer el template, cualquier alteracin manual de este ser definitivamente borrada.

Incluir totales Permite acceder a los datos de inclusin de totales y subtotales para el reporte

Prevalidar subtotales Los subtotales normalmente son validados (verificacin de la condicin) y sumados (caso se cumpla la condicin) despus de la impresin de la lnea actual. En el caso de que esa casilla est habilitada, la validacin se dar antes de la impresin de la lnea corriente. Eso permite impedir condicionalmente la subtotalizacin de algunos datos. 16

Condicin para subtotales La especificacin de la condicin para que se imprima una lnea de subtotales. En el momento en que se imprime la lnea de subtotales, todos los campos de subtotal son reseteados, volviendo su valor a cero (0) para permitir los clculos para el prximo subtotal.

Campos con subtotal La relacin de los campos que deben ser calculados para subtotales. Observe que los campos deben ser separados por coma, y deben ser directamente relacionados con el header de la columna correspondiente. Ejemplo: Si tenemos una consulta tipo: 'SELECT codigo, nombre, val_comp AS valor FROM compras' Los campos realmente considerados son: codigo, nombre y valor. El tercer campo recibe el nombre del alias (valor), y no el nombre original del campo (val_comp).

Decimales Nmero de posiciones decimales de la columna. No solamente la fila que contendr el subtotal ser alterada, sino toda la columna del dato.

Condicin para totales Permite estipular una condicin para que el total sea impreso al final del reporte

Campos con total La relacin de los campos que deben ser calculados para el total. Observe que los campos deben ser separados por coma, y deben ser directamente relacionados con el header de la columna correspondiente. Observe el comentario a cerca de los campos con subtotales

Decimales Nmero de posiciones decimales de la columna. No solamente la fila que contendr el total ser alterada, sino toda la columna del dato.

Procedure final Define una consulta SQL que ser efectuada tan pronto el formulario de reportes termine de armar el reporte solicitado por el usuario. Permite actualizaciones de campos relacionados con la impresin. 17

Obedece las mismas reglas que el campo de Query.

Personalizados
Una vez que nuestra consulta este perfecta se debe ir a propiedades de nuestro reporte y desmarcar las opciones Rehacer prg y Rehacer tpl. Luego dentro del directorio project/nuestro_proyecto/reports/config/ , se puede encontrar los templates recientemente creados de nuestro reporte. Editando ambos archivos el .prg y el .tpl podemos personalizar nuestro reporte en el .prg podemos utilizar programacin en PHP para obtener i/o setear variables etc. Tambin puede utilizar funciones internas del plus com extense( $value=0, $type=0, $upper=1) o exDate( $date ) etc. Como ejemplo la primera convierte un numero en letras ej: 250.000 = DOSCIENTOS CINCUENTA MIL y la segunda recibe una fecha y la pasa a letras. En cambio en el .tpl podemos utilizar html, css y javascript para personalizar la vista del reporte una javascript muy utilizada en los .tpls es la siguiente al final del archivos <script> self::print() </script> Esto mostrara automticamente el dialog de impresin en el momento de previsualizar el reporte sin necesidad de presionar Ctrl. + p

Generar Documentacin
Manual de Usuario
El plus genera el Manual de usuario siempre actualizado para cada usuario considerando niveles de acceso y siempre se genera On the fly o sea en el momento en que se le pide. Por lo tanto la informacin en el manual esta siempre actualizada.

Diccionario de Datos

18

dem al manual de usuario tambin se puede generar On the fly el diccionario de datos con la informacin detallada de las tablas, campos, etc. Muy til y algunas veces obligatoria en las empresas requerida por algunas leyes del Pas.

Documentacin Detallada
falta_aqu_completar();

Exportar a DIA
La mayora de los arquitectos e ingenieros de software acostumbran a empezar un proyecto post anlisis con un diagrama DER o mas conocido como Diagrama de Entidad Relacional, como en la filosofa del Plus es desarrollar mas rpido eliminando algunos pasos y como el mismo Plus se encarga de generar la base y de la integridad no siempre es necesario empezar por un DER por lo que proyectos sencillos simplemente los desarrollamos sin preocuparnos por los DERs, aun as se cuenta con una opcin para generar un DER en caso de que se desee analizar la estructura de la base para correcciones etc. Un mini ejemplo se muestra en la Sgte. Imagen.

19

Parte III Referencia adicional


Funciones
A continuacin se presenta una lista de funciones mas importantes que el Plus trae por defecto estas funciones pueden ser utilizadas tanto en formulas como en consultas la mayora de ellas en la forma nombre_campo.funcion() en las consultas se deben poner de la siguiente manera como Ej.: select fullname from clientes where fullname like +cambo_busqueda.getStr() o de la siguiente manera considere que las dobles comillas en el plus es |{ para abrir y para cerrar }| select fullname from clientes where fullname like |{+cambo_busqueda.get()+%}| las consultas en Rad Plus van entre dos comillas simples siempre, estas funciones tambin se pueden utilizar en los campos llamados Filtro en las propiedades de un tem.

Funcion get() getStr() getVal() getDate() getDay() getMonth() getYear() thisDate_ length() empty() notEmpty() notSearch() hasChanged() onChange() forceFocus( name) goBack()

Descripcin Obtiene el valor de un campo Obtiene el valor de un campo entre dos comillas (String) Devuelve el valor en formato numrico, 0 si hay error. Puede devolver un entero como un float o double Extrae la fecha de un campo en formato dd-mm-aaaa. Ejemplo: campo.getDate() Extrae el da de un campo de tipo Date Extrae el mes de un campo de tipo Date Extrae el ao de un campo de tipo Date Pone la fecha actual, se usa en formulas o en la propiedad por defecto de un campo Devuelve la longitud del contenido de un campo de cualquier tipo de dato. Devuelve true si el campo esta vacio de lo contrario devuelve false Devuelve true si el campo no esta vacio de lo contrario devuelve false Devuelve true si el campo no es un campo de bsqueda Devuelve true cuando el contenido de un campo ha cambiado Devuelve true cada vez que el contenido va cambiando Mueve el cursor al campo indicado Vuelve hacia atrs, cierra el formulario actual, se usa en un campo de tipo formula 20

forceInsert() error ( text, time ) diffDate( first, second ) sumDays( first, days) sumMonths( first, months ) db( variable ) setValue( variable, value ) disableAcceptButton() enableAcceptButton() disableInsConsButton() enableInsConsButton() disableBackButton() enableBackButton() enableMessageButton( mes sage, time ) disableMessageButton( me ssage ) disableChangeButton() enableChangeButton() disableDeleteButton() enableDeleteButton()

Fuerza la insercin de los campos actuales en la base de datos, se usa en un campo de tipo formula Muestra un mensaje durante el tiempo indicado, tambin se usa en un campo de tipo formula Obtiene la diferencia entre dos fechas, devuelve un entero equivalente a los das Suma dos fechas Suma dos meses Extrae el valor del campo de una consulta realizada con anterioridad en otro campo, se usa en formulas Setea un valor a un campo dado Deshabilita el botn aceptar o insertar en un formulario Habilita el botn aceptar o insertar en un formulario Deshabilita el botn insertar en un formulario de consulta Habilita el botn insertar en un formulario de consulta Deshabilita el botn volver en un formulario Habilita el botn volver en un formulario Habilita el botn de mensajes por el tiempo indicado en milisegundos con el mensaje dado Habilita el botn de mensajes Deshabilita el botn modificar Habilita el botn modificar Deshabilita el botn borrar Habilita el botn borrar

Compatibilidad con recursos externos


Por su puesto que para los programadores excautivos que desean hacer sus propias funciones o utilizar sus propias libreras o bibliotecas que acostumbra utilizar les ofrece total compatibilidad con libreras javascript o php utilizadas en los lugares debidos claro esta. En si mismo el Plus utiliza pocas bibliotecas externas pero una de ellas es la encargada de generacin de documentacin en PDF conocida como fpdf.

Parte IV Recomendaciones
1- Suele suceder que cuando un usuario inexperto empieza a desarrollar un programa lo hace directamente enfocndose en los formularios y ventanas que el consumidor final utilizara esto no esta mal pero es recomendable que empiece por disear el organigrama de la empresa en la que se implementara el sistema e inmediatamente insertar en el proyecto dichos niveles Truestees o grupos de usuarios, por que es importante esto? Por que a medida que se van desarrollando formularios cada tem del formulario puede ser sensible a grupos de usuarios etc. En cambio si primero se desarrolla el formulario tal vez despus de establecer el organigrama de la empresa tenga que perder un poco de tiempo en modificar los formularios otra vez, si no tiene acceso al organigrama de la empresa cree unos por defecto y cuando los tenga modifique solamente sus nombres. 2- En el caso de que haga modificaciones en su estacin de trabajo y el sistema ya esta corriendo en un servidor tenga en cuenta en el momento de actualizar en el servidor que debe forzar a una actualizacin para mantener consistencia de la base de datos en su maquina local en el momento de las modificaciones el Plus ya hace los cambios necesarios pero cuando se actualiza un servidor aun la base de datos no es consistente por lo que basta con ir al Menu DeveloperBase de Datos Forzar actualizacion a continuacin cierre su cesin y vuelva a loguearse notara que dice Actualizando Base de datos favor espere esto puede tardar unos minutos si su base de datos es demasiado grande o unos segundos si su proyecto es pequeo. 3- Tenga en cuenta que las codificaciones de base de datos de un sistema operativo y otro a veces son diferentes por ende si su el S.O. de sus estacin de desarrollo no es igual al servidor en donde corre su sistema las contraseas pueden diferir en la codificacin que quiere decir esto? 21

Quiere decir que si actualiza su proyecto en su estacin de desarrollo con la que esta en el servidor puede las contraseas sean diferentes y no pueda entrar al sistema, para solucionar esto abra su programa gestor de base de datos preferido o consola y borre el usuario Developer de la tabla p_users y vuelva a loguearse el Plus creara otro automticamente con la contrasea plus si lo prefiere puede volver a cambiar la contrasea en el men +

Actualizaciones de versin
Para hacer una actualizacin de versin copie el contenido de la nueva versin que esta dentro de plus y remplace por la que esta en el directorio htdocs tenga cuidado no remplazar la carpeta project ya que esta tiene su/s proyecto/s Cuales son los cuidados que se deben tener al hacer una actualizacin de versin. Cache del firefox : En algunos casos particulares despus de una actualizacin de versin sucede que el navegador deja cacheado ciertos valores para agilizar la carga de la pagina en este caso suele suceder que no aparecen algunos elementos por lo que basta para solucionar el problema con darle Ctrl+ Shift + Supr encima del navegador y borrar todos los datos cache, historial etc., luego presionar F5 o recargar la pagina y listo ya tiene todo normalmente funcionando.

Consistencia de la Base de Datos


UD. No tiene que preocuparse por la consistencia de la base de datos para ellos la longitud de los campos, tipos de datos etc. Todo es verificado en el momento de una verificacin en caso de que tenga dudas sobre la integridad puede forzar una actualizacin en el men DeveloperBase de DatosForzar Actualizacin prximamente volver a loguearse para que el Plus empiece a verificar la consistencia, esta verificacin es logueda en un archivo /log/plus_sql.log si es usuario de Linux puede usar tail f plus_sql.log para ver las verificaciones de consistencia. Ademas de la verificacin anterior citada cada vez que se modifica las propiedades de un formulario y/o tem de un formulario se realiza la verificacin de consistencia para dicha tabla relacionada con el formulario.

22