RAD Ayuda. Generación de Módulo de gestión de tabla.
Aspecto:
Es el fichero que contiene las descripciones de los tipos de letra, formatos de tablas (edición, listado, menu, cabecera) y los colores de la página.

Base de Datos:
Nombre de la base de datos SQL.

Tabla:
Nombre de la tabla a gestionar, contenida en la base de datos anterior.

Módulo:
Es un programa PHP que realiza un proceso completo. Se declara en la tabla de Mólos de RAD y puede ser accesible desde el menu.
Este programa puede ser desarrollado con un editor de forma manual (Módulo Manual) o con el generador de módulos de RAD (Módulo Automático) para administrar una tabla de datos.
Los Módulo Automáticos generados con RAD gestionan una tabla de datos y permiten agregarles nuevas funciones/procesos y datos de otras tablas. La mayor parte de conceptos definidos posteriormente son aplicables a este tipo de módulos. Una aplicación web compleja puede construirse casi al 100% con módulos de este tipo.
Los Módulos Manuales pueden contener cualquier proceso que el programador desee realizar e integrarse dentro de RAD para formar una gran aplicación. Habitualmente este tipo de módulos son informes, mapas, cuadros de mando, ... Para integrarse en RAD debe contener una linea de cabecera (include("header.php");) y una de pie (include("footer.php");).
Habitualmente, una gran aplicación web se compone de un 95% de módulos automáticos y un 5% de manuales.


Opciones: (Backup, Browse, Detail, Search, Print, New, Edit, Delete, Jump)
Indica si se permite hacer copia de datos, listar, ver un detalle de registro, buscar, imprimir, crear, editar, borrar y/o saltar registros de la tabla. Si no se permite ver el detalle, pero sí editar, desde la pantalla del listado se pasa a la edición del registro sin pasar por la de detalle.

Filto de Tabla (por defecto):
Filtro que se aplicará en las operaciones de listado y gestión de la tabla. Contiene la cláusula where SQL con las columnas de la tabla y valores (no se debe poner la palabra where). Ejemplo: codprovincia = '15' or codmunicipio LIKE '15%'

Página:
Nombre de la página PHP que se va a generar y la que se debe invocar para gestionar la tabla. No se le debe poner la extensión.
En el directorio debería existir una denominada "index", que sea la que inicie la aplicación. Para ello es aconsejable elegir la tabla principal, para que se muestre al iniciar la aplicación.

Título de página:
Título de la ventana donde se ejecuta la página.

Directorio:
Nombre del subdirectorio donde se grabarán los modulos.

Max. Filas Listado:
Número de registros que se presentarán en el listado (browse).

Campo(s) Clave:
Este módulo asume que la tabla tiene uno o varios campos clave (índices primarios). Los nombres de estos campos se deben poner separados por comas. Muchas tablas usan como índice primario un campo autoincremental.
Si la tabla no tiene índices primarios se utilizarán todos los campos como clave (de esta forma se asegura la unicidad de un registro).

Nivel de Seguridad:
Seleccione el Nivel de Seguridad deseado: sin control de usuario (cualquiera puede operar con el módulo), con Control por Usuario (solicita código de usuario y clave antes de comenzar a operar con el módulo), y Control por Usuario y Tabla (control anterior, y verifica tabla de usuarios y tablas -ACL-).
Para poder utilizar Control de Usuario se debe modificar el módulo "RAD_login.php" que es el que contiene la validación del usuario o usuario y tabla. Normalmente este usuario se valida contra una tabla de la misma base de datos. Esta tabla de usuario debe guardar el código de usuario y su clave, y opcionalmente las tablas o modulos a los que este usuario tiene acceso (ACL).

Funcion Primera:
Tipo de función que se ejecuta al entrar al módulo: Consulta General, Detalle de Registro, Búsqueda, Listado, Nuevo Registro, Edita Registro, Borra Registro. Por defecto es la Consulta General.

Graba Log de comandos SQL?:
Márquese para grabar en el fichero Log.sql todos los comandos SQL que ejecutan los usuarios sobre la tabla desde este módulo. Desde este fichero se puede recontruir toda la historia de la tabla, y la situación final.

TABLA DE COLUMNAS O CAMPOS
Esta tabla contiene cada una las campos (o seudocampo) de la tabla a gestionar por este módulo. A cada una de estas columnas se les debe definir las propiedades que se detallan a continuación.

Orden:
Número de órden por el que aparece una columna en el módulo. Sólo es necesario rellenarlo en caso de querer cambiar el órden en el que aparece actualmente, y además solo es necesario rellenar el órden de los que cambian.

Título:
Nombre con el que aparece este campo en los listados del módulo.

Campo:
Nombre del campo de la tabla en la base de datos. Este nombre puede ser ficticio (inexistente) para el caso de un seudocampo. Es decir aquel que tiene como Tipo Campo function. El seudocampo se utiliza para asociar funciones externas a cada una de las operaciones que realiza el modulos sobre la tabla. Por ejemplo: si en la Consulta General o de Detalle de una Tabla deseamos listar información asociada a cada registro procedente de otras tablas o ficheros, etc. Si al crear, borrar o modificar un registro deseamos hacer operaciones sobre otras tablas relacionadas.

Long. Max.:
Máxima longitud del campo de la tabla.

Long. Entr.:
Máxima longitud de campo de entrada en pantalla, para los campos de entrada de tipo texto (Input). Para los campos de texto grandes (Text) se debe especificar el número de filas, una "x" y el número de columnas. Por ejemplo: 60x15.

Orden (Order) :
Indica si este campo se utilizará para ordenar los listados en la Consulta General de la tabla.

Vacio (Null):
Indica si este campo puede estar vacio, o debe exigirse un valor.

Tipo Campo:
Indica el tipo de valor que admite este campo de la tabla.

Tipo Entrada:
Indica el tipo de campo entrada que se va autilizar en la página HTML para editar este campo. Se visualiza con el mismo valor que aparecería en el campo de entrada.


Datos Extra:
Datos que se utilizan para relacionar el campo con valores o campos de otras tablas cuando el Tipo de Entrada de un campo es "Pick-List*", "Pop Up+DB", "Radio-List*" y "Checkbox". La sintaxis es:

Los campos con Tipo de Entrada no *DB se utiliza como datos extra, parejas de (valor:literal) separados por coma. Por ejemplo: 1:Rojo,2:Verde,3:Azul
que en el caso de Tipo de Entrada "Radio-List" se vería de la forma siguiente:
y en el caso de "Pick-List":


Para los campos con Tipo de Entrada *DB (tablas relacionadas) se utiliza como datos extra una terna separados por dos puntos. Donde el primer elemento de la terna en el nombre de la tabla relacionada, el segundo el o los campos indice (con el mismo nombre en ambas tablas), y el tercero el o los campos cuyo literal es el que se va a mostrar.

Por ejemplo, supongamos que el campo de nuestra tabla se denomina "codprovincia" y esta relacionado con el campo homónimo de otra tabla denominada "provincias", y deseamos que se muestre en vez del código el nombre de la provincia que está en el campo "nombreprovincia" de la tabla relacionada de "provincias". En este caso los datos extra serían provincias:codprovincia:nombreprovincia.

Un segundo ejemplo más sería si nuestra tabla tiene dos campos "codprovincia" y "codmunicipio" los cuales están relacionados con otros campos homónimos de otra tabla denominada "municipios". Y deseamos que en vez de un código de municipio aparezca un nombre de municipio que se almacena en la tabla relacionada de "municipios" en la columna "nombremunicipio". En este caso los datos extra serán: municipios:codmunicipio,codprovincia:nombremunicipio.

Si además del nombre del municipio deseamos que aparezca su "población", y éste también es un campo de la tabla de "municipios" entonces los datos extra quedarían de la forma: municipios:codmunicipio,codprovincia:nombremunicipio,población.

NOTA! La sintaxis de estos datos extra no se comprueba. Por ello se deben comprobar minuciosamente.

Buscar por (search):
Indica que este campo se puede utilizar para buscar en la tabla, o seleccionar un grupo de registros.

Visible:
Indica que este campo se mostrará en los listados. En el detalle de un registro siempre aparecerá.

Editable en listado (Br-Edit):
Campo editable directamente sobre la pantalla de listado de registros.

Editable en listado (Fd-Edit):
Columna editable directamente sobre la pantalla de listado de registros.

Editable por Separado (Fd-Edit):
Campo editable directamente sobre la pantalla de listado de registros, de detalle o de edición.

Solo Lectura (R-Only):
Campo no modificable.

Valor Def.:
Valor por defecto al crear un registro nuevo.

onFocus Func.:
Función JavaScript que se ejecuta al obtener el foco el campo cuando se crea o modifica un registro.

onChange Func.:
Función JavaScript que se ejecuta al modificar el campo cuando se crea o modifica un registro.

onBlur Func.:
Función JavaScript que se ejecuta al perder el foco el campo cuando se crea o modifica un registro.

Ayuda:
Literal de ayuda que aparece al editar o crear un nuevo registro.