Para tí que ya sabes

En esta página explicamos los fundamentos del programa rec, y damos los parámetros principales para invocarlo con una forma. Para ir a la explicación de los programas que puedes invocar, haz clic aquí.

Entrada de Datos

La entrada de datos es una de las partes fundamentales de cualquier sistema. En N2C la entrada de datos se hace, fundamentalmente, con los programas rec.htm y rec.php. El primero presenta una forma de entrada de datos y el segundo la procesa. En efecto, fíjate que cuando ingresas un registro en N2C (por el proceso normal de "back office", esos son los programas que se llaman.

Este par de programas tienen todo lo que normalmente se necesita en un programa de ingreso de datos: forma de entrada, calendarios, listas, validaciones (las que se hacen en JavaScript y las que se hacen una vez que se han ingresado todos los registros). Estos programas son muy complejos y completos. Tienen validaciones en Ajax, manejo de listas dependientes y muchas facilidades. Y la buena noticia es que puede ser llamado por el asesor, para no tener que escribir todo ese código, y también puede ser adaptado la las necesidades específicas que puedas tener.

Otro aspecto fundamental es que el programa rec.htm también es utilizado para modificar un registro existente (junto con rec.php) o sencillamente para verlo. Y después de mostrar el registro se incluyen enlaces a los registros dependientes ("hijos") .

¿Por qué reutilizar el código de rec.htm/php?
Hay muchos motivos: los programas ya están probados, si hay algún cambio o nueva versión en N2C los programas seguirán funcionando, el aspecto ya le es familiar al usuario. Estos programas también manejan los niveles de autorización, ya que no muestran un campo que sea privado, y llevan un log de los cambios realizados.

¿Y que es el programa act.htm o ver.htm?

Quizás has visto en alguna aplicación vieja los programas "ver", "verint", "act" y "actint". Efectivamente, hasta la versión 4.3, existían otros programas:

  • act.htm, actint.htm y act.php para ingresar y actualizar registros
  • ver.htm y verint.htm para visualizar registros

Ahora todos esos programas han sido sustituídos por rec.htm y rec.php, pero permanecerán para asegurar la compatibilidad hacia atrás.

Quiero usar el programa rec, pero no puedo por que mi programa es especial

Es normal. Todos los programas son especiales y únicos. Sin embarog, en rec, es posible tomar control antes y después de realizar una operación de ingreso, actualización o eliminación de registros de una tabla. Probablemente, y en la gran mayoría de los casos, esto te servirá y te evitará que escribir un programa largo y complejo.

A continuación te iremos explicando como hacerlo. Y recuerda, te vamos a dar control para que interfieras con DOS programas: El que presenta la forma de actualización (rec.htm) y el que la procesa (rec.php)

 

Invocar rec.htm

Ok. Vamos a empezar como se debe, por el principio. Veamos como puedes invocar el programa rec.htm.

La forma más sencilla es a través de un enlace: Llama al programa rec.htm?COKO[*]XXX=nnn

  • COKO es el COKO que ya conoces (con base de datos, código y mujer embarazada)
  • [*]: es un asterisco que puede estar presente o no. Si aparece significa que el registro se va a mostrar únicamente y no se va a actualizar
  • XXX es el código de la tabla (Ej. PER, AR1, ART...)
  • nnn es el número de registro que quieres modificar o ver. Si quieres añadir un registro, escribe un cero (0)

El COKO es fundamental, ya que es el que indica quien está utilizando el sistema y evita que cualquiera entre al programa. Aquí es bueno recordarte que puedes tener 3 tipos de sesiones:

  • Un usuario regular del sistema (que por lo tanto está en la tabla AGE y tiene un perfil)
  • Un usuario externo que ha hecho login, por lo tanto tiene un COKO EXTERNO y también tiene un perfil
  • Un usuario del público, cuando se utiliza el COKO PÚBLICO que tiene el formato COKO$BD$EEE ($BD: es la base de datos y $EEE la aplicación), Ej: COKO04900. El perfil a utilizar en el COKO PÚBLICO es el que se indica en el setup, bajo "Otros parámetros", en "Nombre del perfil que se utiliza para el login público" (ver figura abajo). Cuando se utiliza un COKO PÚBLICO, si se desea cambiar el idioma se debe añadir el parámetro ",&idio=eng", para el inglés

 

Ejemplos de invocación a través de un enlace

Ejemplo 1:

echo "<a href='http://www.midominio.com/sis/rec.htm?$COKO"."ART=0'>Añadir registro</a>";

Aquí se está llamando el programa rec para añadir un registro en la tabla ART. El programa que escribe esto debe tener el COKO en la variable $COKO

Fíjate que se tuvo que romper el echo cerrando y abriendo comillas dobles, ya que si no se hiciera la llamada sería a la variable $COKOART que no es lo mismo que la concatenación de las variables $COKO y ART. Otra forma, más apropiada, de hacer esto sería:

echo "<a href='http://www.midominio.com/sis/rec.htm?{$COKO}ART=0'>Añadir registro</a>"

en cuyo caso las llaves indican que $COKO es una variable y que debe ser reemplazada por su valor

Ejemplo 2:

echo "<a href='/$NoS/rec.htm?$COKO*EVE=$NroReg'>Añadir registro</a>"

Aquí se está llamando el programa rec en modo de "ver" (en vez de "actualizar") para que muestre el registro que esté en $NroReg. Si fuera para actualizarlo, la llamada sería:

echo "<a href='/$NoS/rec.htm?{$COKO}EVE=$NroReg'>Añadir registro</a>"

Fíjate que se utiliza la variable $NoS que indica el directorio que puede ser sis, n2c o new y siempre tiene el valor apropiado.

Invocación a través de una forma

rec.htm también puede ser llamado a través de una forma (<form >). Esto es un excelente mecanismo cuando se requieren pasar muchos valores para que N2C se adapte a las necesidades del asesor.

Algunos de los parámetros son utilizados en rec.htm y rec.php, y otros sólo en rec.htm. Veamos cuales son esos parámetros y para que sirven:

Parámetros, tipo POST, utilizados en rec.htm: (Ver la figura más abajo para entender mejor la explicación)

Parámetro Explicación
HojaEstilos El archivo de la hoja de estilos a utilizar. Referenciados con respecto a rec.htm. Ej: /ZZZ/04/900/stl/estilorec.css

OcultarDueno

Escribir "SI" para que no se muestre quien es el dueño del registro

OcultarCodigo

Escribir "SI" para que no se muestre el código del registro
idio Código de 3 letras del idioma en el cual debe mostrarse la forma (esp, eng, cat,...)
NOBOTONES Escribir "SI" para OMITIR los botones de OK, Cancelar y Eliminar
CamposAMostrar Los nombres internos de los campos que se quieren mostrar, separados por comas. Nótese que la otra forma de hacer esto es con los perfiles. Si se utiliza esta opción en la entrada de datos, deben incluirse los campos obligatorios, de lo contrario el usuario nunca podrá ingresar un registro, ya que la validación le impedirá ingresarlo, al faltarle un campo obligatorio.
AnchoCol1 AnchoCol2 AnchoCol3 Los anchos de las tres columnas de datos. Pueden ser en píxeles (200px) o en porcentaje (40%). La primera columna es la del nombre del campo (por defecto 25%), la segunda la de ayuda (por defecto 25px), la tercera la que contiene los datos (por defecto 72%)
   
OmitirBotonOK Escribir "SI" para OMITIR el botón de OK
ImgBotonOK Si se quiere tener un botón de OK propio, con una imagen, escribir aquí la dirección de la misma, referenciada desde rec.htm
AltImgBotonOK El texto alterno a la imagen del botón de OK. El texto alterno es el que aparece cuando se pone el mouse sobre el botón.
TextoBotonOK El texto que debe ir en el botón de OK. No usar si se han elegido los tres parámetros previos (OmitirBotonOK, ImgBotonOK y AltImgBotonOK)
   
OmitirBotonCancel Escribir "SI" para OMITIR el botón de Cancelar
ImgBotonCancel Si se quiere tener un botón de "Cancelar" propio, con una imagen, escribir aquí la dirección de la misma, referenciada desde rec.htm
AltImgBotonCancel El texto alterno a la imagen del botón de "Cancelar". El texto alterno es el que aparece cuando se pone el mouse sobre el botón.
TextoBotonCancel El texto que debe ir en el botón de "Cancelar". No usar si se han elegido los tres parámetros previos (OmitirBotonCancel, ImgBotonCancel y AltImgBotonCancel)
   
OmitirBotonDel Escribir "SI" para OMITIR el botón de Eliminar
ImgBotonDel Si se quiere tener un botón de "Eliminar" propio, con una imagen, escribir aquí la dirección de la misma, referenciada desde rec.htm
AltImgBotonDel El texto alterno a la imagen del botón de "Eliminar". El texto alterno es el que aparece cuando se pone el mouse sobre el botón.
TextoBotonDel El texto que debe ir en el botón de "Eliminar". No usar si se han elegido los tres parámetros previos (OmitirBotonDel, ImgBotonDel y AltImgBotonDel)

 

Los parámetros que también tienen influencia sobre rec.php, son:

Parámetro Explicación
Titulo El título que aparece en la forma, en la barra del título
AyudaTitulo El número de la ayuda (en la tabla de ayudas de la aplicación 00-000
AjustarFrame Escribir "SI", si se desea que el frame se ajuste al tamaño utilizado
Ancho El ancho a utilizar. (Default 775px)
NOENLACES Escribir "SI", para omitir los enlaces a las tablas dependientes (hijas) (Ver figura abajo)
ResultadoOK El programa a ser invocado si la actualización es exitosa
IrExtendido Escribir "SI" para que el programa invocado en ResultadoOK sea llamado a través del programa verextendido.php
VersupOK Escribir "SI" para que el programa invocado en ResultadoOK sea llamado a través del programa versup.php
FrameResultadoOK El frame en el cual se desea llamar el programa ResultadoOK (por defecto: _parent
ReturnCokOK El COKO que se desea enviar al programa invocado en ResultadoOK

ReturnCokOkNoCod

V 5.1.c

Si posee el valor de "SI", devuleve el COKO que se desea enviar al programa invocado en ResultadoOK, OMITIENDO el código del registro (Ejemplo: cuando normalmente vendría así: 005zRioCbvwCXd55, si este parámetro es igual a "SI" vendría entonces de esta manera: 005zRioCbvwCXd)

 Columna de enlaces relacionados

Nota: El programa invocado va a recibir como parámetro (en el query string) el código de registro creado

Ejemplo de invocación a través de una forma

Mira el ejemplo siguiente, utilizado para ingresar un registro en la tabla ART:

echo "
<form name='invocar' method='POST' action='rec.htm?{$COKO}ART=0'>
    <input type='hidden' name='OcultarCodigo' value='SI'>
    <input type='hidden' name='AjustarFrame' value='SI'>
    <input type='hidden' name='FrameResultadoOK' value='_parent'>
    <input type='hidden' name='ResultadoOK' value='../Gracias_por_su_articulo.htm'>
    <input type='hidden' name='ReturnCokOK' value='$Cokillo'>
</form>
";

En este ejemplo, llamamos al programa rec.htm pasándole un COKO activo, para que rec.htm pueda autorizar al usuario, con el perfil correspondiente. Se está añadiendo un registro a la tabla ART (ART=0)

Aquí estamos pidiendo que se Oculte el código de registro y que se ajuste el frame en el cual se está ejecutando este ingreso.

Una vez que el usuario haya terminado se le está pidiendo que vaya a la página "../Gracias_por_su_articulo.htm", pasando el COKO que está en la variable $Cokillo (ya que estamos dentro de Web Interactive Builder-WIB), y le estamos pidiendo que se vaya al frame donde se encuentra el padre de este iframe.

¿Quieres más?

¿No te basta con esto? Es normal. Los usuarios (siempre los usuarios) títpicamente van a querer algo más, por ejemplo alguna validación que no sea automática, crear un campo a partir de otros dos, hacer un cálculo especial, actualizar el "padre" del registro para que tenga el total de todos sus registros dependientes... Y la lista continúa al infinito. (Menos mal, esto es lo que nos da trabajo)

Bueno, no te preocupes, rec.htm/php te dan muchos controles adicionales a los que hemos visto. Haz clic aquí para ver que más puedes hacer.