Impresión de marbetes y códigos de barra

 

Para activar esta opción incluya el parámetro

  barcode=Y

en el archivo Dr path.def. Con ello se presentará el ícono Barcode.png en la barra de herramientas del módulo de catalogación para darle acceso al menú correspondiente.

Para tener acceso a esta opción el operador debe ser

  • Administrador del sistema o
  • tener todos los permisos de catalogación sobre la base de datos o
  • tener habilitado el permiso de Impresión de marbetes y códigos de barra

en la base de datos correspondiente.

Esta función le ayudará a imprimir las etiquetas que ayudan a identificar a los objetos de la base datos. Cada una se apoya en un archivo de configuración donde entre otra variables de definen las dimensiones de la etiqueta. Los resultados pueden ser enviados a la pantalla, a un archivo txt o a un procesador de textos. Hasta los momentos solo puede aplicarse cuando la información del inventario se almacena al interior del registro bibliográfico

Las etiquetas pueden emitirse por

  • Número de clasificación
  • Rango de números de inventario
  • Lista de números de inventario
  • Rango de Mfn

Configuración

En este apartado se definen los parámetros que ayudan a extraer información de la base de datos, preparar la presentación de la etiqueta e informar sus dimensiones. Se solicita la siguiente información:

Prefijo del número de clasificación en la FST

Preliteral utilizado para identificar el número de clasificación en la FST. Ejemplo: ST_

Formato para localizar el número de clasificación

Formato que se aplicará sobre la base de datos para extraer el número de clasificación. Se precede del prefijo anterior para presentar la lista de números de clasificación en el proceso de selección de los registros.

Ejemplo:

if p(v82^a) then v82^a,"."v82^b"."v82^c,"."v82^d,"."v82^e, else v82^b,"."v82^c,"."v82^d,"."v82^e fi

Prefijo del número de inventario en la FST (editado)

Preliteral utilizado para identificar los números de inventario en la FST y presentarlos debidamente organizados para la búsqueda por rango, por ejemplo, agregar ceros a la izquierda aún cuando no se haya ingresado de esa manera.

Ejemplo: NICLA_

Nota: Se recomienda agregar este campo a la tabla de indización de los registros (FST).

Ejemplo:

(if p(v900^n) then 'NICLA_',               
   if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else  v900^n, fi,'%' / 
fi)

La secuencia de comandos en este formato:Determina si el campo es numérico (if f(val(v900^n),1,0) = v900^n), lo cual verifica si el valor del campo expresado en forma numérica es igual al valor del campo;En caso afirmativo se convierte el campo a un número a un formato fijo de 5 caracteres rellenando de espacios la izquierda los cuales luego se reemplazan por ceros:

replace(f(val(v900^n),5,0),` `,`0`);

Si no es numérico no se realiza ningun cambio sobre el campo.` Una vez realizados los cambios sobre la FST debe volver a generar la lista invertida.

Nota: El valor 5 mostrado en el formato debe adaptarse al número de posiciones que tiene actualmente el mayor código de barras ingresado en la base de datos.

Formato para localizar el número de inventario (editado)

Se aplicará sobre la base de datos para localizar el número de inventario y presentarlo en la ventana de selección de registros para poder emitir los rotulos por un rango o por una lista de números de inventario. En este ejemplo se han añadido a través del formato, ceros a la izquierda del número de inventario para asegurarse que la secuencia presentada y posteriormente recuperada sea la correcta.

Ejemplo:

if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), 
   else v900^n fi 
   

La secuencia de comandos: Determina si el campo es numérico (if f(val(v900^n),1,0) = v900^n), lo cual verifica si el valor del campo expresado en forma numérica es igual al valor del campo;

En caso afirmativo se convierte el campo a un número a un formato fijo de 5 caracteres rellenando de espacios la izquierda los cuales luego se reemplazan por ceros:

replace(f(val(v900^n),5,0),` `,`0`);

Si no es numérico no se realiza ningun cambio sobre el campo.

Esta es la lista presentada para los rangos de número de inventario cuando se agregan los ceros a la izquierda: centro

Recuerde que debe crear en la FST la clave de recuperación NICLA_ con los números de inventario con ceros a la izquierda:

900 0 (if p(v900^n) then 'NICLA_',if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else v900^n fi,'%' /fi) 

Vea la diferencia si no se usa este método de rellenar con ceros la izquierda:

  • la indización normal en la FST sería 900 0 (|NI_|v900^n|%|/)se utilizaría el prefijo “NI_“ para recuperar los números de inventarioel formato de extracción del número de inventario seria v900^nla lista de números de inventario se visualizaría como: centro con lo cual es imposible establecer un rango de números de inventario.

Prefijo del número de inventario en la FST (no editado)

Preliteral utilizado para identificar los números de inventario en la FST respetando la forma como fueron ingresados. Se utiliza cuando se solicita la impresión a través de una lista de números de inventario ya que es necesario comparar la lista suministrada contra el valor ingresado en cada uno de los registros. Ejemplo: NI_

Formato del número de inventario (no editado)

Se aplicará sobre la base de datos para localizar el número de inventario tal como fue ingresado en la base de datos. Se usa para determinar si el número de inventario del campo repetible de las existencias corresponde al rango o a la lista solicitada. Ejemplo: v900^n

Formato de despliegue (PFT)

Formato a utilizar para imprimir el rótulo o etiqueta seleccionada. Ejemplo de etiqueta de código de barra:

   `
   proc('a1000~' if p(v84[1]) then v84[1] else v82[1] fi'~'),/
   (if p(v900^n) then ,         
   '*INV*'v900^n'*INV*',
   `<center><br>`v900^n`</span><p>`          
   v1000^a[1],|.|v1000^b[1],|.|v1000^c[1],|.|v1000^d[1] '%%%'/
   fi)  `

Note: El uso de para codificar correctamente la PFT La inclusión de la fuente seleccionada para generar el código de barras: ** **

La inclusión de la constante *INV* antes y después del número de inventario (v900^n).

Esto es indispensable porque si se solicita la impresión de un rango o una lista de números de inventario ABCD debe tener acceso a este valor para comparar la información extraída del registro contra los valores solicitados para determinar si una ocurrencia de las existencias va a ser o no va a ser incluída en la salida solicitada.Los saltos de línea fueros agregados para proporcionar mejor visibilidad al formato. El archivo de configuración no debe tener saltos de línea ya que se interpreta un parámetro por línea. Si lo desea el formato puede suministrarse como una pft externa utilizando @nombre_del_formato.pft.

Formato de despliegue (PFT) Enviar a TXT

Formato a aplicar cuando el resulado quiere ser enviado a un archivo TXT a fin de que sea procesado por una impresora especial. Puede ingresarse directamente en la casilla de texto o proveer el nombre de un formato ya existente o por crear en ese mismo proceso. Use el botón BarEdit.png para editar o crear el formato correspondiente`

Ejemplo del formato a aplicar para generar un archivo TXT para la impresión de los códigos de barra desde una impresora Zebra:

 proc('a1000~' if p(v84[1]) then v84[1] else v82[1] fi'~'),/  
 (if p(v900^n) then ,     **'\*INV\*'v900^n'\*INV\*'**,     '^XA~TA0~JSO^LT0^MMT^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2^MD30^JUS^LRN^CI0^XZ',/
      '^XA^LL0203',/
      '^PW831',/
      '^FO,31^FS',/
      '^FT97,41^A0N,25,43^FH^FD',v1000^a[1]'^FS',/
      '^FO,31^FS',/
      '^FT97,72^A0N,25,43^FH^FD'v1000^b[1]'^FS',/
      '^FO,31^FS',/     
      '^FT97,103^A0N,25,43^FH^FD'v1000^c[1],'^FS',/
      '^FO,31^FS',/      
      '^FT97,134^A0N,25,43^FH^FD'v1000^d[1]'^FS',/     
      '^FO,31^FS',/,     
      if p(v1000^d) then '^FT97,165^A0N,25,43^FH^FD' else '^FT97,134^A0N,25,43^FH^FD' fi,     
      if a(v900^m) and a(v900^e) then |Ej. |v900^l, 
      else 
         if a(v900^m) and p(v900^e) then |T. |v900^e,| Ej. |v900^l 
            else
               if p(v900^m) then |Vol. |v900^m, | T. |v900^e,|  Ej. |v900^l
               fi,
            fi,
         fi,'^FS',/
      '^FO,31^FS',/     
      if p(v1000^d) then '^FT97,196^A0N,25,43^FH^FD' else '^FT97,165^A0N,25,43^FH^FD' fi,     
      if p(v1000^f) then v1000^f fi'^FS',/     
      '^FO,31^FS',/     
      '^FT97,196^A0N,25,43^FH^FD'v1000^k'^FS',/     
      '^BY3,3,86^FT501,145^BCN,,N,N',/     
      '^FD>'v900^n'^FS',/     
      '^FO,27^FS',/     
      '^FT498,36^A0N,22,28^FH^FDBIBLIOTECA XXXXXX^FS',/     
      '^FO,23^FS',/     
      '^FT596,168^A0N,19,33^FH^FD',v900^n,'^FS',/     
      '^PQ1,0,1,Y^XZ',**/'%%%'**  fi/) ``  **'\*INV\*'v900^n'\*INV\*'**,  
  debe aparecer obligatoriamente al inicio de cada ocurrencia ya que de esta forma el proceso puede identificar el número de inventario  correspondiente para determina si se incluye o no en los listados por rango o por número de inventario ``  Note que el número de clasificación se agrega al campo 1000 y luego esa etiqueta se menciona en el grupo repetible utilizando  siempre la primera ocurrencia del mismo ``  **/'%%%'**   Marcador para separar las distintas ocurrencias generadas por el formato ``  **Si lo desea el formato puede suministrarse como una pft externa utilizando @\*nombre_del_formato\*.pft** `

Alto de la etiqueta

Alto en centímetros de la etiqueta. Este valor será convertido a em, multiplicándolo por 2.37106301584 a efectos del cuadre en la impresora.

Ancho de la etiqueta

Ancho en centímetros de la etiqueta. Este valor será convertido a em, multiplicándolo por 2.37106301584 a efectos del cuadre en la impresora.

Número de etiquetas por línea

Para páginas con más de una etiqueta por línea

Cada tipo de etiqueta o rótulo tendrá su propio archivo de configuracion.

Ejemplos de salidas

Códigos de barras

Archivo de configuración:

 classification_number_pref=ST_
 classification_number_format=if p(v82^a) then v82^a,"."v82^b"."v82^c,"."v82^d,"."v82^e, else v82^b,"."v82^c,"."v82^d,"."v82^e fi
 inventory_number_pref=NICLA_
 inventory_number_format=if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else v900^n fi
 inventory_number_pref_list=NI_
 inventory_number_display=v900^n
 label_format=@barcode.pft
 label_format_txt=@barcodetxt.pft
 height=4
 width=7
 cols=3

Resultado: "centro"

Lomos

Archivo de configuración:

 classification_number_pref=ST_
 classification_number_format=if p(v82^a) then v82^a,"."v82^b"."v82^c,"."v82^d,"."v82^e, else v82^b,"."v82^c,"."v82^d,"."v82^e fi
 inventory_number_pref=NICLA_
 inventory_number_format=if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else v900^n fi
 inventory_number_pref_list=NI_
 inventory_number_display=v900^n
 label_format=@lomos.pft
 label_format_txt=@lomos_txt.php
 height=3
 width=5
 cols=4
 Ejemplo del formato lomos.pft
 
   (if p(v900^n) then 
     '*INV*'V900^n'*INV*'
     '<center><br><strong><span style="font-size:20px; font-face=arial">',
     if p(v82^a[1]) then 
        v82^a[1], |.|v82^b[1],|<br>|v82^c[1],|<br>|v82^d[1],"<br>"v82^e[1], 
     else 
        v82^b[1],|<br>|v82^c[1],|<br>|v82^d[1],|<br>|v82^e[1] , 
     fi  
     '<br>',
     if a(v900^m) and a(v900^e) then 
        |Ej. |v900^l, 
     else 
        if a(v900^m) and p(v900^e) then 
           |T. |v900^e,| Ej. |v900^l 
        else 
           if p(v900^m) then 
               |Vol. |v900^m, | T. |v900^e,|  Ej. |v900^l / 
           fi,
        fi,
     fi,
     '%%%',
   fi/)

Resultado: "centro"

Etiquetas

Archivo de configuración:

 classification_number_pref=ST_
 classification_number_format=if p(v82^a) then v82^a,"."v82^b"."v82^c,"."v82^d,"."v82^e, else v82^b,"."v82^c,"."v82^d,"."v82^e fi
 inventory_number_pref=NICLA_
 inventory_number_format=if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else v900^n fi
 inventory_number_pref_list=NI_
 inventory_number_display=v900^n
 label_format=@etiquetas.pft
 label_format_txt=@etiquetas_txt.php
 height=5
 width=10
 cols=2
 Ejemplo del formato etiquetas.pft
  ('<table><tr><td valign=top align=center width=50>'
      '*INV*'V900^n'*INV*'
      if a(v82[1]) and a(v84[1]) then ' ' fi,
      if p(v82^a[1]) then 
        v82^a[1], |.|v82^b[1],|<br>|v82^c[1],|<br>|v82^d[1],"<br>"v82^e[1], 
      else 
        v82^b[1],|<br>|v82^c[1],|<br>|v82^d[1],|<br>|v82^e[1] , 
      fi,
      '<br>' 
      if a(v900^m) and a(v900^e) then 
        |Ej. |v900^l, 
      else 
        if a(v900^m) and p(v900^e) then 
           |T. |v900^e,| Ej. |v900^l 
        else 
           if p(v900^m) then 
               |Vol. |v900^m, | T. |v900^e,|  Ej. |v900^l / 
           fi,
        fi,
      fi,
      '</td><td valign=top width=220><br>'v100^a[1] if p(v100^a[1]) then '<br>' fi,v245^a,
      '</td><td width=50 valign=top align=right>'V900^n
      '</TD></tr></table>%%%'/
  )
  

Resultado: centro

Enviar a

Se determina el medio al cual van a enviarse las etiquetas emitidas de acuerdo a las siguientes posibilidades:

Pantalla

Documento MsWord

Txt

Selección de los registros

En este apartado se define el método a utilizar para extraer los registros de la base de datos según las siguientes posibilidades:

Por número de clasificación

Utiliza los parámetros Prefijo del número de clasificación en la FST y Formato para localizar el número de clasificación para presentar la lista de números de clasificación. Seleccione de la misma el rango desde y hasta que desee extraer. Se generará una etiqueta para cada número de inventario contenido en cada registro del rango seleccionado.

Por rango de números de inventario

Utiliza los parámetros Prefijo del número de inventario en la FST y Formato para localizar el número de inventario para presentar la lista de números de clasificación. Seleccione de la misma el rango desde y hasta que desee extraer. Se generará una etiqueta para cada número de inventario contenido en cada registro del rango seleccionado.

Recuerde las consideraciones ya explicadas anteriormente para presentar una lista de números de inventario debidamente ordenada.

Por lista de números de inventario

Utiliza los parámetros Prefijo número de inventario (no editado) y Formato del número de inventario (no editado) para construir la búsqueda que localiza la lista de números de inventario.

Por rango de Mfn

Lee cada uno de los registros del rango de Mfns solicitado. Se generará una etiqueta para cada número de inventario contenido en cada registro del rango seleccionado.