Vai al contenuto

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):

  1. Cliente / Studio medico: prima della sostituzione di <COD-COM>, il programma legge coggeana (tipo cliente) usando lct-med come codice. Se la lettura va a buon fine, ana-nome viene spezzato su due righe da 25 caratteri tramite gesstr-scomponi, quindi le due righe alimentano i placeholder <RAG-STUDIO1> e <RAG-STUDIO2>. Se la lettura fallisce, ana-rec viene reinizializzato e i placeholder restano vuoti.

  2. Nome paziente: il campo tm-paziente viene 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.