COGZ90NO - Stampa Etichetta Dispositivo (Laboratori Odontotecnici)¶
Sorgente: cbl/cogz90no.cbl | Program-ID: COGZ90NO | Tipo: Sotto-programma di stampa etichette (variante "no" = ?, vedi parente [COGZ90])
Scopo¶
Genera l'etichetta di un dispositivo odontotecnico (con dati di laboratorio, paziente, studio medico, commessa, codice prestazioni, scadenza, ecc.) sostituendo i placeholder <...> su un modello di stampa configurabile (Wordmdl / Clever / Kyocera).
Configurazione letta da ODONTO.CNF (tm-cfg).
Posizionamento¶
Sotto-programma chiamato da COGZ90. Variante "no" (assenza di un componente specifico rispetto al programma parent). Esiste una sorella COGZAJNO (copiata da questo programma) per la stampa etichette "ajno" / laboratori generici.
Placeholder gestiti¶
Il programma usa un motore di sostituzione su stringa (gesstr-replace) per rimpiazzare i placeholder presenti nel template di stampa:
| Placeholder | Significato | Sorgente dati |
|---|---|---|
<AZI-INT-RIG1> .. <AZI-INT-RIG4> |
Intestazione azienda (4 righe) | Da azi-int (cogazien) |
<RAG-STUDIO1> / <RAG-STUDIO2> |
Ragione sociale studio medico/cliente, spezzata su 2 righe da 25 char | coggeana (ana-nome) di tipo cliente per lct-med |
<NOM-PAZ1> / <NOM-PAZ2> |
Nome paziente, spezzato su 2 righe da 13 char | tm-paziente (input maschera) |
<COD-COM> |
Codice commessa | lct-cod |
<PIANO-E-CLI> |
Piano e cliente | (vedi paragrafo dedicato) |
<CODICI-PRESTAZIONI> |
Stringa prestazioni del buono | Calcolata da cerca-prestazioni-su-buono |
<DISP-RIGA1> / <DISP-RIGA2> |
Descrizione del dispositivo (2 righe) | Da modello prestazione |
<DATA-DOC> |
Data documento | tm-data |
<DATA-SCAD> / <DES-DATA-SCAD> |
Data scadenza e descrizione | Da scadenza dispositivo |
<DATA-USCITA> |
Data prevista uscita | Dal modello commessa |
<N-COPIE> |
Numero copie da stampare | Input maschera |
La spezzatura dei testi lunghi (Ragione studio, Nome paziente) sfrutta il modulo gesstr-scomponi (gestione stringhe) impostando gesstr-len-riga con la lunghezza della singola riga e gesstr-note con il testo originale, poi prendendo gesstr-riga (1) e gesstr-riga (2) per le due righe.
File utilizzati¶
| File | Accesso | Scopo |
|---|---|---|
| FEURTAB | Lettura | Path tabelle |
| COGGEANA | Lettura | Anagrafica cliente (per ragione studio: ana-tipo = k-ana-tipo-cli, ana-cod = lct-med) |
| LODCMTES, LODCMRIG, LODPRESC, LODMODEL, LODAZION, LODTAB* | Lettura | Tabelle commesse laboratorio |
| PCLINP | I (binary) | File di input del modello di etichetta (Wordmdl) |
| BININP / BINOUT | I/O (binary) | File di lavoro stampa |
| FLSTA / FLSTA2 | O (PRINTER) | Print spool |
Copybook¶
cogz90no.select, cogz90no.fd, cogz90no.wrk, cogz90no-01.scr, cogz90no.decla, cogz90no.prc, cogazien.cpy, copybook anagrafica (coggeana), copybook laboratori (lodcmtes, lodcmrig, lodpresc, lodmodel, ...).
Storico modifiche¶
2026-06-05 - Esposizione studio medico e nome paziente sull'etichetta¶
Aggiunti due nuovi blocchi di placeholder sul modello di stampa per esporre il cliente / studio medico e il nome paziente del dispositivo (Mauro, 05/06/2026):
-
Cliente / Studio medico: prima della sostituzione di
<COD-COM>, il programma leggecoggeana(tipo cliente) usandolct-medcome codice. Se la lettura va a buon fine,ana-nomeviene spezzato su due righe da 25 caratteri tramitegesstr-scomponi, quindi le due righe alimentano i placeholder<RAG-STUDIO1>e<RAG-STUDIO2>. Se la lettura fallisce,ana-recviene reinizializzato e i placeholder restano vuoti. -
Nome paziente: il campo
tm-pazienteviene spezzato su due righe da 13 caratteri e alimenta i placeholder<NOM-PAZ1>e<NOM-PAZ2>.
Sono state aggiunte le strutture working tm-nom-paz (13+13) e tm-rag-studio (25+25) per ospitare le due righe spezzate.
L'effetto e' che, se il template di etichetta del laboratorio include i nuovi tag, in stampa appariranno lo studio medico e il paziente. I template che non li includono restano invariati.