Difference between revisions of "Etiquetas"

From ABCD Wiki
Jump to: navigation, search
(Etiquetas)
 
(31 intermediate revisions by the same user not shown)
Line 1: Line 1:
Esta opció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
+
Para activar esta opción incluya el parámetro
 +
  barcode=Y
 +
en el archivo [[Dr path.def]]. Con ello se presentará el ícono [[File: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
 
Las etiquetas pueden emitirse por
 
* Número de clasificación
 
* 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
 
: 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
* Número de inventario
+
* 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
 
: 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
 
* 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
 
: 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
Line 21: Line 34:
 
|valign=top | Formato para localizar el número de clasificación ||valign=top | 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: <br><font face="courier new">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</font>
 
|valign=top | Formato para localizar el número de clasificación ||valign=top | 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: <br><font face="courier new">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</font>
 
|-
 
|-
|valign=top | Prefijo del número de inventario en la FST ||valign=top | Preliteral utilizado para identificar los números de inventario en la FST. Si desea que la lista se presente organizada por números de inventario aún cuando el mismo no tenga ceros a la izquierda puede utilizar un prefijo especial para indizar los números de inventario agregando ceros a la izquierda. Ejemplo: <br>'''NICLA_'''
+
|valign=top | Prefijo del número de inventario en la FST (editado) ||valign=top | 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: <br>'''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.<p>
 +
  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.
 +
 
 
|-
 
|-
|valign=top | Formato para localizar el número de inventario ||valign=top | 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 de número 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: <br><font face="courier new">if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else v900^n fi </font><br>La secuencia de comandos: <br>
+
|valign=top | Formato para localizar el número de inventario (editado)||valign=top | 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: <br><font face="courier new">if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else v900^n fi </font><br>La secuencia de comandos: <br>
 
# 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;  
 
# 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`);  
 
# 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.<p>
 
# Si no es numérico no se realiza ningun cambio sobre el campo.<p>
Esta manera esta es la lista presentada para los rangos de número de inventario:
+
 
[[Archivo:Rango números de inventario.png|centro]]
+
Esta es la lista presentada para los rangos de número de inventario cuando se agregan los ceros a la izquierda:
 +
[[File:Rango números de inventario.png|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:<br><font face="courier new">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) </font><br>
 
Recuerde que debe crear en la FST la clave de recuperación '''NICLA_''' con los números de inventario con ceros a la izquierda:<br><font face="courier new">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) </font><br>
 
Vea la diferencia si no se usa este método de rellenar con ceros la izquierda:  
 
Vea la diferencia si no se usa este método de rellenar con ceros la izquierda:  
Line 35: Line 62:
 
# el formato de extracción del número de inventario seria <font face="courier new">'''v900^n</font>
 
# el formato de extracción del número de inventario seria <font face="courier new">'''v900^n</font>
 
# la lista de números de inventario se visualizaría como:<br>
 
# la lista de números de inventario se visualizaría como:<br>
[[Archivo:Rango números de inventario no clasificados.png|centro]]
+
[[File:Rango números de inventario no clasificados.png|centro]]
 
con lo cual es imposible establecer un rango de números de inventario.
 
con lo cual es imposible establecer un rango de números de inventario.
 
|-
 
|-
|valign=top| Formato de despliegue (PFT)||valign=top| Formato a utilizar para imprimir el rótulo o etiqueta seleccionada. Ejemplo:<br><font face="courier new"><nowiki>`<center><br><span  style="font-family:'Bar Code 39 e HR' ; font-size:40px">$$INV</span><p>`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</nowiki></font><br>
+
|valign=top | Prefijo del número de inventario en la FST (no editado) ||valign=top | 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_
 +
|-
 +
|valign=top | Formato del número de inventario (no editado)||valign=top | 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
 +
|-
 +
|valign=top| Formato de despliegue (PFT)||valign=top| Formato a utilizar para imprimir el rótulo o etiqueta seleccionada. Ejemplo de etiqueta de código de barra:
 +
    <nowiki>
 +
    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) </nowiki>
 +
 
 
Note:
 
Note:
# El uso de '''` ' "''' para codificar correctamente la PFT
+
# El uso de '''` ''' para codificar correctamente la PFT
 
# La inclusión de la fuente seleccionada para generar el código de barras:<br>      '''<nowiki><span  style="font-family:'Bar Code 39 e HR' ; font-size:40px"></nowiki>
 
# La inclusión de la fuente seleccionada para generar el código de barras:<br>      '''<nowiki><span  style="font-family:'Bar Code 39 e HR' ; font-size:40px"></nowiki>
#La inclusión de la constante '''$$INV''' donde se desea colocar el número de inventario. De esta forma '''ABCD''' extraerá todos los números de inventario del registro, utilizando el parámetro especificado en '''Formato para localizar el número de inventario''' y generará una etiqueta para cada uno de ellos
+
#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'''
 
|-
 
|-
|valign=top| Formato de despliegue (PFT)<br>Enviar a TXT ||valign=top| Formato a aplicar cuando el resulado quiere ser enviado a un archivo TXT a fin de que sea procesado por un programa especial. Ejemplo: <br><font face="courier new">'$$INV|'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</font>
+
|valign=top| Formato de despliegue (PFT)<br>Enviar a TXT ||valign=top| 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 [[File: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 ,
 +
      <strong>'*INV*'v900^n'*INV*'</strong>,
 +
      '^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',<strong>/'%%%'</strong>
 +
  fi/)
 +
 
 +
  <strong>'*INV*'v900^n'*INV*'</strong>,
 +
  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
 +
 
 +
  <strong>/'%%%'</strong>  
 +
  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'''
 
|-
 
|-
 
|valign=top| Alto de la etiqueta ||valign=top| 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.  
 
|valign=top| Alto de la etiqueta ||valign=top| 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.  
Line 62: Line 157:
 
   inventory_number_pref=NICLA_
 
   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_format=if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else v900^n fi
   label_format=`<nowiki><center><br><span  style="font-family:'Bar Code 39 e HR' ; font-size:40px">$$INV</span><p>
+
   inventory_number_pref_list=NI_
              `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</nowiki>
+
  inventory_number_display=v900^n
   label_format_txt='$$INV|'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
+
  label_format=@barcode.pft
 +
   label_format_txt=@barcodetxt.pft
 
   height=4
 
   height=4
 
   width=7
 
   width=7
 
   cols=3
 
   cols=3
 +
 +
 +
 +
 
Resultado:
 
Resultado:
[[Archivo:Barras display.png|marco|centro]]
+
[[File:Barras display.png|marco|centro]]
 +
 
 
===Lomos===
 
===Lomos===
 
Archivo de configuración:
 
Archivo de configuración:
Line 76: Line 177:
 
   inventory_number_pref=NICLA_
 
   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_format=if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else v900^n fi
   label_format=<NOWIKI>'<center><br><strong><span style="font-size:20px; font-face=arial">',if p(v82^a) then v82^a,"."v82^b,"<br>"v82^c,"<br>"v82^d,"<br>"v82^e, else v82^b,"<br>"v82^c,"<br>"v82^d,"<br>"v82^e fi'</span></center>'</NOWIKI>
+
  inventory_number_pref_list=NI_
label_format_txt=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_display=v900^n
height=3
+
   label_format=@lomos.pft
width=5
+
  label_format_txt=@lomos_txt.php
cols=4
+
  height=3
 +
  width=5
 +
  cols=4
 +
 
 +
  Ejemplo del formato '''lomos.pft'''
 +
  <nowiki>
 +
  (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/)
 +
</nowiki>
 +
 
 
Resultado:
 
Resultado:
[[Archivo:Lomos display.png|marco|centro]]
+
[[File:Lomos display.png|marco|centro]]
 +
 
 
===Etiquetas===
 
===Etiquetas===
 
Archivo de configuración:
 
Archivo de configuración:
Line 89: Line 220:
 
   inventory_number_pref=NICLA_
 
   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_format=if f(val(v900^n),1,0) = v900^n then replace(f(val(v900^n),5,0),` `,`0`), else v900^n fi
   label_format='<nowiki><table><tr><td valign=top align=center width=20>'v82^a,| |v82^b,|<BR>|v82^c,| |v82^d,
+
   inventory_number_pref_list=NI_
              '</td><td valign=top width=220><br>'v100^a[1]'<br>'v245^a,
+
  inventory_number_display=v900^n
              '</td><td width=50 valign=top align=right>$$INV</TD></tr></table>'/</nowiki>
+
  label_format=@etiquetas.pft
   label_format_txt=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
+
   label_format_txt=@etiquetas_txt.php
 
   height=5
 
   height=5
 
   width=10
 
   width=10
 +
  cols=2
 +
 +
  Ejemplo del formato '''etiquetas.pft'''<nowiki>
 +
  ('<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>%%%'/
 +
  )
 +
  </nowiki>
 
Resultado:
 
Resultado:
[[Archivo:Etiquetas display.png|marco|centro]]
+
[[File:Etiquetas display.png|marco|centro]]
 
 
cols=2
 
  
 
==Enviar a==
 
==Enviar a==
 
Se determina el medio al cual van a enviarse las etiquetas emitidas de acuerdo a las siguientes posibilidades:
 
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==
 
==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:
 
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===
 
===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 número de inventario===
+
===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===
 
===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.

Latest revision as of 01:22, 5 January 2020

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.