Cambios a realizar en Catalis 2005.06.09 para poder generar automáticamente el número de inventario.
Sugerencia: sería útil también que se pudieran generar diferentes formatos de inventario. Las colecciones de materiales especiales o no librarios suelen tener asociado el tipo de material al número de inventario. Ej.: CD0001. — Claudia 2009/09/11 10:40
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 }
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>
<!-- 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>
<!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>
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? }