Emitir etiquetas y reportes

Qué emite una corrida en el Arranque y en la Finalización, en qué orden, por qué cola, qué queda congelado en el archivo de la corrida, y cómo se graba cada entrega.

Ver como Markdown

Una corrida emite sus documentos a través de las acciones de su modelo: grupos con nombre de comandos, cada comando emitiendo una etiqueta o un reporte en el Arranque de la corrida o en su Finalización, declarados en Preparación > Acciones y seleccionados por el procedimiento como grupos enteros. Las plantillas con las que renderizan los comandos son las dos bibliotecas de esta raíz: el diseño de un comando de reporte viene de Reportes, el archivo de un comando de etiqueta de Etiquetas. Esta página es lo que pasa en cuanto una corrida llega a un límite.

Los dos límites

En un límite los comandos disparan en el orden de la lista del modelo entre los grupos seleccionados y, dentro de cada grupo, en su propio orden, las etiquetas antes que los reportes. Cada comando está aislado: una plantilla que falta, una composición que lanza un error o una cola que rechaza quedan en el diario, no cambian nada de la corrida y nunca detienen a los comandos que van detrás.

Límite Cuándo Qué está disponible Qué se emite
Arranque En cuanto la corrida se materializa, después de reservar los contadores secuenciales y escribir los metadatos; la corrida ya está grabando mientras los documentos se componen, a través del propio archivo abierto de la corrida. La identidad de la corrida, los metadatos, el instante de arranque y el estado En marcha. Todo comando de etiqueta con el disparador Arranque; todo comando de reporte con el disparador Arranque y un diseño: una hoja de ruta en la que las secciones sin evidencia todavía se dejan fuera y la fila Receta imprime la receta planeada.
Finalización Después de sellar el estado terminal y la instantánea de la corrida y de soltar la unidad; primero las etiquetas, y los reportes en segundo plano justo después. Todo lo del Arranque más el instante de fin, la duración, el estado terminal, el veredicto, el motivo de terminación y los criterios juzgados. Todo comando de etiqueta y de reporte con el disparador Finalización cuyo filtro de veredictos admita el veredicto de la corrida.

El filtro de veredictos (OK, NOK, Indeterminado, Sin veredicto) se lee solo en la Finalización; en el Arranque todavía no hay veredicto. Una corrida que terminó Fallida no tiene instantánea terminal: sus etiquetas de finalización graban un artefacto fallido y no se publica ningún reporte de finalización. Un comando de reporte cuyo diseño se eliminó, y un comando de reporte sin diseño, no publican nada. Reiniciar la aplicación nunca repite los documentos de Arranque: una corrida reanudada después de un reinicio lleva los artefactos que ya emitió.

Reportes

Un comando de reporte con un diseño publica su PDF en su límite pase lo que pase con lo demás que haya pedido. El archivo se nombra con la base de exportación de la corrida más el nombre del grupo (<base> - <group>.pdf), así que la hoja de ruta y el reporte de cierre de una misma corrida quedan uno al lado del otro; dos grupos cuyos nombres caerían en el mismo archivo se distinguen por la identidad del comando. Un renderizado posterior del mismo comando reemplaza el documento de ese comando y nada más. Las dos opciones del comando deciden qué pasa con el documento:

Opción Efecto
Imprimir automáticamente El PDF publicado se manda además a la cola de reportes en vigor para la unidad en ese límite. Una unidad sin cola en esa ranura graba el intento como fallido ("No hay ninguna cola de impresión configurada para esta acción en la Unidad.").
Conservar una copia dentro de la corrida El PDF terminado se guarda en el archivo de la corrida, así que un reenvío posterior manda esos bytes exactos incluso después de que el diseño se edite o se elimine, o de que el archivo publicado lo reemplace un renderizado posterior. La corrida lleva entonces el tamaño del documento.

Un comando que pidió cualquiera de las dos registra el documento en la corrida (el registro que Históricos lista en Reporte); un comando que no pidió ninguna publica el archivo y no registra nada, porque generar es una exportación del archivo de la corrida y nunca una escritura en él.

Etiquetas

Un comando de etiqueta renderiza su plantilla con una fuente por marcador. En el Arranque resuelven solo las fuentes confirmadas en el Arranque aceptado: los metadatos, 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 y el estado de la corrida; un marcador asignado a cualquier otra cosa rechaza la etiqueta de Arranque ("El marcador '{{RESULT}}' no está disponible cuando arranca una corrida."). En la Finalización resuelve el catálogo entero, el resultado de un criterio por su identidad estable y un ciclo explícito (un ciclo que falta nunca significa "el último").

Toda generación anexa primero un artefacto inmutable al archivo de la corrida: los bytes finales del comando, el nombre de la plantilla, su archivo de origen y el hash de su contenido, el nombre del grupo, el disparador, los valores resueltos con sus fuentes, o el motivo por el que no se pudo generar ningún comando. Después los bytes van a la cola de etiquetas en vigor para la unidad en ese límite como un documento RAW llamado Ganter Lab · <group>. Una unidad sin cola en esa ranura graba un intento fallido ("No hay ninguna cola de impresión configurada para esta etiqueta en la Unidad."); una plantilla que ya no está graba "Falta la plantilla de etiqueta configurada.". Todo intento de entrega se anexa al artefacto: Enviando antes de llamar al administrador de trabajos, y después Enviado a la cola o Fallido; un intento en cuya mitad se detuvo la aplicación se queda como Envío incierto y nunca se reintenta automáticamente, porque la impresora puede haber producido ya la etiqueta. "Enviado a la cola" confirma que Windows aceptó la carga, no que haya salido papel.

Impresoras

En qué cola aterriza un documento se decide en Definición > Impresoras: el modelo declara cuatro ranuras predeterminadas, una por combinación de qué se emite y cuándo (etiqueta o reporte, en el Arranque o en la Finalización), y cada unidad sigue las cuatro del modelo o conserva cuatro propias. Un comando resuelve su destino por su propia clase y su disparador, a través del modelo para una unidad que lo sigue y a través de las ranuras de la unidad para una separada, así que un grupo que comparten dos procedimientos imprime por un solo destino elegido una vez. Las colas son las colas de impresión de Windows instaladas para el usuario con el que corre la estación; una etiqueta sale como bytes RAW, un reporte se rasteriza y se dibuja sobre el dispositivo, así que una impresora de documentos común sirve para los reportes y una impresora de etiquetas para las etiquetas.

Después

Todo lo que emitió una corrida se lee en su registro en Históricos (Etiquetas y reportes): los artefactos, los registros y cada intento con su estado. Ahí el par de gestos es el mismo para los dos medios: un documento nuevo a partir de la evidencia congelada de la corrida (una etiqueta nueva con un comando configurado o una plantilla asignada a mano, un PDF nuevo con cualquier diseño), y la reemisión de uno grabado (una reimpresión de los bytes congelados de un artefacto, un reenvío del PDF registrado), que no vuelve a resolver nada.

Qué no hace la emisión

Nunca lee un valor en vivo: una etiqueta resuelve solo lo que congeló el archivo de la corrida, y un reporte renderiza solo a partir del archivo. Nunca cambia una corrida: la falla de un documento deja el veredicto, el estado y el archivo exactamente como estaban. Nunca confirma la impresión. Y nunca emite para una instantánea ni para una corrida de evaluar ahora, que no llevan procedimiento ni acciones.