| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Generación de códigos de barra

Page history last edited by Guilda Ascencio 11 years, 1 month ago

Los códigos de barra a generar pueden estar localizados

  • En la base de datos copies, donde figura un registro por cada copia de cada objeto registrado en una base de datos bibliográfca
  • En la base de datos bibliográfica, donde cada registro bibliográfico contiene en un campo repetible la información de sus copias

 

Generación de códigos de barra desde la base de datos copies

 

Requisitos:

 

1. Definir el archivo barcode.conf estableciendo los siguientes valores:

 

Vinculada a copies

Este parámetro se lee del archivo bases.dat y no puede ser modificado en este procedimiento
Y
Prefijo para localizar el número de clasificación, tal como fue definido en la FST  ST_ (o el que corresponda)
Formato para desplegar el número de clasificación en la etiqueta del código de barras (sin @ y sin con la extensión .pft).  Este formato debe existir en la carpeta pfts del lenguaje activo de la base de dato activa y en él se debe establecer el estilo de la fuente y otros parámetros requeridos en la impresión de la etiqueta. signatura.pft (o el que corresponda)
Formato para desplegar, desde la base de datos copies, el código de barras del número de inventario (sin @ y con la extensión .pft incluída al final. Debe existir en la carpeta pfts del lenguaje activo de la base de datos copies y en él se debe establecer:  el formato para extracción del número de inventario (v1), el formato de extracción del nombre de la base de datos donde se encuentra catalogada la copia (v10) y el formato para extraer el número de inventario indicando  la fuente a utilizar para presentar el código de barras
barcode.pft

 

Ejemplos:

signatura.pft (en la base de datos bibliográfica)

v3^*,|.|v3^b,|.|v3^c,|.|v3^d,|.|v3^e

barcode.pft (en copies)

v1'|',v10,'|',`<br><span  style="font-family:'Bar Code 39 e HR' ; font-size:40px">`v30`</span><br><br>`/

En este formato se extraen de la base de datos copies: el número de control, el nombre de la base de datos donde está localizada la descripción del registro bibliográfico de la copia, y el número de inventario. Nótese el uso de ` para expresar el literal incondicional ya que en la codificación HTML se utilizan ' y ".

 

 

Cambios necesarios en la FST de la base de datos copies:

 

A efectos de lograr que el diccionario de términos del número de control y el número de inventario pueda presentarse en forma ascendente, es necesario crear nuevas claves en la FST de la base de datos de copias que garanticen que las claves tengan el mismo tamaño para lograr la secuencia correspondiente.

 

Estas claves deben estar precedidas por los prefijos CNS_ si se trata del número de control, e INS_  si se trata del número de inventario. Recuerde además que la base copies puede tener las copias provenientes de distintas bases de datos lo que hace que el número de control pueda repetirse pero el número de inventario es único. Por esta razón, para darle unicidad al número de control, agregamos como parte del prefijo el nombre de la base de datos (v10) para evitar la presencia de varios números de control con el mismo valor pero provenientes de bases de datos diferentes.

 

La generación de la clave secuencial del número de control no debería tener problema ya que es un valor numérico y puede crearse en la fst de copies la siguiente entrada:

1 0 "CNS_"v10,'_',replace(f(val(v1),7,0),' ','0')

 

Esto expandirá el número de control a 7 posiciones, agregando ceros a la izquierda (recuerde que puede obligar que el número de control tenga un tamaño fijo utilizando el parámetro $max_cn_length definido en el config.php). Se puede ajustar el valor del comando f del lenguaje de formateo con que se elabora la clave, dependiendo del tamaño fijo que quiera darse al número de control.

 

Para el caso de los números de inventario, todo depende del patrón de ingreso adoptado para este valor. Si es numérico puede hacerse la misma consideración que para el número de control (omitiendo el nombre de la base de datos ya que el número de inventario debe ser único)

 

Para ver los números de inventario en orden numérico ascendente, desde la base de datos copies, crear en la fst de copies la siguiente entrada:

30 0 'INS_',replace(f(val(v30),7,0),' ','0')

Es obligatorio expander el número de inventario a 7 ceros a la izquierda porque internamente también se usa esta refer

 

Para poder extraer las copias de acuerdo a su fecha de ingreso, crrear la siguiente entrada:

85 0 "FE_"v85

 

El script configure.php localizado en la carpeta central/reportes se encarga de leer los parámetros de configuración para emisión de los códigos de barra, los cuales se encuentran expresados en el archivo barcode.conf localizado en la carpeta pfts de la base de datos y lenguaje activos. Estos parámetros son:

 

pref_classification_number
Prefijo para localizar el número de clasificación de la base de datos catalogáfica
format_classification_number Formato para extraer el número de clasificación de la base de datos catalográfica
pref_control_number
Prefijjo para localizar el número de control de la base de datos catalográfica
format_control_number
Formato para extrar el número de control de la base de datos catalográfica
pref_inventory_number
Prefijo para localizar el número de inventario en la base de datos de copias
format_inventory_number
Formato para extraer el número de inventario desde la base de datos copias
format_inventory_barcode
Formato para extraer información de la base de datos copias y obtener: número de control, nombre base de datos catalográfica y formato del número de inventario
   
   

 

Ejemplo:

 

Si la FST de copies establece:

 

1 0 "CN_"v10,"_"V1
1 0 "CNS_"v10,'_',replace(f(val(v1),7,0),' ','0')
1 0 'ORDER_'v100,'_'v110,'_'v120
30 0 "IN_"V30
30 0 'INS_' if size(v30)<6 then '0'v30 else v30 fi
30 0 "KEY_"V10,"_"V30        
200 0 "STATUS_"V200^a

 

donde,

 

  • la secuencia del número de control (CNS_) se establece agregando el nombre de la base de datos y  rellenando el campo con ceros a la izquierda hasta alcanzar una longitud de 7 dígitos
  • la secuencia del número de inventario (INS_) se establece agregando un cero a la izquierda si la longitud del campo es menos de 6 dígitos

 

entonces las variables de configuracion del script central/reportes/configure.php deben indicar:

 

 

Nota para mi:  es mejor hacer un script propio para capturar las claves directamente del diccionario y eliminar de esta forma la necesidad de establecer el formato de extracción de las claves desde el registro y tomarlas directamente desde el diccionario.

 

$fe_inventory="if size(v30)<6 then `0`v30 else v30 fi`$$$`if size(v30)<6 then `0`v30 else v30 fi"

 

 

Comments (0)

You don't have permission to comment on this page.