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.
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.
$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>";
};
Esta función permite obtener un solo campo de una tabla. Es muy útil cuando se quiere utilizar un campo de una tabla enlazada.
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/utilitiesasesor.php
| 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 "---".
$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.
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.
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
Todos los parámetros son obligatorios.
El valor retornado por la llamada es un codigo de status:
$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.
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.
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Á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:
|
Todos los parámetros son obligatorios.
El valor retornado por la llamada es un codigo de status:
$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.
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.:

Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/utilitiesasesor.php
| 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".
$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
Rutina que recibe el nombre interno de una variable y devuelve el nombre externo.
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/utilitiesasesor.php
| PARÁMETRO | USO |
|---|---|
| NbeInterno | Nombre interno de la variable (Ej: PERNombre, AR1Linea5) |
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.
$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.
Rutina que recibe devuelve un texto. pre enlatado
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/utilitiesasesor.php
| 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 |
Requiere que la BD esté abierta.
$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.
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>
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.
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.
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.
displayCalendar(ObjetoInputFecha,FormatoFecha,ObjetoImagenFecha,Idioma,Nivel);
| 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)>
";
?>
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]
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/utilities.php
| 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".
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.
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.
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]
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/utilities.php
| 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".
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.
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.
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.
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/cajalista.php
| PARÁMETRO | USO |
|---|---|
| Lista | Nombre interno de la lista deseada. Ejp: PERLista3 |
| 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. <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.
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.
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".
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.
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php. También está disponible en:
rutinas/cajalista.php
| 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.
$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.
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Á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. |
MostrarLinks($NombreCampo,$NombreForma,$Valor,$NoPonerLink,$NoPonerCodigo,$Separador,$EsModificable,$Indice);
<?php
echo MostrarLinks("AR1MLink1_PER","NombreForma","","","","",true,1);
?>
<?php
echo MostrarLinks("Enlace1","NombreForma","","","","",true,1);
?>
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Á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 |
$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".
Esta función, introduce el icono
. Cuando el usuario pincha el icono, se abre una ventana con las ayudas indicadas
en el parámetro.
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php, ya que está en utilities
| 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 |
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
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:
Disponible automáticamente desde programas invocados a través de versup.php, verextendido.php, ya que está en utilitiesasesor.php
| 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
)