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.