Vai al contenuto

COGZ81 - Stampa Specifiche di Installazione

Sorgente: cbl/cogz81.cbl | Program-ID: COGZ81 | Tipo: Programma interattivo con stampa (allegato commessa laboratorio)

Menu: Lab.Odont. > Operativo > Stampe > Allegati > Specifiche di Installazione


Scopo

Stampa l'allegato "Specifiche di Installazione" del dispositivo medico associato a una commessa di laboratorio. L'operatore identifica la commessa tramite la ricerca generica (studio/paziente/progressivo o numero commessa); il programma verifica prescrizione, stato commessa e appartenenza clinica, poi genera il documento HP-GL/2 su file di stampa (COGS54).

A differenza di COGZ83, il documento e' impaginato a pagina intera (una colonna, altezza font 14) con una testata che riporta Paziente, N.Presc., Commessa, Medico e Descrizione dispositivo. Il tipo allegato usato per leggere le descrizioni e' "S" + zs3-allegato (variabile w-allegato).

Se la configurazione MODO-STAMPA-ALLEGATI = "WORD", il programma delega la stampa a COGZ82M (allegato "SI") e termina.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB ISAM Input Parametri generali azienda (cogfiles.cpy)
LODDESCR ISAM Input Descrizioni allegato per tipo (lde-tip, lde-cod, lde-pro, lde-rec)
LODTMDES ISAM I-O (temp) Buffer temporaneo descrizioni per operatore (ltd-rec)
LODTRDES ISAM Input Descrizioni impaginate a misura da COGZDEW (ltr-pro, ltr-des)
LODPRESC ISAM Input Prescrizione (lpm-med, lpm-paz, lpm-pro, lpm-num, lpm-stato, lpm-data, lpm-cod)
LODCMTES ISAM Input (k02) Testata commessa via chiave 2 (lct-chia2, lct-piano, lct-coeff, lct-paz, lct-rec)
LODPNTES ISAM Input Testata piano/dispositivo (lpt-cod, lpt-tip, lpt-des)
LODTABEL ISAM Input Titoli allegato tipo 10, chiave <all>T1/<all>T2 (lta-cod, lta-tipo, lta-10-des)
FLSTA seq Output File di stampa HP-GL/2 (record riga)

LODTMDES e' un temporaneo per operatore (w-ltd-nome = ext-tmp-dir + #$COGZ81.<operatore>), aperto in output esclusivo come lock di funzione.

Copybook utilizzate

Copybook Descrizione
cogz81.select, cogz81.fd, cogz81.wrk, cogz81-01.scr, cogz81.prc, cogz81.decla Screen Designer
feurtab.fd, cogfiles.cpy FEURTAB
lodtmdes.fd/.cpy/.k01, lodtrdes.fd/.cpy/.k01 File temporanei descrizioni
flsta.fd/.cpy File di stampa
wstato, wopenf, wgrave, wnscr, cogazien Working storage standard + dati azienda
utils54, utils52, utils98, utilzde, utilfnt, utilzs1, utilzs3 Linkage subroutine COGS54/COGS52/COGS98W/COGZDEW/COGFNT/COGZS1/COGZS3
utilncnf Linkage RNEWCONF
k-personal Costanti personalizzazioni azienda
wcont, wcont1, utilz82 Linkage di chiamata
lodcmtes.k02 Chiave secondaria commessa (aggiunta a fine procedure)

Logica

Struttura goto-driven analoga a COGZ83. Flusso principale:

  • apri / main: init, costruzione nomi temporanei, rd-azi, open-files, recupero eventuali dati di chiamata (z82-called = "COGZ81-CALLED"), config via x99-confi/x99-confi-operatore. Se MODO-STAMPA-ALLEGATI = "WORD" chiama COGZ82M (allegato "SI") e va a fine. Altrimenti prepara tasti, bitmap labodonto, pulsante custom "Commessa (F5)", maschera.
  • a4: reset maschera, lock del temporaneo LODTMDES, z-carica-controlli; se chiamato salta a a-10-cerca.
  • a-tm-cli: accept prescrizione via COGS98W; gestione exit/prev/next.
  • x-controlla-commessa: find+display su COGS98W (recupera lpm-rec e s98-o-paz-offset), controlla stato "C"/"E", legge testata commessa (rd-lodcmtes-lk-chia2), verifica clinica operatore, popola i campi testata (tab-commessa, tab-npresc, tab-paziente, tab-paz-esteso, tab-com-des da LODPNTES), chiama COGZS3 (zs3-tip-doc = "Installazione") e compone w-allegato = "S" + zs3-allegato. Se zs3-allegato = space blocca (allegato non previsto).
  • a-20: apertura file stampa via COGS54 e conferma periferica (F3), saltata in archiviazione con w-dc-fl-cogz50 = "S".
  • a-30: chiama COGZS1 (dati medico, zs1-medico) e di nuovo COGZS3; b-carica prepara le righe; loop su tm-cfg-n-copie: per ogni copia init-data, x41-init-page, x4-format-page (testata), c-stampa, x41-close-page.
  • b-carica: copia da LODDESCR a LODTMDES le descrizioni del tipo w-allegato, chiama COGZDEW (impaginazione, lunghezza 180), poi carica in tab-all-des le righe rese in LODTRDES.
  • c-stampa: emette righe HP-GL/2 con titoli T1/T2 da LODTABEL centrati via COGFNT; gestione salto pagina via d-rect/x4-format-page.
  • x4-format-page / testata: disegna i rettangoli e le etichette "SPECIFICHE DI INSTALLAZIONE", Paziente/N.Presc./Commessa/Medico/Descrizione; il nome paziente esteso e' spezzato in due righe da p10-paziente.
  • fine / z-chiudi: chiusura, cancel COGZS3/COGS98W, exit program.

Configurazioni (RNEWCONF)

Percorso ODONTO.CNF (pacchetto "C"):

Chiave Uso
fORMATTAZIONE-PORTRAIT Sequenza formattazione stampante (tm-cfg-formatta)
COPIE-SPECIFICHE-INSTALLAZIONE Numero copie (tm-cfg-n-copie)
MODO-STAMPA-ALLEGATI "WORD" delega a COGZ82M
apo / operatore-clinica-su-lab (sud = operatore) Clinica dell'operatore (tm-cfg-clinica-ope)

CALL

Programma Scopo
COGS54 Apertura/chiusura file di stampa e richiesta periferica
COGS98W Ricerca/accept generico prescrizione-commessa
COGZDEW Impaginazione righe descrizione a misura
COGFNT Calcolo lunghezza frase per centratura titoli
COGZS1 Dati medico prescrittore (zs1-medico)
COGZS3 Determina il modello di allegato (zs3-tip-doc = "Installazione")
COGZ82M Stampa allegato in modalita' Word (allegato "SI")
RNEWCONF Lettura configurazioni ODONTO / operatore
ENCRYPT (Presente ma disabilitato, PBUG-1925)

Note

  • La gestione azienda criptata e' rimossa con PBUG-1925; resta move az-int to tm-int.
  • Il tipo descrizione e' "S" + <modello A..E>; in archiviazione (w-dc-archivia = "Archivia", w-dc-fl-cogz50 <> "S") le copie sono forzate a 1.
  • Output HP-GL/2 (emulazione HPLJ3) a pagina intera; salto pagina governato da w-v-pos e conteggio righe residue rig-rim.