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¶
apri/main-- init standalone (mmmask.cpy), apertura file,x99-confi(tipo stampante), abilitazione tasti funzione.a4-- imposta la geometria del foglio laser (w-dati-kyocera: 5 file x 2 colonne, dimensioni etichetta) e legge daLODTABEL(tipo 3) l'ultima posizione usata, proponendola intm-ini-fil/tm-ini-col.- 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. a-richiesta-conferma/a-90-- selezione periferica via COGS54; alla conferma con F3 esegueb-stampa.b-stampa-- imposta la posizione iniziale, inizializza la stampante (b1-set-printer), scandisceCOGTABELtipo 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 suLODTABELla nuova posizione (w-kyo-v-cur/w-kyo-h-cur).b2-stampa-- per LASER (Kyocera) genera i comandi PRESCRIBE con posizionamento assoluto (b21-set-map, comandoMAP), testoCTXTe barcodeBARC, 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 conwr-lodtabelse assente). - Il ramo
b2-stampa-eltron(comandi EPL2 diretti) e' presente ma non richiamato: per ELTRON il flusso usab2-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