Las facilidades de Net2Client
Aquí podrás ver varias facilidades muy útiles:
- BuscarNombre: Para tener el nombre externo (el que puso el usuario) de una variable, a partir del nombre interno
- CajaCalendario: La caja con el calendario para ingresar fechas
- CajaLista: Un drop down con los valores de una lista
- CajaTabla: Un drop down con los valores de una tabla que se maneje tipo lista
- MostrarLinks: La caja para ingresar enlaces sencillos o múltiples
BuscarNombre: para conocer el nombre externo de una variable
Rutina que recibe el nombre interno de una variable y devuelve el nombre externo.
Ubicación
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/utilitiesasesor.php
Parámetros
| PARÁMETRO | USO |
|---|---|
| NbeInterno | Nombre interno de la variable (Ej: PERNombre, AR1Linea5) |
Requisitos:
Requiere que la BD esté abierta, la variable $EEE contenga el número de la aplicación y que la tabla de parámetros haya sido leida.
Ejemplo de invocación
$xxTel1=BuscarNombre("PERTel1");
echo "<p>$xxTel1: $rowP[PERTel1]</p>";
En este ejemplo se busca el nombre de la variable PERTel1 y se escribe junto su contenido.
Caja de Calendario
Esta función permite la inclusión de una caja de calendario al lado de un elemento input en donde se colocará la fecha elegida.
Ubicación
Disponible automáticamente desde programas invocados a través de versup.php o verextendido.php. Si se quiere usar en un programa que no fue invocado a través de versup o verextendido deben incluirse los siguientes archivos.
echo "
<link rel='stylesheet' type='text/css'
href='$RutaHastaLaRaiz/$COKDirectorio/estilos/calendar.css'>";
<script type='text/javascript'
src='$RutaHastaLaRaiz/$COKDirectorio/rutinas/calendar.js'>
</script>";
La variable $RutaHastaLaRaiz debe incluir la cantidad de niveles desde donde se encuentra el programa en el que se esta incluyendo el calendario hasta la raiz. Existe una rutina llamada CalculatePathLevel($Ruta) que pasándole la ruta en la que se encuentra el programa devuelve un string como "../../../". Esta rutina, que se encuentra en utilitiesasesor.php permite obtener la $RutaHastaLaRaiz fácilmente.
Ejemplo de Invocación
Para utilizar la caja de calendario debe colocarse un elemento input que debe poseer su identificador y la imagen del calendario, que sirve de enlace para que este se despliegue.
echo "
<input type='text' id='Campo_Fecha' name='Campo_Fecha'>
<img src='imagenes/show-calendar.gif' alt='$MM[AyudaCalendario]' border=0
onClick=displayCalendar(document.getElementById('Campo_Fecha'),
'dd/mm/yyyy',this,'esp','')>
";
Es una buena práctica no usar el formato hard coded (dd/mm/yyyy) como en este caso, ya que si en la aplicación se cambia la forma de almacenar las fechas, el cambio no se verá reflejado en la rutina. Para que el calendario funcione correctamente sin importar si se realiza un cambio en el almacenamiento de las fechas es recomendable que se defina una variable $FormatoFecha que se puede obtener de la siguiente manera:
$DateFormatArray = array('yyyy-mm-dd','dd/mm/yyyy','mm/dd/yyyy');
$FormatoFecha = $DateFormatArray[$PP["ForFecha"]];
Si el programa no es llamado a través de versup o verextendido, debe estar incluida la rutina tablaparametos.php para que esta asignación funcione correctamente.
Prototipo de la función
displayCalendar(ObjetoInputFecha,FormFecha,ObjetoImgFecha,Idioma,Nivel);
Parámetros
| PARÁMETRO | USO |
|---|---|
| ObjetoInputFecha | Es el objeto HTML input en el que se colocará la fecha elegida. Se recomienda obtenerlo mediante el uso de la rutina javascript getElementById(), de la siguiente manera: document.getElementById('Nombre_del_Campo_Fecha') |
| FormatoFecha | Es el formato en el que se muestra la fecha escogida. Los formatos son los siguientes: 'yyyy-mm-dd','dd/mm/yyyy','mm/dd/yyyy' |
| ObjetoImagenFecha | Es el objeto HTML imagen que servirá de enlace para el despliegue del calendario. |
| Idioma | El idioma a utilizar para el calendario. Se recomienda utilizar una variable que contenga el idioma de la aplicación, en especial si este es variable. Si el programa es llamado a través de versup se tiene disponible la variable PHP $Idioma. |
| Nivel | Es la ruta desde el programa en que se esta utilizando el calendario hasta la raiz. Si el programa es llamado a través de versup este parámetro puede dejarse en blanco. |
Por lo tanto, un buen uso de esta rutina sería el siguiente:
echo " <input type='text' id='Fecha' name='Fecha'> <img src='$RutaARaiz/$COKDirectorio/imagenes/show-calendar.gif'
alt='$MM[AyudaCalendario]' border=0 onClick=displayCalendar(document.getElementById('Fecha'),
$FormatoFecha,this,$Idioma,$RutaARaiz)> ";
Drop down menú con los campos de una lista
CajaLista
Esta función permite lograr un "drop down menu" con los valores obtenidos de una lista. La ventaja es que se construye en forma dinámica. Los comandos de "<select> y </select> deben ser escritos por el programa, ya que no se generan automáticamente.
Para cada valor en la lista, se recibe lo siguiente:
<option value='val'>val</option>
en donde, "val" es un valor de la lista. Los valores vienen ordenados al igual que la lista.
Ubicación
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/cajalista.php
Parámetros
| PARÁMETRO | USO |
|---|---|
| Lista | Nombre interno de la lista deseada. Ejp: PERLista3 |
Variables globales
| VARIABLE | TIPO | USO |
|---|---|---|
| EEE | Entrada | Debe contener el número de la aplicación |
| EscribirEnVariable | Entrada | Escribir "SI", si desea tener el resultado en una variable en vez de que sea escrito con un echo. Escribir "XML", si desea el resultado en XML con el formato siguiente: <option> <text>valor</text> <value>valor</value> </option> (esto se repite n veces, para cada valor contenido en la lista) donde "valor" es cada uno de los valores de la lista |
| VariableResultado | Salida | Variable en la cual se almacena el resultado en caso de que la variable anterior contenga un "SI" o "XML" |
Estas variables globales permiten elegir si se desea que el resultado se escriba o pase a una variable.
Ejemplos de invocación
echo "<select size=1 name='Categoria'>
<option value='---' selected>---</option>";
CajaLista('AR5Lista1');
echo "</select>";
En este ejemplo, al invocarse CajaLista, se escriben todas las opciones correspondientes.
$EscribirEnVariable="SI";
CajaLista('AR5Lista1');
echo "<select size=1 name='Categoria'>
<option value='---' selected>---</option>
$VariableResultado
</select>";
En este otro ejemplo, al invocarse CajaLista, se graban en la variable "$VariableResultado" todos los valores posibles. En el echo que viene a continuación se escriben, junto con la cláusula "select" y su respectivo cierre.
Variante
Si se desea que la lista venga inicializada con un valor en particular, en vez de usar CajaLista, se debe usar la función "CajaListaConDefault($Lista,$ValorDefault)", pasando en $ValorDefault el valor que se desea que tenga el "selected".
Drop down menú con los campos de una tabla
CajaTabla
Esta función, muy similar a la anterior, permite lograr un "drop down menu" con los valores obtenidos de una tabla (en vez de una lista). La ventaja es que se construye en forma dinámica. Los comandos de "<select> y </select> deben ser escritos por el programa, ya que no se generan automáticamente. A diferencia de la función anterior (CajaLista) el resultado es devuelto con un "return", por lo cual debe ser asignado a una variable.
Para cada valor de la tabla, se recibe lo siguiente:
<option value='ccc' selected>nnn</option>
en donde, ccc es el código y nnn el nombre. Los registros vienen ordenados por el nombre.
Ubicación
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/cajalista.php
Parámetros
| PARÁMETRO | USO |
|---|---|
| Tabla | Nombre completo de la tabla deseada. Ejp: 701AR2 |
A diferencia de la función anterior (CajaLista) el resultado es devuelto con un "return", por lo cual debe ser asignado a una variable.
Ejemplos de invocación
$Valores=CajaTabla('703EVE');
echo "<select size=1 name='Proyecto'>
<option value='---' selected>---</option>
$Valores</select>";
o más sencillamente:
echo "<select size=1 name='Categoria'>
<option value='---' selected>---</option>".CajaTabla('703EVE')."</select>";
En estos ejemplos, al invocarse CajaTabla, se genera un dropdown menu con todos los valores contenidos en la tabla.
Caja para el manejo de enlaces sencillos y múltiples
MostrarLinks
Esta función incorpora los campos necesarios para poder incluir en una forma de entrada de datos el manejo de los enlaces sencillos y múltiples de Net2Client. Introduce 3 elementos en la pantalla: La caja del campo de código, la del campo de nombre asociada al código y el icono para búsqueda en reportes, tal como se muestra en la figura:
![]()
El programa en el que se utilice debe invocarse a través del programa del sistema versup o incluir todas las librerías necesarias para tener una sesión de Net2Client. Si se realiza la invocación sin hacer uso de versup debe setearse, tanto en javascript como en php, la variable Nivel, como se describe a continuación:
echo "<script type='text/javascript'>var Nivel='../'</script>"; $Nivel='../';
Nótese que el nivel indica la ruta que debe seguirse para llegar al directorio rutinas desde el programa.
Para el correcto funcionamiento de la rutina, se deben las siguientes lineas :
echo "
<script type='text/javascript' src='rutinas/manejoenlaces.js'></script> <script> var MM=new Array('$MM[BuscarEn]','$MM[NoRegistro]','$MM[EscribaBusqueda]'); </script>"; require("rutinas/campoenlace.php");
Se debe tener cuidado de incluir las etiquetas "body" propias de un documento html bien formado, ya que dentro de la etiqueta "body" de apertura se debe colocar la siguiente sentencia:
echo "<body onLoad=\"PrepararEnlace('$COKO')\">";
Parámetros
| PARÁMETRO | USO |
|---|---|
| NombreCampo | Nombre interno del campo. Se determina si es sencilo o múltiple por la naturaleza del nombre interno. (Ej. AR1MLink1_PER, AR1Enlace1) |
| NbeForma | Nombre de la forma en la que se encuentra la caja de enlace |
| Valor | Número correspondiente al valor inicial que se desea poner en la caja. Si es un enlace múltiple deben colocarse los números iniciales separados por coma, y aparecerán preinicializadas tantas cajas como números se hayan indicado. |
| NoPonerLink | Cualquier valor no nulo causa que no se ponga el link (<a>). |
| NoPonerCodigo | Cualquier valor no nulo causa que no se impriman los códigos de registro (Pepsi en vez de 5-Pepsi). |
| Separador | El caracter separador. Si se omite, salta de línea. |
| EsModificable | Determina si el campo puede modificarse. Recibe valores true o false. |
| Indice | Numero entero de ubicación del campo en la forma. |
Prototipo de la función
MostrarLinks($NbeCpo,$NbeForm,$Valor,$NoLink,$NoCod,$Separador,$EsModif,$Ind);
Ejemplos de invocación
echo MostrarLinks("AR1MLink1_PER","NombreForma","","","","",true,1);
echo MostrarLinks("Enlace1","NombreForma","","","","",true,1);
