to select ↑↓ to navigate
Manual

Manual

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Impresión y estación de trabajo

Impresión y estación de trabajo

Esta página es para el encargado que configura la impresión: qué se imprime, cuándo, en qué impresora y desde qué computadora del mostrador. Cubre tres cosas que trabajan juntas:

  1. QZ Tray — el programa que permite imprimir en silencio desde el navegador a la impresora térmica local.
  2. La impresora de tu estación de trabajo — cuál es tu impresora por defecto en esta computadora.
  3. Las rutas de impresión (Doco Printer Route) — las reglas que dicen "cuando pase X, imprime el formato Y en la impresora Z".

También toca la herramienta de etiquetas de la app de Mercado, que imprime por el mismo camino.

Importante: hay dos niveles de permiso aquí.

  • La configuración de QZ Tray y de tu impresora personal vive en Doco Tenant Settings y la maneja un System Manager.
  • Las rutas de impresión (Doco Printer Route) también son de System Manager.
  • La herramienta de etiquetas de la app la puede usar quien tenga los roles adecuados (System Manager, Item Manager o Stock Manager).

1. Panorama: cómo llega un ticket a la impresora

Cuando ocurre un evento en el sistema (por ejemplo, se envía una factura), el sistema busca una ruta de impresión que aplique, arma el documento con el formato de impresión indicado y lo manda al backend de impresión:

  • browser_qz: impresión silenciosa a la impresora térmica local usando QZ Tray. No abre diálogos; sale directo.
  • browser_normal: abre el diálogo de impresión normal del navegador.

Cada intento queda registrado en un Doco Print Job (bitácora), con su estado y, si algo falló, el error. Para que todo esto funcione hacen falta tres piezas: impresión activada, certificado QZ generado e importado, y una ruta válida. La sección de Diagnóstico (más abajo) revisa las tres de un jalón.


2. Activar la impresión (Doco Tenant Settings)

  1. En el Escritorio, abre Doco Tenant Settings (búscalo por nombre o entra a /desk/doco-tenant-settings).
  2. En la sección Printing, activa Enable Auto-Printing (printing_enabled).
  3. Guarda.

Nota: si esta casilla está apagada, ninguna ruta disparará impresión automática, aunque todo lo demás esté bien. El diagnóstico lo marca como bloqueante.


3. Configurar QZ Tray (una vez por sitio)

QZ Tray necesita un certificado de firma para aceptar trabajos de este sitio. El certificado se genera una sola vez por sitio y luego se importa en cada computadora que vaya a imprimir.

3.1 Generar el certificado

  1. En Doco Tenant Settings, ve a la sección QZ Tray Setup.

  2. Revisa el recuadro de estado (QZ Certificate Status):

    • Si dice "No certificate yet" (No hay certificado): hay que generarlo.
    • Si dice "Certificate ready" (Certificado listo): ya existe; muestra fecha de creación y huella (fingerprint).
  3. Haz clic en Generate Certificate.

  4. Confirma el aviso ("¿Generar un nuevo certificado de firma de QZ Tray para este sitio?"). El sistema mostrará "Generando certificado…" y, al terminar, "Certificate generated." (o "Certificate already exists." si ya había uno).

    [captura: recuadro QZ Certificate Status en estado "Certificate ready" con fingerprint]

3.2 Descargar e importar en cada computadora

  1. Haz clic en Download Certificate. Se descarga un archivo .crt (por ejemplo doco-qz.crt).
  2. En la computadora del mostrador, abre QZ Tray (debe estar corriendo; escucha en localhost:8181).
  3. Haz clic derecho sobre el ícono de QZ Tray en la bandeja del sistema.
  4. Entra a Advanced → Site Manager → Add → Import Certificate.
  5. Selecciona el archivo .crt que descargaste.
  6. Marca Always allow (Permitir siempre) y guarda.

Advertencia: hasta que no importes el certificado en QZ Tray, QZ Tray rechazará todos los trabajos de impresión de este sitio. Tienes que repetir el paso de importar (3.2) en cada computadora que imprima. El paso de generar (3.1) sólo se hace una vez para todo el sitio.

Nota — respaldo del certificado: el certificado es parte del sitio. Si se reinstala o migra el sistema, conserva el certificado o tendrás que volver a generarlo e importarlo en todas las estaciones. Coordina con quien administra la infraestructura.


4. Elegir tu impresora por defecto (por computadora)

La sección My Workstation Printer te deja fijar tu impresora por defecto en esta computadora. Corre de forma local: QZ Tray debe estar abierto y el certificado ya importado.

  1. En Doco Tenant Settings, ve a My Workstation Printer.

  2. Haz clic en Detect Printers (Detectar impresoras). El sistema se conecta a QZ Tray y lista las impresoras de esta computadora.

  3. En el diálogo Pick your default printer, elige tu impresora.

  4. Haz clic en Save as My Default.

    [captura: diálogo "Pick your default printer" con el desplegable de impresoras]

  5. Para probar, haz clic en Test Print: manda una pequeña página de diagnóstico a tu impresora.

  6. Si quieres quitar tu impresora por defecto, usa Clear y confirma.

Nota: tu impresora por defecto se guarda en tu perfil de usuario (campo doco_qz_printer_name), no en la tienda. Cada persona en cada computadora fija la suya. Es opcional: las rutas pueden forzar una impresora específica sin importar tu default (ver 5.3).

Fallas frecuentes de QZ

  • "Could not reach QZ Tray on localhost:8181": QZ Tray no está abierto, o el certificado no se importó. Abre QZ Tray y revisa el paso 3.2.
  • "QZ Tray connected but reported no printers": QZ conectó pero no hay impresoras. Enciende o conecta la impresora y vuelve a Detect Printers.
  • El test print no sale: confirma que elegiste una impresora por defecto (Pick a default printer first), y que es la impresora correcta.

5. Rutas de impresión (Doco Printer Route)

Una Doco Printer Route es la regla que conecta un evento del sistema con un formato de impresión y una impresora. Vive en el Escritorio (/desk/doco-printer-route) y sólo la edita un System Manager.

5.1 Crear una ruta

  1. Abre Doco Printer Route y haz clic en Nuevo.

  2. Llena el objetivo:

    • Route Name (obligatorio, único): nombre de la regla, por ejemplo Ticket de venta POS.
    • Enabled: actívala para que dispare. Se crea apagada por defecto.
    • Vertical (opcional): la Doco Vertical a la que aplica.
    • Target DocType (obligatorio): el doctype que dispara la impresión, por ejemplo Sales Invoice.
    • Trigger Event (obligatorio): cuándo dispara. Opciones: after_insert (al crear), on_submit (al enviar), on_update_after_submit (al editar ya enviado), on_change (a cualquier cambio).
    • Filters JSON (opcional): filtro en JSON para acotar a qué documentos aplica.
  3. Llena el formato:

    • Print Format (obligatorio): el formato de impresión a usar.
    • No Letterhead: sin membrete (útil en térmicas).
    • Copies: número de copias (por defecto 1).
    • Width (mm): ancho de papel para térmicas; por defecto 80. Lo usa QZ Tray.
  4. Llena el backend (ver 5.2 y 5.3).

  5. Guarda.

    [captura: formulario de Doco Printer Route con Target DocType, Trigger Event y Print Format]

5.2 Backend y destino de navegador

  • Primary Backend (obligatorio): browser_qz (silencioso, por defecto) o browser_normal (diálogo del navegador).
  • Fallback Backend (opcional): se ejecuta si el primario falla. Déjalo en blanco para no tener respaldo.
  • Browser Scope: qué sesiones de navegador reciben el evento de impresión:
    • current_session (por defecto): sólo la sesión que provocó el evento.
    • doc_owner: el dueño del documento.
    • all_users: todas las sesiones.
    • role: los usuarios de un rol; entonces elige el rol en Browser Role.

5.3 Forzar una impresora (QZ Printer Override)

El campo QZ Printer Override (qz_printer_name) fuerza a que esta ruta imprima en una impresora QZ Tray específica, sin importar la impresora por defecto del usuario. Déjalo en blanco para usar la impresora personal de cada quien.

Nota: el override de la ruta gana sobre la impresora por defecto del usuario. Úsalo cuando un proceso siempre debe salir en una impresora concreta (por ejemplo, las etiquetas siempre en la térmica de la bodega).

5.4 Probar y diagnosticar la ruta

En el formulario de una ruta guardada tienes tres botones:

  • Test Print: manda una impresión de prueba por esta ruta (usa el override o tu impresora). Si hay primario + respaldo, te dice cuál corrió.

  • Diagnose: revisa que la ruta pueda disparar (impresión activada, certificado, ruta habilitada, en caché, backend, alcance, destinos). Si todo pasa, verás "All checks passed — this route should fire correctly." Si no, lista Blockers (bloqueantes) y Warnings (advertencias).

  • Simulate Dispatch (en el menú Actions): dispara la ruta contra un documento real (o un stub) para ver el resultado de punta a punta; te devuelve el Doco Print Job creado.

    [captura: resultado de Diagnose con la lista de checks]


6. Bitácora de impresión (Doco Print Job)

Cada intento de impresión queda registrado como Doco Print Job (sólo lectura). Sirve para auditar qué se imprimió y por qué falló algo. Campos clave:

  • Route, Ref DocType, Ref Name: qué ruta y qué documento.
  • Backend Used: qué backend corrió.
  • Status: queued (en cola), dispatched (enviado), acked (confirmado por el navegador) o failed (falló).
  • Attempts: número de intentos.
  • Error: el detalle del error, si lo hubo.

Nota: este listado también lo puedes revisar rápido desde el Diagnóstico (sección 7), que muestra los trabajos recientes con su estado en colores.


7. Diagnóstico del pipeline (revisión de salud)

La sección Pipeline Diagnostics de Doco Tenant Settings corre una revisión completa del camino de impresión.

  1. En Doco Tenant Settings, ve a Pipeline Diagnostics.

  2. Haz clic en Run Diagnostics.

  3. Lee el reporte por bloques:

    • Tenant Settings: si la impresión está activada y qué vertical hay. Marca en rojo si hay bloqueantes.
    • QZ Certificate: si el certificado existe y su huella.
    • Current User: tu usuario y tu impresora QZ.
    • Cache State: si el índice de rutas y las banderas están en caché.
    • Printer Routes: cada ruta con su estado (habilitada, en caché, backend, alcance, formato) y sus bloqueantes/advertencias.
    • Recent Print Jobs: los trabajos recientes con estado por color (verde = acked, azul = dispatched, rojo = failed, gris = en cola).

    [captura: reporte de diagnóstico con tarjetas de Tenant, Cert, User y tabla de trabajos recientes]

Usa esta pantalla como primer paso cuando "no imprime": te dice exactamente cuál de las tres piezas está fallando.


8. Etiquetas: impresión masiva (app de Mercado)

Para imprimir etiquetas de producto (código de barras, precio, QR), la app de Mercado tiene una herramienta estilo gLabels en el menú Etiquetas (ruta /etiquetas). La vista previa es exactamente lo que se imprime.

Flujo típico:

  1. Elige el Origen de los productos:
    • Buscar: busca ítems del catálogo y agrégalos con cantidad de copias.
    • Documento: etiqueta una Recepción, Entrada, Orden, Factura o Recon completa (las cantidades del documento se vuelven copias). Búscalo por folio.
    • Stock: provisiona una tienda entera por Almacén (y opcionalmente por Grupo de ítems); las copias = existencia actual de cada ítem con stock > 0. Tope de 300 ítems por carga.
    • CSV: pega o adjunta un CSV con CÓDIGO[,Nombre][,Precio][,Copias], una etiqueta por línea. El código puede ser SKU o código de barras; lo demás se completa del catálogo.
  2. Elige la Plantilla (tamaño): un preset térmico, Personalizado (ancho × alto en mm) o una plantilla Doco Label Template (marcada con 📐).
  3. En Mostrar en la etiqueta, activa o desactiva los campos: Tienda, Nombre, SKU, Precio, QR, Barras. (Las plantillas Doco imprimen sus propios elementos; los toggles no aplican.)
  4. Revisa la Vista previa.
  5. Imprime con Imprimir (N) (abre una ventana de auto-impresión) o guarda con Guardar PDF.

Nota: también hay un modo Imagen para repetir un arte (PNG/JPG/WebP) N veces, en rollo térmico o en hoja Carta con rejilla de columnas × filas.

Advertencia: si el botón Imprimir no hace nada, el navegador bloqueó la ventana emergente. Permite popups para este sitio. El PDF (Guardar PDF) no depende de popups.

Etiquetas por lote desde el Escritorio (Doco Label Print Job)

Para lotes recurrentes o auditables existe el doctype Doco Label Print Job en el Escritorio (roles: System Manager, Item Manager, Stock Manager). Permite un Source Mode Manual, CSV o DocType, elegir una Template (Doco Label Template) y una Price List para resolver ${price}, y deja el resultado con estado DraftRenderedDispatched (o Failed). Es la vía cuando quieres conservar el lote como registro en lugar de imprimir al vuelo desde la app.

[VERIFICAR: confirmar con captura la ubicación del menú "Etiquetas" en la barra lateral de la app según el vertical activo.]

Last updated 2 weeks ago
Was this helpful?
Thanks!