Plantillas de etiqueta

Un archivo de comandos de impresora de la biblioteca Etiquetas: su nombre y su codificación, el editor de comandos de impresora y la importación de archivos, la gramática de marcadores, la cola de Windows instalada y el envío de prueba.

Ver como Markdown

Una plantilla de etiqueta es una fila de la biblioteca Etiquetas (Process > Plantillas > Etiquetas): un archivo de comandos de impresora (ZPL, EPL, CPCL o cualquier otro lenguaje de comandos RAW) con marcadores {{NAME}} donde va un valor de la corrida. Ganter Lab manda los bytes a una cola RAW de Windows y sustituye los marcadores; nunca analiza, renderiza ni anticipa el lenguaje de la impresora, así que la disposición misma se diseña en la herramienta del fabricante de la impresora. Editar exige Gestionar Process; la página entera queda inerte mientras una unidad está en marcha, y un envío de prueba se rechaza mientras el runtime está detenido. Una plantilla nueva nace vacía, llamada "Etiqueta" ("Etiqueta 2", y así), y no imprime nada hasta que tenga comandos: todo camino que renderiza o manda rechaza una plantilla vacía.

La página son cinco tarjetas, en el orden en que se hace el trabajo: la identidad y la codificación, los comandos, los marcadores encontrados en ellos, cómo preparar un archivo en un diseñador, y el envío de prueba.

Plantilla

Campo Qué es Valores / predeterminado Efecto
Nombre El nombre que muestran la biblioteca y todo comando de etiqueta. Texto; se confirma al salir del campo. Un nombre vacío se rechaza ("Una plantilla de etiqueta necesita un nombre.") y el nombre anterior se queda.
Codificación Cómo se leen de vuelta como texto los bytes guardados, y cómo se codifica cada valor sustituido. UTF-8 (predeterminada), Latin-1, ASCII. Cambiarla reescribe los comandos editables en la codificación nueva; un carácter que la codificación nueva no puede representar se rechaza ("Los comandos se quedan en UTF-8. La línea 3 contiene 'é', que ASCII no puede representar.") y la codificación se queda. Los comandos opacos conservan sus bytes y sencillamente se vuelven a leer bajo la declaración nueva.

Comandos de impresora

Control Qué hace
El editor Un campo de texto monoespaciado con los comandos, con una forma ZPL como marcador de posición. Escribir valida sobre la marcha (la lista de marcadores y todo rechazo siguen al texto); salir del campo guarda. Un borrador rechazado se queda en pantalla con su motivo y no se guarda; abrir otra plantilla lo descarta. Guardar un texto idéntico a los bytes guardados no cambia nada.
Importar archivo… / Reemplazar archivo… Trae un archivo de comandos de impresora (.zpl, .epl, .epl2, .cpcl, .prn, .lbl, .txt). Los bytes se copian a la configuración y el nombre del archivo se conserva para la trazabilidad: mover o eliminar el original no afecta a la plantilla. Un archivo vacío y un archivo de más de 2 MiB se rechazan, y también uno cuyos marcadores están malformados.

Los comandos se pueden editar como texto solo mientras sobreviven a la ida y vuelta byte por byte: se decodifican bajo la codificación declarada, se vuelven a codificar a los mismos bytes, terminan cada línea de la misma forma (todo LF o todo CR LF; un estilo CR LF importado se vuelve a poner en cada guardado) y no llevan ningún carácter de control aparte del tabulador y el fin de línea. Los comandos que no pasan alguna de esas pruebas se quedan opacos: el editor se reemplaza por el motivo ("El byte 0x1B en el desplazamiento 12 no es texto UTF-8.", "Los fines de línea están mezclados: unas líneas terminan con CR LF y otras solo con LF.") y los bytes cambian solo si se reemplaza el archivo. Una línea bajo la tarjeta dice qué hay guardado: "Todavía no hay nada guardado.", "Importado de labels.zpl · 1.2 KiB · los fines de línea CR LF se conservan" o "Escrito aquí · 240 B".

Marcadores detectados

Los marcadores encontrados en los comandos guardados, en orden de primera aparición. Un marcador es un {{NAME}} estrictamente ASCII: el nombre empieza con A a Z, sigue con A a Z, 0 a 9 o guion bajo, mide como máximo 64 caracteres y cierra con }}. Cualquier cosa que abra con {{ y no siga la gramática se rechaza con su desplazamiento en bytes y la regla que rompió ("Marcador de etiqueta malformado en el desplazamiento 40: el nombre solo puede contener A-Z, 0-9 o guion bajo."). Todo byte fuera de un marcador se conserva, y la sustitución ocurre una vez y nunca de forma recursiva.

Una plantilla sin comandos dice "Todavía no hay comandos. Escriba arriba los comandos de impresora, o importe un archivo exportado desde un diseñador de etiquetas. Hasta entonces esta plantilla no imprime nada."; una plantilla con comandos y sin marcadores dice "No se encontró ningún marcador: esta etiqueta fija manda los mismos bytes siempre y no usa datos de la corrida." y es una plantilla válida. Cada marcador distinto necesita una fuente en cada comando de etiqueta que use la plantilla; un marcador repetido recibe el mismo valor. La tarjeta cierra con la regla permanente: Ganter Lab valida la sintaxis de los marcadores, no los comandos del fabricante. Guarde solo comandos en los que confíe; pueden cambiar el comportamiento de la impresora.

Preparar una plantilla en un diseñador de etiquetas

Un recordatorio plegado del flujo de trabajo:

  1. Cree el diseño de la etiqueta en la herramienta del fabricante de la impresora, como ZebraDesigner.
  2. Ponga marcadores de Ganter Lab como {{SERIAL}} o {{RESULT}} dentro de un texto o del contenido de un código de barras.
  3. Exporte el archivo de comandos listo para la impresora, como ZPL. No importe el archivo de proyecto del diseñador.
  4. Importe ese archivo aquí (o pegue su contenido en el campo de comandos) y verifique los marcadores detectados.
  5. Ingrese abajo valores representativos y pruebe contra una cola de Windows instalada.

El mismo flujo vale para EPL, CPCL y otros lenguajes de comandos de impresora.

Envío de prueba

Control Qué hace
Actualizar las colas Vuelve a leer las colas de impresión instaladas para el usuario interactivo de Windows. Una falla al leerlas se dice junto al selector.
Una casilla de valor por marcador El texto de muestra que se sustituye en ese marcador solo en este envío. Una plantilla fija dice "Esta plantilla fija no necesita valores de muestra."; una vacía, "No hay nada que mandar hasta que esta plantilla tenga comandos de impresora."
Cola de Windows instalada La cola a la que va la prueba ("(elija una cola)" o "(sin colas instaladas)").
Enviar prueba Renderiza los comandos guardados con los valores de muestra y los manda como un documento RAW llamado Ganter Lab test · <template>. No se crea ninguna corrida ni ningún artefacto. El resultado aterriza en el registro de acciones ("Etiqueta de prueba enviada a 'Q'." o "El envío de prueba falló: motivo").

Enviar prueba se atenúa sin comandos guardados, sin cola elegida, mientras se manda, y mientras la página está inerte. Un valor que un marcador no puede llevar en la codificación declarada lo rechaza el renderizador. Que salga bien significa que la cola de Windows aceptó el documento RAW; no confirma que se haya impreso una etiqueta física.

De dónde vienen los valores

Los valores de muestra de arriba son solo para la prueba. En una corrida, cada marcador distinto de la plantilla se asigna a una fuente finita en el comando de etiqueta que lo usa (Acciones): los metadatos congelados, el nombre y la revisión del modelo, el nombre y el código de la unidad, el nombre y el código del procedimiento, el identificador de la corrida, el instante de arranque, el estado de la corrida, y en la Finalización además el instante de fin, la duración, el veredicto, el motivo de terminación y el resultado de un criterio nombrado con un ciclo explícito. Las fuentes de fecha y hora toman un formato (fecha y hora de la estación, fecha de la estación, hora de la estación, ISO 8601) y las fuentes numéricas un número fijo opcional de decimales (de 0 a 9). Un número se escribe para la máquina que lo lee y no como la estación muestra los números en pantalla: nunca un separador de grupos, que dentro de un código de barras rompe el sistema receptor, siempre el punto decimal invariante, y un número entero, como un conteo o una duración en segundos, escrito entero. Un valor que lleva un carácter de control, un salto de línea incluido, o un carácter que empieza un comando de impresora (^, ~) se rechaza nombrando su marcador: partiría la línea en la que está, o imprimiría otra etiqueta. Qué ofrece cada límite, cómo se congela el artefacto y cómo se graba un envío es Emitir etiquetas y reportes; asignar una plantilla a mano contra una corrida grabada es Etiquetas y reportes.

Qué no hace esta página

No dibuja ningún anticipo de la etiqueta y no valida nada del lenguaje de la impresora. No asigna ningún marcador a un valor: ese es el trabajo del comando de etiqueta. No imprime una etiqueta para una corrida: los artefactos de una corrida se imprimen desde su registro en Históricos. Y eliminar la plantilla (el Eliminar la plantilla de etiqueta de la barra) deja intacto todo artefacto grabado; solo los comandos que la siguen nombrando dejan de generar.