User Tools

Site Tools


generacion_de_inventarios

This is an old revision of the document!


Generación automática de números de inventario

Documento creado el 18 de agosto de 2007. ¿Para la Biblioteca Rivadavia? ¿Procedimiento testeado?

Cambios a realizar en Catalis 2005.06.09 para poder generar automáticamente el número de inventario.

  • En el archivo catalis.conf agregar un parámetro para activar o desactivar esta funcionalidad.
  • Crear un archivo inventario.txt, que inicialmente tendrá el último número de inventario asignado.

editEjemplares.htm

Agregamos un botón que permita solicitar un nuevo número de inventario. El botón sólo debe estar disponible cuando se crea un nuevo ejemplar, y sólo si la funcionalidad está habilitada en catalis.conf.

<tr>
    <td class="ejLabel">Inventario</td>
    <td>
        <input id="inventario" type="text" size="10" style="background: #FF9;">
        <button id="obtenerInventario">Obtener inventario</button>
    </td>
</tr>

Creamos un manejador para el evento click del botón:

document.getElementById("obtenerInventario").onclick = function() {
    // llama a catalis.xis para solicitar un nro. de inventario   
}

catalis.xis

Agregar al cipar:

'INVENTARIO.TXT=',v6003^b,'/catalis/',v2104,'/inventario.txt'/
'INVENTARIO.HTM=',...

Agregar tarea:

<!-- ----------------------------------------------------------------- -->
<label>DISPATCH</label>
<!-- ----------------------------------------------------------------- -->
<!-- Tareas a realizar por el script -->
<field action="replace" tag="2101"><pft>
    ...
    '~NEW_INVENTARIO'      /* genera un nuevo nro. de inventario */
    '~',
</pft></field>
  
<!-- ----------------------------------------------------------------- -->
<label>NEW_INVENTARIO</label>
<!-- ----------------------------------------------------------------- -->
<include>catalis/xis/generar-inventario.xis</include>
<flow action="jump">END</flow>

generar-inventario.xis

<!-- Generamos numero de inventario -->
<!-- ATENCION: definir correctamente la regla a utilizar -->
<field action="replace" tag="1"><pft>
    replace(s(f(val(cat('INVENTARIO.TXT'))+1,6,0)),' ','0')
</pft></field>

<!-- Guardamos el nuevo numero en el archivo inventario.txt -->
<file action="create" type="output">INVENTARIO.TXT</file>
<display><pft>v1</pft></display>
<file action="close" type="output">INVENTARIO.TXT</file>

<!-- Enviamos el nuevo numero al cliente -->
<display><htmlpft><pft>cat('INVENTARIO.HTM')</pft></htmlpft></display>

inventario.htm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- 
    ===========================================================================
    inventario.htm

    Esta pagina va al IFRAME oculto.
    Trae desde el servidor un numero de inventario.
    Al cargarse, invoca a la funcion que presentara los datos en la pantalla.
    
    (c) 2007 Fernando J. Gomez - INMABB - CONICET
    ===========================================================================
-->

<html>
<head>
    <title></title>
    <script type="text/javascript">
        function init() {
            parent.showInventario(inventario);
        }
        
        window.onload = init;
    </script>
</head>
<body><!-- empty body --></body>
</html>

catalis.js

Agregamos una función que presenta el nro. de inventario en el formulario de existencias:

// -----------------------------------------------------------------------------
function showInventario(inventario)
// 
// -----------------------------------------------------------------------------
{
    // coloca el valor en el input
    document.getElementById("inventario").value = inventario;
    // readonly?
}
generacion_de_inventarios.1242097397.txt.gz · Last modified: 12/05/2009 00:00 (external edit)