Ayudas Al Asesor

En esta sección se presentan una serie de rutinas disponibles al asesor, con la finalidad de maximizar el uso de código reusable. Haga clic sobre la rutina que desea ver.

LeerStd
Lectura estandar. Permite leer uno o varios registros de una tabla
ObtenerUno
Lectura de un solo campo de una tabla.
LeerEspecial
Lectura de información en el campo Especial de una tabla
EscribirEspecial
Escritura de información en el campo Especial de una tabla
EscribirConIconoEmail
Escribir una dirección de email con icono para enviar email
BuscarNombre
Obtener el nombre externo de una variable, a partir del nombre interno
ObtenerPreDefinido
Obtener el contenido de una respuesta Pre definida (enlatado)
Caja de Calendario (vieja)
Permite introducir una imagen que al hacerle clic presente una caja de calendario para introducir fechas
Caja de Calendario (nueva)
Nueva versión de la caja de calendario más rápida y eficiente
GrabarCokie
Grabación de un campo en el Cokie
CajaLista
Menu tipo dropdown con valores de una lista
CajaTabla
Menu tipo dropdown con los valores de una tabla
CampoEnlace
Función deprecada, utilizar MostrarLinks
MostrarLinks
Caja para el manejo de enlaces sencillos y múltiples
EnviarMens
Permite el envío de mensajes (e emails) a usuarios del sistema
Ayuda
Inserta el icono y la llamada de ayuda
TomarTiempo
Cronométra los procesos ocurridos en un programa

 

 

LeerStd: Lectura estándar

Cuando se está usando el programa versup.php o verextendido.php, se tiene acceso a la función LeerStd, que permite leer una tabla en particular. Debe utilizarse siempre este mecanimso ya que es el que asegura que la persona esté autorizada a leer la tabla, puesto que toma en cuenta las restricciones de su perfil correspondiente. La forma de invocar esta rutina es la siguiente:

$CantReg=LeerStd($Resultado,$Tabla,$Que,$Condicion,$Orden,$Lim1,$Lim2,$Opciones);

Esta rutina devuelve (En $CantReg) la cantidad de registros conseguidos y Los otros parámetros a usar son los siguientes:

VARIABLE USO
Resultado Parámetro de SALIDA. Contiene el resultado de la lectura. Es a esta variable que se le hace posteriormente un “mysql_fetch_array”, para leer cada una de las filas.
Tabla El nombre completo de la tabla a ser leída (Ej. 223PER), sin embargo, cuando se tiene cookie, se puede poner el código de 3 letras solamente.
Que Nombre interno de los campos a leer (Ej: PERNombre). Si se desean todos los campos escribir: “*”
Condicion Condiciones que van en el “WHERE” de la cláusula SELECT. Si se desean todos los registros pasar: “”.
Orden Ordenamiento requerido. Ej: PERLinea1 ASC, PERCant2 DESC
Lim1 Desde que registro se debe leer
Lim2 Número máximo de registros a leer
Opciones Normalmente el programa aborta si falla la instrucción de lectura y escribe un mensaje de error. Sin embargo se pueden escribir, separados por coma, uno o varios de los parámetros siguientes:
+ ECHO: Para hacer echo
+ NOABORTAR: Para que no termine en casa de error
+ NOLEER: Para que no lea (se usa en pruebas)
+ NOMENSAJE: Para que no escriba el mensaje de error
Por ejemplo si uno no desea que el programa se aborte, ni que de un mensaje de error se puede escribir:
“NOABORTAR,NOMENSAJE”
Si falla la instrucción de lectura, sencillamente se recibir el valor 0, como resultado de la función.
Si, en cambio se desea depurar el programa y que escriba la instrucción de lectura, se puede escribir:
”ECHO”.

Todos los parámetros son obligatorios. El primero debe ser una variable, los demás pueden ser un literal o una variable.

Ejemplo

$Cant1=LeerStd($Lectura1,"000AR1","*","AR1CodAgente='5'","","","","");
if ($Cant1==0) die("<p class=mensaje>No se consiguió el sitio</p>");
echo "<h1>SITIOS CONSEGUIDOS</h1>";
for ($i=0; $i<$Cant1; $i++){
   $row1= mysql_fetch_array($Lectura1);
   echo "$row1[AR1Codigo]-$row1[AR1Nombre]</br>";
};

Inicio


ObtenerUno: Obtención de un campo de una tabla

Esta función permite obtener un solo campo de una tabla. Es muy útil cuando se quiere utilizar un campo de una tabla enlazada.

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
Tabla Nombre completo de la tabla a ser leida (Ej. 701PER)
Clave El número del registro a obtener
Campo La variable a obtener (Ej. PERLinea1), si se omite se supone que es XXXNombre (donde XXX es la tabla)
Opciones Las opciones de Lectura Estándar a utilizar. Ver rutina LeerStd. (ECHO,NOABORTAR,NOLEER,NOMENSAJE)

La función obtiene la variable "Campo", cuyo código es "Clave" en la tabla "Tabla". Como utiliza la rutina LeerStd internamente se pueden utilizar las opciones indicadas en "Opciones" (ECHO, NO ABORTAR...). Si el parámetro "Campo" no se usa (Es decir que se pasa el valor ""), entonces el campo a utilizar es: Nombre.

El valor que devuelve el conseguido. Si no existe el registro, devuelve "---".

Ejemplo de invocación

$NbeEmpresa=ObtenerUno("700AR1",$row4[AR4Enlace1],"","");

o, equivalente:

$NbeEmpresa=ObtenerUno("700AR1",$row4[AR4Enlace1],"AR1Nombre","");

En este ejemplo, se ha leido previamente la tabla AR4 que contiene un enlace hacia la tabla AR1. Se desea obtener el campo Nombre de Empresa que es el campo AR1Nombre. Como el campo que se está buscando es precisamente Nombre, puede ser omitido.

Inicio


LeerEspecial: Lectura de información en el campo Especial de una tabla

Esta función permite leer los datos almacenados por un programa específico en el campo "Especial" de cualquier tabla de manera transparente. Es muy importante que el asesor emplee esta rutina (junto con EscribirEspecial) para acceder a esta información puesto que el campo Especial alberga simultáneamente datos perteneciente a múltiples programas, haciéndose necesario un formato particular para diferenciar entre los mismos. LeerEspecial provee un mecanismo transparente que garantiza que cada programa lea los datos que le corresponden del campo Especial sin preocuparse por cuántos y cuáles otras aplicaciones esten utilizándolo.

Ubicación

Esta rutina está disponible en programas invocados a través de versup.php o verextendido.php, siempre que incluyan la libreria correspondiente:

 rutinas/especiales.php

Parámetros

PARÁMETRO USO
Contenido Parámetro de SALIDA en donde será colocada la información leida.
NombreTabla Nombre de la tabla a ser leida (Ej. PER)
IdRegistro El número del registro para el cual se desea leer el campo Especial
CodigoPrograma El código que identifica al programa que almacenó la informacion que quiere ser leida. Es muy importante que este código sea el mismo que se utilizó al guardar los datos o de otra forma estos no serán hallados.
Opciones En este parámetro se pueden especificar opciones sobre la información que seraá mostrada durante la ejecución:
  • ECHO--> Al especificar esta opción la rutina imprimirá el contenido COMPLETO del campo Especial del registro (en caso de haberse hallado) Esto se utiliza principalmente para el debugging y para confirmar el código de programa con que los datos están almacenados. Este contenido se presenta como una sucesión de items (cada uno correspondiente a un programa) con el formato 'þXXXøaaaaaa', donde XXX es el CodigoPrograma y 'aaaaaa' son los datos que ese Programa ha almacenado en el campo especial del registro. Es muy útil para el proceso de debugging.
  • ERROR--> Esta opción indica a la rutina que imprima en pantalla los mensajes de error que pudieran generarse. Igualmente es útil para el debugging.

Todos los parámetros son obligatorios.
El valor retornado por la llamada es un codigo de status:

Ejemplo de invocación

$Status = LeerEspecial($Contenido, "AR1",$Codigo,"N2C","ERROR,ECHO");

En este ejemplo una aplicación identificada con el código N2C (Ej: Net2Client), desea leer su información del campo especial de la tabla AR1 para el registro cuyo código esta almacenado en la variable $Codigo.

Inicio


EscribirEspecial: Escritura de información en el campo Especial de una tabla

Esta función permite a un programa almacenar datos, que son marcados como suyos, en el campo "Especial" de cualquier tabla de manera transparente. Es muy importante que el asesor emplee esta rutina (junto con LeerEspecial) para acceder a esta información puesto que el campo Especial alberga simultáneamente datos perteneciente a múltiples programas, haciéndose necesario un formato particular para diferenciar entre los mismos. EscribirEspecial provee un mecanismo transparente que garantiza que cada programa alamcena los datos que le corresponden en el campo Especial y estos se identifiquen como pertencientes a el sin preocuparse por cuántos y cuáles otras aplicaciones esten utilizándo ese campo.

Ubicación

Esta rutina está disponible en programas invocados a través de versup.php o verextendido.php, siempre que incluyan la libreria correspondiente:

 rutinas/especiales.php

Parámetros

PARÁMETRO USO
Contenido Información que se desea almacenar. Este valor va a reemplazar completamente el que estaba contenido en el campo
NombreTabla Nombre de la tabla a sescribir (Ej. PER)
IdRegistro El número del registro en cuyo campo Especial se desea guardar.
CodigoPrograma El código que identifica al programa que almacenó la informacion que quiere ser leida. Es muy importante recordar este código pues será el único que permitirá hallar los datos al momento de leerlos.
Opciones En este parámetro se pueden especificar opciones sobre la información que seraá mostrada durante la ejecución:
  • ECHO--> Al especificar esta opción la rutina imprimirá el contenido COMPLETO del campo Especial del registro que será guardado. Esto se utiliza principalmente para el debugging y para confirmar el código de programa con que los datos está siendo almacenados. (Ver LeerEspecial) Es muy útil para el proceso de debugging.
  • ERROR--> Esta opción indica a la rutina que imprima en pantalla los mensajes de error que pudieran generarse. Igualmente es útil para el debugging.

Todos los parámetros son obligatorios.
El valor retornado por la llamada es un codigo de status:

Ejemplo de invocación

$Status = EscribirEspecial("L.11110000;M:11001100;", "PER",$Codigo,"N2C","");

En este ejemplo una aplicación identificada con el código N2C (Ej: Net2Client), desea escribir una cadena de caracteres (que representa alguna información según un formato propio) en el campo Especial de la tabla PER para el registro cuyo código esta almacenado en la variable $Codigo.

Inicio


EscribirConIconoEmail: Escribir una dirección de email con icono para enviar email

Esta función permite escribir una "variable a escribir " (que puede ser una dirección de email o cualquier otra variable), y si el usuario tiene autorización para enviar emails, añadir el icono de envio de emails. Si no lo tiene, sencillamente se escribe la "variable a escribir ", sin el icono.:

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
Tabla Nombre completo de la tabla a ser leida (Ej. 701PER)
Clave El código del registro que contiene el Email
Valor La dirección de correo electrónico adonde se debe enviar el email
Escribir Es la "variable a escribir "

La función no escribe el email, sino que devuelve el HTML con la dirección de email y todo lo necesario para invocar el programa de envios de email, siempre y cuando el usuario esté autorizado. Muy comunmente, "Valor" va a ser el mismo valor contenido en la variable "Escribir".

Ejemplo de invocación

$Icono=EscribirConIconoEmail("701PER",$row4[AR4EnlaceP],$EmailContacto,$NbePtoFocal);
.
.
.
<tr><td><p class=nbecampo>Asesor</p></td><td><p>$Icono</p></td></tr>

Este ejemplo es el que produce la salida mostrada previamente. En la llamada, se está poniendo dentro de la variable Icono el HTML para escribir el nombre del Asesor, que en este ejemplo fue:

<p class=nbecampo>Asesor</p></td><td><p><form name='FormEmail1' method='POST' action='emailsup.htm'>
   <input type='hidden' name='TablasAListar' value='701PER'>
   <input type='hidden' name='NombreCampoEmail' value='PEREmail1'>
   <input type='hidden' name='CLAUSULAWHERE' value="WHERE PERCodigo='6'">
   <img border='0' src='imagenes/email.gif' 
	alt='Haga clic aquí para enviar un email' onClick='document.FormEmail1.submit();'>
   Busato, Andrés</form></p>

Nótese que el número de registro es el 6, el campo $EmailContacto contiene la dirección de Email, de forma que si viene vacío, no se ponga el icono de envio. En el código producido, se llama al programa emailsup.htm que es el que permite escribir y enviar el email

Inicio


BuscarNombre: Obtener 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.

Inicio


ObtenerPreDefinido: Obtener una respuesta pre-definida (enlatada)

Rutina que recibe devuelve un texto. pre enlatado

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
EEE Código de la aplicación
Nombre del texto predifinido Nombre del texto predefinido (Ej: "Email de Bienvenida")
Número del texto predefinido Número del texto predefinido (Ej: 5). Se usa solo si se omite el nombre del texto predefinido

Requisitos:

Requiere que la BD esté abierta.

Ejemplos de invocación

$Texto=ObtenerPreDefinido("700","Email de Bienvenida",0);
$Texto=ObtenerPreDefinido("700","",25);

En el primer ejemplo se busca el texto pre-definido llamado "Email de Bienvenida", en cambio en el segundo se busca el texto pre-definido número 25.

Inicio


Caja de Calendario (vieja)

Ojo, se debe evitar el uso de esta caja de calendario que ha sido reemplazada por la nueva. ver más abajo

Para incluir una caja con calendario, se deben seguir los pasos siguientes:

Incluir al principio del programa la instrucción siguiente:

<script type='text/javascript' src='rutinas/cajacalendario.js'></script>

Esto va a permitir que la rutina show_calendar esté disponible. Supone que el programa fue invocado desde un programa activado a través de versup o verextendido. De lo contrario, incluir la ruta completa, de esta forma:

<script type='text/javascript' src='../../../../<? echo "$COKDirectorio"; ?>/rutinas/cajacalendario.js'></script>

Este ejemplo supone que el programa está en el área de programas en el directorio ZZZ/BD/EE/EEE.

El campo que contiene la fecha, debe estar dentro de una forma, que debe contener un campo llamado "idio" con el código de 3 letras del idioma:

<input type='hidden' name='idio' value='esp'>

En donde se quiere que aparezca la caja de calendario y suponiendo que el campo se llama "Fecha":

<? echo "<a href=javascript:show_calendar('seg.Fecha',$PP[ForFecha])>
<img src='imagenes/show-calendar.gif' alt='$MM[AyudaCalendario]' border=0></a>"; ?>

o también:

<a href=javascript:show_calendar('seg.fecha',<? echo "$PP[ForFecha]"; ?>)>
<img src='imagenes/show-calendar.gif' alt='$MM[AyudaCalendario]' border=0></a>";    ?>

En este ejemplo, se supone que la forma se llama "seg" y por eso el campo usado es "seg.Fecha".

Si el programa es llamado desde versup o verextendido, $PP[ForFecha] contiene el formato de fecha (0 o vacío: AAAA-MM-DD, 1: DD/MM/AAAA y 2: MM/DD/AAAA) y $MM[AyudaCalendario] la ayuda para el uso del calendario: "Haga clic para obtener una caja con el calendario en donde podrá escoger la fecha". Si el programa no es llamado desde versup o verextendido, puede cambiar estas dos variables por constantes, de la forma siguiente:

<a href=javascript:show_calendar('seg.fecha',1)>
<img src='imagenes/show-calendar.gif'
	alt='Haga clic para obtener una caja con calendario' border=0></a>

Inicio


Caja de Calendario (Nueva)

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.

<?php
	echo "<link rel='stylesheet' type='text/css' href='$RutaHastaLaRaiz/$COKDirectorio/estilos/calendar.css'>";
	echo "<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.

<?php
	echo "
	<input type='text' id='Nombre_del_Campo_Fecha' name='Nombre_del_Campo_Fecha'>
	<img src='imagenes/show-calendar.gif' alt='$MM[AyudaCalendario]' border=0 
	onClick=displayCalendar(document.getElementById('Nombre_del_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:

<?php
	$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,FormatoFecha,ObjetoImagenFecha,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:

<?php
	echo "
	<input type='text' id='Fecha' name='Fecha'>
	<img src='$RutaHastaLaRaiz/$COKDirectorio/imagenes/show-calendar.gif' alt='$MM[AyudaCalendario]'  border=0
	onClick=displayCalendar(document.getElementById('Fecha'),$FormatoFecha,this,$Idioma,$RutaHastaLaRaiz)>
	";
?>

Inicio


GrabarCokie: Grabación de un campo en el Cokie

Esta función permite grabar un campo en el Cokie, típicamente para pasar valores de un programa a otro en una forma transparente, sin utilizar parámetros o campos hidden. El programa receptor podrá tener acceso a través del arreglo $cok. Por ejemplo, para obtener el resultado de la variable COKGlobal5, solo hace falta escribir $cok[COKGlobal5]

Ubicación

Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:

 rutinas/utilities.php

Parámetros

PARÁMETRO USO
Variable Variable de la tabla COK. Ejp: COKGlobal3, COKRetorno, COKIdioma
Valor El valor a grabar

La función actualiza el registro correspondiente a la tabla COK, dándole el valor "Valor" a la variable "Variable".

Ejemplo de invocación

GrabarCokie("COKRetorno","Actual");
En este ejemplo, se está grabando "Actual" en la variable COKRetorno, de forma que al regresar de act.php el control regrese a la página invocante.

Ejemplo de pase de parámetros

En un primer programa escribir

GrabarCokie("COKGlobal2","754");

En un segundo programa utilizar

$ValorRecibido=$cok[COKGlobal2];

Explicación:

El primer programa asigna a la variable COKGlobal2, el valor 754. El segundo programa lo obtiene y se lo asigna a la variable $ValorRecibido.

Nota:

Se pueden utilizar las variables COKGlobal1...COKGlobal6, las cuales están disponibles para el asesor. Las variables COKGlobal7..9, son utilizadas por el sistema.

Inicio


GrabarCokie: Grabación de un campo en el Cokie

Esta función permite grabar un campo en el Cokie, típicamente para pasar valores de un programa a otro en una forma transparente, sin utilizar parámetros o campos hidden. El programa receptor podrá tener acceso a través del arreglo $cok. Por ejemplo, para obtener el resultado de la variable COKGlobal5, solo hace falta escribir $cok[COKGlobal5]

Ubicación

Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:

 rutinas/utilities.php

Parámetros

PARÁMETRO USO
Variable Variable de la tabla COK. Ejp: COKGlobal3, COKRetorno, COKIdioma
Valor El valor a grabar

La función actualiza el registro correspondiente a la tabla COK, dándole el valor "Valor" a la variable "Variable".

Ejemplo de invocación

GrabarCokie("COKRetorno","Actual");
En este ejemplo, se está grabando "Actual" en la variable COKRetorno, de forma que al regresar de act.php el control regrese a la página invocante.

Ejemplo de pase de parámetros

En un primer programa escribir

GrabarCokie("COKGlobal2","754");

En un segundo programa utilizar

$ValorRecibido=$cok[COKGlobal2];

Explicación:

El primer programa asigna a la variable COKGlobal2, el valor 754. El segundo programa lo obtiene y se lo asigna a la variable $ValorRecibido.

Nota:

Se pueden utilizar las variables COKGlobal1...COKGlobal6, las cuales están disponibles para el asesor. Las variables COKGlobal7..9, son utilizadas por el sistema.

Inicio


CajaLista: Drop down menú con los campos de una lista

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".

 

Inicio


CajaTabla: Drop down menú con los campos de una tabla

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.

Inicio


MostrarLinks: Caja para el manejo de enlaces sencillos y múltiples

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:

<?php 
	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 :

<?php 
	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:

<?php 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($NombreCampo,$NombreForma,$Valor,$NoPonerLink,$NoPonerCodigo,$Separador,$EsModificable,$Indice);

Ejemplos de invocación

<?php 	
	echo MostrarLinks("AR1MLink1_PER","NombreForma","","","","",true,1);
?>
<?php 	
	echo MostrarLinks("Enlace1","NombreForma","","","","",true,1);
?>

EnviarMens: Envío de mensajes a usuarios

Comunmente, es necesario enviar un mensaje interno a uno o varios usuarios del sistema (personas en la tabla AGE). Para poder lograr esto con más facilidad, existe la rutina "EnviarMens", la cual está en el archivo rutinas/utilitiesasesor.htm.

Esta función está en rutinas/utilitiesasesor.php, la cual es invocada automáticamente desde versup.php y verextendido.php. También está disponible desde los programas tipo "pre", "post" y "formula".

Esta función recibe los parámetros que se indican a continuación, y devuelve el valor 0 si hubo un problema y 1 si todo funcionó correctamente.

Parámetros

PARÁMETRO USO
Remitente Código del agente que envía el mensaje. Frecuentemente se debe enviar el valor $CookieAGENTE
Receptores Código,s separados por comas, de los agentes receptores del mensaje
Asunto Asunto del mensaje
Texto Texto del mensaje
Email? SI, si se quiere que se envíe una copia por email
mensajes Variable de Entrada/Salida, donde se almacenan los mensajes de error. Tiene que ser una variable. No puede ser un literal.
opciones ECHO: imprime cada query

Ejemplo de invocación

$Resultado=EnviarMens($CookieAGENTE,$Receptores,$Asunto,$CHANGE_MATRIX,"",$MensajesError,"");
if ($Resultado==0) echo "<p class=mensajeerror>Error enviando mensaje de notificación:<br>$MensajesError</p>"
else echo "<p class=mensaje>Enviados mensajes de notificación a: $Notificados</p>";

En este ejemplo, podemos observar como se va a enviar un mensaje, desde el usuario $CookieAGENTE a los usuarios contenidos en la variable $Receptores. El Asunto del mensaje está contenido en la variable $Asunto, el texto en $CHANGE_MATRIX (que es una variable generada automáticamente por el programa rec.htm (ver capítulo 6.1). No se está solicitando el envío de email. Los posibles mensajes de error serán almacenados en la variabla $MensajesError y no se está utilizando la opción de "ECHO".


Ayuda: Ayuda al usuario

Esta función, introduce el icono . Cuando el usuario pincha el icono, se abre una ventana con las ayudas indicadas en el parámetro.

Ubicación

Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php, ya que está en utilities

Parámetros

PARÁMETRO USO
Nros de ayuda Número(s) de ayuda, separados por coma. Estas ayudas corresponden a los registros de la tabla de Explicaciones en la aplicación GWT100000

 

Ejemplos de invocación

echo "<h1>Titulo".Ayuda(57,63)."</h1>";

Esta instrucción escribe el encabezado Titulo y al lado pone el icono de ayuda. Si es pinchado, abrirá una ventana con las ayudas 57 y 63

echo "<p>Para más detalles presione el icono siguiente".Ayuda(46)."</p>";

Esta instrucción escribe el encabezado Titulo y al lado pone el icono de ayuda. Si es pinchado, abrirá una ventana con las ayudas 57 y 63


TomarTiempo: Cronométra los procesos ocurridos en un programa

Has notado alguna vez lentitud en el sitio que estás construyendo y sigue lento al optimizar? Ahora puedes conocer el verdadero lugar donde el programa se está tomando un cafecito y nos dejó varados:

La rutina TomarTiempo($label); en utilitiesasesor.php funciona de la siguiente manera. A lo largo del programa se llama la rutina, pasándole de parámetro el nombre del proceso que ocurre a continuación:

Ubicación

Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php, ya que está en utilitiesasesor.php

Parámetros

PARÁMETRO USO
Etiqueta Nombre del proceso que ocurre a continuación dentro del programa, ejem: "Obtener parámetros BD", "Escribir registros", etc. Para anotar el fin de la toma de tiempos se pasa la etiqueta "_end" como veremos a continuación.

 

TomarTiempo("Incluisón de rutinas");

<!--- Proceso de incluisión de turinas -->

TomarTiempo("Obtención de fechas");

<!--- Proceso de Obtensión de fechas-->

TomarTiempo("Calendario o habitaciones");

<!--- Proceso de Calendario o habitaciones -->

$arregloResultados=TomarTiempo("_end");

echo "<pre>".print_r($arregloTiempos,true)."</pre>";

Estas intrucciones se pueden realizar a lo largo de todo el programa. Cabe destacar que cada vez que se llame la rutina, se devuelve el arreglo con los tiempos que se hayan registrado hasta el momento. También se debe pasar al final de toda la toma de tiempos la etiqueta "_end". Al imprimir el arreglo se puede tener el resultado siguiente:

Array

(
   [Incluisión de rutinas] => 0.0048489570617676
   [Obtención de fechas] => 0.0001010894775E-05
   [Calendario o habitaciones] => 3.4093856811523398
)

Inicio