Etiquetas

From ABCD Wiki
Revision as of 01:22, 5 January 2020 by Guilda (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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
Se provee un rango de los números de clasificación de los registros y el reporte se emite para todos los números de inventario almacenados en el registro
  • Rango de números de inventario
Se provee un rango de números de inventario y el reporte se emite para los números de inventario solicitados
  • Lista de números de inventario
Inserte en el recuadro correspondiente y separados por , los números de inventario para los cuales quiere realizar la impresión
  • Rango de Mfn
Se provee un rango de Mfns y el reporte se emite para todos los números de inventario contenido dentro de cada registro del rango solicitado


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:

Parámetro Significado
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:

  1. 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;
  2. 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`);
  3. 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:
  1. 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;
  2. 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`);
  3. Si no es numérico no se realiza ningun cambio sobre el campo.<p>

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:

  1. la indización normal en la FST sería 900 0 (|NI_|v900^n|%|/)
  2. se utilizaría el prefijo "NI_" para recuperar los números de inventario
  3. el formato de extracción del número de inventario seria v900^n
  4. la 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><span  style="font-family:'Bar Code 39 e HR' ; font-size:40px">`v900^n`</span><p>`
          v1000^a[1],|.|v1000^b[1],|.|v1000^c[1],|.|v1000^d[1] '%%%'/
       fi) 

Note:

  1. El uso de ` para codificar correctamente la PFT
  2. La inclusión de la fuente seleccionada para generar el código de barras:
    <span style="font-family:'Bar Code 39 e HR' ; font-size:40px">
  3. 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.
  4. 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

Envía la salida generada a la pantalla del equipo. Puede utilizar la opción Imprimir del menú del navegador para obtener una copia impresa; en este caso debe configurar la impresora para establecer los márgenes y eliminar todos los encabezamienos de la página


Documento MsWord

Envía la salida a un procesador de palabras. Se ha probado con éxito en OpenOffice. Una vez desplegado el documento en el procesador de palabras debe establecer los márgenes del mismo


Txt

Use esta opción para generar un archivo de intercambio con otro software que desee utilizar para imprimir las etiquetas generadas. En este caso ABCD utilizará el formato establecido bajo Formato de despliegue (PFT). Enviar a TXT en el archivo de configuración correspondiente.

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.