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

From ABCD Wiki
Jump to: navigation, search
(Procesamiento de la reserva)
Line 107: Line 107:
 
[[Archivo:Estadodecuenta_web3.png|marco|center]]
 
[[Archivo:Estadodecuenta_web3.png|marco|center]]
  
 +
{| class="wikitable"
 +
|-
 +
| (1) || Logo que se especifica bajo el parámetro LOGO_OPAC del archivo de configuracion '''abcd.def'''
 +
|-
 +
| (2) || Mensaje identificado como '''iah_usuario_reserva''' en el archivo de mensajes '''prestamo.tab'''.
 +
Puede editar este mensaje colocando etiquetas HTML para ampliar la información que desea transmitir al usuario
 +
|}
  
  
Line 122: Line 129:
  
 
Los formatos con los que se presenta la información están definidos bajo la opción de '''configuración''' del módulo de préstamo circulante. Los scripts que realizan el análisis de la procedencia la reserva son los mismos utilizados por el operador de préstamos cuando hace la reserva en forma directa.
 
Los formatos con los que se presenta la información están definidos bajo la opción de '''configuración''' del módulo de préstamo circulante. Los scripts que realizan el análisis de la procedencia la reserva son los mismos utilizados por el operador de préstamos cuando hace la reserva en forma directa.
 
  
 
==Colocar un logo en las ventanas presentadas al usuario==
 
==Colocar un logo en las ventanas presentadas al usuario==

Revision as of 03:06, 23 November 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


Si se trabaja sin copias

Asumiendo que las copias estén en el campo 101 se podría construir este formato para presentar la disponibilidad del título:

  if p(v101) then
      e2:=npost(['trans'],'ON_P_'v2),/
      e1:=nocc(v101),/
      '<p>Total de ejemplares: ' ,f(e1,1,0),'<br>',
      'Total prestados: ' f(e2,1,0) '<br>',
      '<table bgcolor=#cccccc width=100%>
            <td colspan=12 align=center><strong>Existencias</strong></td>
          <tr>
            <th>Inventario</th>
            <th nowrap>Tipo obj.</th>
            <th>Vol.</th>
            <th>Ej.</th>
            <th>Ubicac.</th>   
            <td>F.Devolucion</th>
           </tr>'
       (if p(v101) then 
           '<tr><td bgcolor=white>'v101^n'</td>'
              '<td bgcolor=white>'v101^t'</td>'
              '<td bgcolor=white>'v101^m'</td>'
              '<td bgcolor=white>'v101^l'</td>'
              '<td bgcolor=white>'v101^o'</td>'
              '<td bgcolor=white>',  
                    REF->trans(L->trans('TR_P_'v101^n),
                           '<span style="color:#990000">'v40*6.2"/",v40*4.2"/", v40*0.4' 'v45'</span>')
              '</td></tr>' 
        fi/)
       '</table>'
   fi
   if e1-e2>0 then
      `<a href='javascript:Reservar("`V2`","biblo","N")'>Reservar</A>`
   fi

Note que en este caso la tercera variable que se pasa al script Reservar tiene el valor N para indicar que no se trabaja con la base de datos de copias.

El formato mostrado en el ejemplo muestra las existencias de la siguiente manera: marco|centro


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

  Nota importante:
     Si copia directamente los scripts y comandos del lenguaje de formateo al block de notas (Notepad) las comillas simples hay que escribirlas nuevamente en el documento porque de otro modo esos caracteres 
     no son interpretados correctamente por el editor del block de notas.

Procesamiento de la reserva

marco|center

(1) Logo que se especifica bajo el parámetro LOGO_OPAC del archivo de configuracion abcd.def
(2) Mensaje identificado como iah_usuario_reserva en el archivo de mensajes prestamo.tab.

Puede editar este mensaje colocando etiquetas HTML para ampliar la información que desea transmitir al usuario


Al suministrar el código del usuario se verifica su validez contra la base de datos users, se accede al estado de cuenta del usuario y se revisa si la política de préstamos y reserva permite reservar el título.

Si no se puede reservar se presenta una ventana con el resultado indicando la causa del rechazo marco|centro

Si la reserva procede se presenta el botón correspondiente para formalizarla: marco|centro

y luego se presenta el resultado del proceso el cual incluye el estado de cuenta del usuario marco|centro


Los formatos con los que se presenta la información están definidos bajo la opción de configuración del módulo de préstamo circulante. Los scripts que realizan el análisis de la procedencia la reserva son los mismos utilizados por el operador de préstamos cuando hace la reserva en forma directa.

Colocar un logo en las ventanas presentadas al usuario

Si se desea colocar un logo en las ventanas de solicitud de código de usuario y resultados de la reserva, modifique el archivo abcd.def colocado en la carpeta de las bases de datos y agregue el parámetro:

    LOGO=[url del logo que se desea presentar]


Colocar un mensaje en las ventana donde se solicita el código de usuario

Si desea agregar un mensaje en la ventana que pide el código de usuario para efectos de la reserva, edite el archivo /bases/lang/00/prestamo.tab y/o /bases/lang/[código de lenguaje]/prestamo.tab y agregue la siguiente línea:

  iah_usuario_reserva=Para reservar ingrese su código de usuario sin incluir signos de separación

Puede modificar el texto que se encuentra a continuación del signo = e incluir tags HTML para saltos de línea, colores, etc


Colocar un mensaje en la ventana donde se permite reservar un título

Si desea agregar un mensaje en la ventana que pide presenta la información del título cuya reserva ha sido solicitada, edite el archivo /bases/lang/00/prestamo.tab y/o /bases/lang/[código de lenguaje]/prestamo.tab y agregue la siguiente línea:

        rsvr_hlp=Marque el título que desea reservar y haga clic sobre Reservar

Puede modificar el texto que se encuentra a continuación del signo = e incluir tags HTML para saltos de línea, colores, etc