Vai al contenuto

COGZ87 -- Stampa etichette/badge barcode operatori

Sorgente: cbl/cogz87.cbl | Tipo: Programma di menu / stampa etichette barcode | Program-ID: COGZ87

Menu: Lab.Odont. > Operativo > Stampe > Servizio [Etichette Operatori]


Scopo

COGZ87 stampa le etichette-badge degli operatori del laboratorio: per ogni operatore produce un'etichetta con codice operatore, descrizione (nome), barcode del codice operatore e barcode di "conferma" (100099). Le etichette servono per identificare l'operatore ai terminali barcode durante l'avanzamento delle lavorazioni.

Si puo' stampare l'etichetta di un singolo operatore (tm-ope valorizzato) oppure di tutti gli operatori attivi (tm-ope = 0). Per la stampante laser il programma gestisce anche la posizione di partenza sul foglio (fila/colonna), memorizzandola su tabella per riprendere dal foglio parzialmente usato.

Configurazione (RNEWCONF)

La stampa e' pilotata dal file di configurazione ODONTO.CNF letto in x99-confi via RNEWCONF (pacchetto C):

Chiave Uso
Stampa-codici-comando Tipo stampante (tm-cfg-tip-sta): LASER (Kyocera, emulazione PRESCRIBE) o ELTRON (etichettatrice, emulazione EPL2)

File e tabelle principali

File/Tabella Copybook Uso
COGTABEL cogfiles.cpy (euta-rec, tipo 36) Tabella operatori del laboratorio: validazione operatore (euta-mag = "O", euta-mag1 = codice) e scansione elenco (st-cogtabel-notmin / rdnxt); descrizione da euta-ope-des
PRNTOPER cogfiles.cpy (ptop-rec) Anagrafica operatori di stampa: verifica esistenza operatore e flag di validita' (ptop-fl-val = "C" = cancellato logicamente, escluso)
LODTABEL cogfiles.cpy (lta-rec, tipo 3) Memoria della posizione etichetta corrente sul foglio laser (lta-03-v-pos fila, lta-03-h-pos colonna): letta all'avvio, riscritta a fine stampa
Stampa (file di stampa) -- Righe di comando stampante scritte tramite write riga sulla periferica aperta da COGS54

Programmi chiamati

Programma Scopo
COGS54 Selezione/apertura della periferica di stampa (s54-emu = PRESCRIBE per LASER, EPL2 per ELTRON) e chiusura post-stampa (s54-after-print)
RNEWCONF Lettura configurazione ODONTO.CNF (tipo stampante)
SEND-W73 (sendw73.cpy) Aiuto/selezione operatore (w73-in-tab = "O") sul campo tm-ope
COGS52 (z-carica-*) Gestione controlli maschera (Y*)

Flusso principale

  1. apri / main -- init standalone (mmmask.cpy), apertura file, x99-confi (tipo stampante), abilitazione tasti funzione.
  2. a4 -- imposta la geometria del foglio laser (w-dati-kyocera: 5 file x 2 colonne, dimensioni etichetta) e legge da LODTABEL (tipo 3) l'ultima posizione usata, proponendola in tm-ini-fil / tm-ini-col.
  3. Sezione accept (a-tm-ope, a-tm-cop, a-tm-ini-fil, a-tm-ini-col) -- operatore (con aiuto F8 via SEND-W73 e validazione su COGTABEL + PRNTOPER), copie, fila (1-5) e colonna (1-2) di partenza.
  4. a-richiesta-conferma / a-90 -- selezione periferica via COGS54; alla conferma con F3 esegue b-stampa.
  5. b-stampa -- imposta la posizione iniziale, inizializza la stampante (b1-set-printer), scandisce COGTABEL tipo 36/O (b-10-loop) scartando gli operatori non presenti o cancellati in PRNTOPER, e stampa (b2-stampa) l'etichetta di ciascun operatore; se e' stato indicato un singolo operatore si ferma dopo il primo. In chiusura (b-50) resetta la stampante, disattiva la periferica e, per la stampante laser, memorizza su LODTABEL la nuova posizione (w-kyo-v-cur / w-kyo-h-cur).
  6. b2-stampa -- per LASER (Kyocera) genera i comandi PRESCRIBE con posizionamento assoluto (b21-set-map, comando MAP), testo CTXT e barcode BARC, gestendo l'avanzamento nel foglio e il salto pagina (PAGE); per ELTRON/ZEBRA genera i comandi EPL2 (b2-stampa-zebra).

Note

  • La chiave usata su LODTABEL e' la primaria (tipo 3 / codr 1); l'accesso in aggiornamento avviene con rd-lodtabel-lk + rwr-lodtabel (creazione con wr-lodtabel se assente).
  • Il ramo b2-stampa-eltron (comandi EPL2 diretti) e' presente ma non richiamato: per ELTRON il flusso usa b2-stampa-zebra.
  • La descrizione operatore stampata proviene da COGTABEL (euta-ope-des), non da PRNTOPER, usato solo per il controllo di esistenza/validita'.
  • Per la stampante laser l'avanzamento oltre l'ultima etichetta del foglio (w-kyo-v-max / w-kyo-h-max) genera un salto pagina e reinizializza font/margini.

Documentazione tecnica -- 2026-08-05