Difference between revisions of "IAH Reserva en línea"

From ABCD Wiki
Jump to: navigation, search
(Agregar el script Reservar en el formato a ahhead.pft=)
Line 41: Line 41:
  
  
==Agregar el script '''Reservar''' en el formato a '''ahhead.pft'''===
+
==Agregar el script '''Reservar''' en el formato a '''ahhead.pft'''==
La función '''Reservar''' a la cual se hace referencia en el vínculo agregado anteriormente debe estar definida en el formato '''ahhead.pft'''  localizado en '''htdocs/iah/scripts/''[codigo_de_lenguaje_activo]''
+
La función '''Reservar''' a la cual se hace referencia en el vínculo agregado anteriormente debe estar definida en el formato '''ahhead.pft'''  localizado en '''htdocs/iah/scripts/''[codigo_de_lenguaje_activo]''. Esta función se define de la siguiente forma:
 +
 
 +
      <nowiki>function Reservar(cn,base,copies){
 +
          DB_PATH="'V5000^b'"
 +
          lang="'V5021'"
 +
          url="/central/iah/usuario_prestamo.php?Expresion=CN_"+cn+"&base="+base+"&cipar="+base+".par&copies="+copies+"&desde=IAH_RESERVA&Opcion=IAH&DB_PATH="+DB_PATH+"&lang="+lang
 +
          msgwin=window.open(url,"Reserva","width=400,height=250,scrollbars,resizable");
 +
          msgwin.focus()     
 +
      }</nowiki>
 +
 
 +
La variable '''v5000^b''' la provee el iAH y contiene el camino hacia la carpeta de bases de datos definido en el archivo de configuración '''iah.def.php''' localizado en la carpeta '''htdocs/iah/scripts'''.
 +
 
 +
La variable '''v5021''' la provee el iAH con el código de lenguaje activo.
 +
 
 +
Esta función abre una nueva ventana para solicitar la clave del usuario a través del script '''central/iah/usuario_prestamo.php'''

Revision as of 10:57, 25 January 2015

Colocar el enlace para reservar un registro

Para invocar el script que inicia el proceso de reserva en línea, incluya la siguiente sentencia del lenguaje de formateo utilizado en el formato utilizado para mostrar los registros en el iAH  :

  `<a href='javascript:Reservar("`V2`","biblo","S")'>Reservar</A>`
   Nótese el uso de diferentes tipos de apóstrofes y comillas para construir la sentencia del lenguaje de formateo:
   
   ` Como delimitador de literal incondicional en el lenguaje de formateo
   ' Como delimitador de la sentencia <a href para referenciar correctamente la función Reservar
   " Como delimitador de los parámetros que se pasan a la función Reservar  

De esta forma se hace un llamado a la función Reservar la cual debe recibir 3 parámetros:

     Número de control o identificador del registro bibliográfico que se desea reservar
     Nombre de la base de datos sobre la cual se va a aplicar la reserva
     Indicador de si trabaja con copias ("S") o si el inventario está insertado en el registros ("N")

En el ejemplo mostrado el número de control o identificador del registro está en el campo V2, la base de datos que contiene la referencia bibliográfica se llama biblo y se está trabajando con la base de datos de copias. Ver Modalidades para el manejo del inventario de la colección

Si desea condicionar la aparición del enlace solo en aquellos casos de que el registro posea copias puede condicionar la inclusión del script de acuerdo al número de ocurrencias del campo del inventario. Ejemplos:

Si se trabaja con copias

     ref(['loanobjects']l(['loanobjects'],'CN_biblo_'v2),
           '<p><table border=0 bgcolor=#cccccc>'
           '<td colspan=4 bgcolor=white><b>Disponibilidad en préstamos</b>: 'f(nocc(v959),1,0)'</td>'
           '<tr><td>No.inventario</td><td>Biblioteca</td><td>Tipo de material</td><td>Devolución</td>'
	   (if p(v959) then '<tr><td align=center bgcolor=white>'v959^i'</td>
           <td align=center bgcolor=white>'v959^l'</td><td align=center bgcolor=white>'v959^o'<td bgcolor=white>' 
           e1:=e1+1 
           ref(['trans']l(['trans'],'TR_P_'v959^i),v40,) '</td>' fi/)
	   '</table>',
      )
      if e1>0 then
	`<a href='javascript:Reservar("`V2`","biblo","S")'>Reservar</A>`
      fi

En este ejemplo se accede a la base de datos loanobjects y por cada ocurrencia del campo 959 se incrementa en 1 la variable virtual e1 y se hace un acceso a la base de datos de transacciones, para ver si ese número de inventario está prestado. En caso afirmativo se obtiene la fecha de devolución.

Al terminar de recorrer todas las ocurrencias del campo 959 se analiza la variable e1 y es mayor que cero entonces se incluye el vínculo para reservar ya que el registro posee existencias. El incremento de la variable e1 podría condicionarse a cualquier análisis que pueda efectuarse sobre la ocurrencia del registro de loanobjects que se está procesando en ese momento


Agregar el script Reservar en el formato a ahhead.pft

La función Reservar a la cual se hace referencia en el vínculo agregado anteriormente debe estar definida en el formato ahhead.pft localizado en htdocs/iah/scripts/[codigo_de_lenguaje_activo]. Esta función se define de la siguiente forma:

     function Reservar(cn,base,copies){
          DB_PATH="'V5000^b'"
          lang="'V5021'"
          url="/central/iah/usuario_prestamo.php?Expresion=CN_"+cn+"&base="+base+"&cipar="+base+".par&copies="+copies+"&desde=IAH_RESERVA&Opcion=IAH&DB_PATH="+DB_PATH+"&lang="+lang
          msgwin=window.open(url,"Reserva","width=400,height=250,scrollbars,resizable");
          msgwin.focus()      
       }

La variable v5000^b la provee el iAH y contiene el camino hacia la carpeta de bases de datos definido en el archivo de configuración iah.def.php localizado en la carpeta htdocs/iah/scripts.

La variable v5021 la provee el iAH con el código de lenguaje activo.

Esta función abre una nueva ventana para solicitar la clave del usuario a través del script central/iah/usuario_prestamo.php