This is an old revision of the document!
Cambios a realizar en Catalis 2005.06.09 para poder generar automáticamente el número de inventario.
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? }