Vai al contenuto

COGM49 - Visualizzazione/Stampa buoni di consegna per cliente

Intestazione

Campo Valore
Programma COGM49
Titolo Visualizzazione e stampa buoni di consegna per cliente
Modulo Magazzino / Lab.Odont.
Tipologia Programma interattivo a griglia
Posizione menu Magazzino > Uscite > Buoni di Consegna > Visual. x Cliente ; Lab.Odont. > Buoni Consegna > Visual. Buoni x Cliente

Scopo

Visualizza in griglia i buoni di consegna emessi a un cliente (o a tutti i clienti) in un periodo, mostrando per ognuno i dati di emissione, lo stato di fatturazione, gli importi e i riferimenti documentali. Permette di:

  • filtrare per tipo cliente (D = destinazione merce, F = cliente di fatturazione) e periodo
  • scorrere i buoni di un cliente alla volta navigando con F5 tra clienti successivi
  • segnare i buoni da fatturare (toggle con F6)
  • visualizzare il dettaglio del singolo buono (F7 -> WIN016)
  • produrre stampe riepilogative e analitiche tramite modelli Word/AreaReport (WORDMDL / COGPA3)

I dati elaborati vengono materializzati in un file di transito (cogtrans, indicizzato per chiave primaria buono e per chiave secondaria medico/data) con record trs-rec.


Filtri (testata)

Campo Variabile Tipo Descrizione
Tipo cliente w-tip-ana x(1) D=destinazione merce, F=fatturazione
Fatturati tm-fatturati x(1) Filtro stato fatturazione (default "S"); vedi Storico 2026-07-13
Non fatturati tm-non-fatturati x(1) Filtro stato fatturazione (default "S"); vedi Storico 2026-07-13
Cliente wo-cli 9(5) Codice cliente; F8 lookup tramite COGS65W. Se vuoto, scorre tutti i clienti
Periodo da/a w-data-da, w-data-a 9(8) Intervallo date di elaborazione
Divisa (variabile) x(2) Divisa di consultazione totali
Totali a video w-tot-* numerici Totale ivato, imponibile fatturato, imponibile da fatturare, imponibile sospeso

Colonne griglia

Colonna Variabile Descrizione
Rif. documento derivato da trs-rif-bol (mag+ann+tip+num) Identificativo buono
Data trs-data-bol Data emissione
Fatturato trs-dafatt Spazio = non fatturato, "fatturata" = fatturato, "*" = da fatturare (selezione F6)
Riferimento trs-riferimento Paziente / riferimento commessa
Imponibile trs-totale Imponibile senza IVA
Imponibile+Iva trs-totale-iva Totale ivato
Rif. fattura trs-rif-fat (tip+ann+num) Riferimento fattura
Cliente destinazione trs-cli-riga Codice cliente destinazione merce
Cliente fatturazione trs-padre, trs-nonno Cliente committente e relativo "nonno"
Commessa trs-commessa, trs-commessa-n Riferimento commessa odontotecnica

File acceduti

File Copybook Modalita' Uso
FEURTAB cogfiles.cpy Input Nomi fisici file gestionale
COGTRANS (transito) locale I-O dinamico Materializzazione buoni filtrati; chiave 1 medico-ord+rif-bol, chiave 2 medico-ord+data-bol+chia1
COGGEANA (via copybook) Input Anagrafica clienti (chiave principale + cogracco.k02)
COGTESBO cogtesbo.k03 Input Testate bolle (per recupero dati e filtro periodo)
COGRACMC cogracmc.k02 Input Raccordi merce avanzati
COGRACBB cogracbb.k02 Input Raccordi bolla-commessa
LODPRESC lodpresc.k04 Input Testata commessa laboratorio per riferimento paziente
FLSTA flsta.fd/.cpy Input File stati documenti

Programmi chiamati

Programma Scopo
RNEWCONF Lettura configurazioni GESTBUONIC (tipo-stampa, rottura-medico, colore-riga-totali, tipo-numerazione, euta-c034-nonno)
COGU10W Recupero divisa contabile per data
COGS65W Lookup cliente (F9)
COGS54 Utility selezione
COGZ50 Stato commessa (F5 su riga, modalita' CALLED)
COGZS1 Utility laboratorio (descrizioni paziente)
COGPA3 Predisposizione documenti per modello
WORDMDL Generazione stampa con modelli Word/AreaReport
WIN016 Finestra dettaglio singolo buono (F7)
DIALOGS Dialog di conferma/scelta
GRIDADMN Gestione griglia (S-F4 layout, S-F5 export Excel)
GESSTR Utility manipolazione stringhe (per ricerca riferimento)

Configurazioni RNEWCONF (gruppo GESTBUONIC)

Chiave Variabile Effetto
euta-c034-nonno tm-cfg-nonno Se "S" mostra colonna cliente "nonno" oltre al "padre"
cogm49-tipo-stampa tm-cfg-tipo-stampa Modello di stampa preferito
cogm49-rottura-medico tm-cfg-rottura-medico "N" = no rottura, altri valori abilitano la rottura su medico nella chiave primaria del file transito
cogm49-colore-riga-totali tm-cfg-colore Codice colore per le righe di totale
tipo-numerazione tm-cfg-tipo-num Modalita' di numerazione

Copybook inclusi

Screen Designer

cogm49.select, cogm49.fd, cogm49.wrk, cogm49.prc, cogm49.decla, cogm49-01.scr

Gestionale

Copybook Scopo
feurtab.fd, cogfiles.cpy Tabella nomi file
flsta.fd, flsta.cpy Stati documenti
k-personal.cpy, k-u10.cpy, wrk-u10.cpy Costanti e working divise
cogazien.cpy Dati azienda

Utility / interfacce

Copybook Scopo
utildlg.cpy Dialog
utilgdad.cpy GRIDADMN
utils52.cpy, utils54.cpy, utils65.cpy, utils93.cpy Utility selezione/strighe/date
utilu01.cpy, utilu02.cpy, utilu10.cpy, utilu20.cpy Utility comuni
utilzs1.cpy Interfaccia COGZS1
utilncnf.cpy RNEWCONF
utilcogpa3.cpy COGPA3 (preparazione documenti)
utilwordmdl.cpy WORDMDL (stampa modelli)
utilgesstr.cpy GESSTR
wgrid.cpy, wopenf.cpy, wnscr.cpy, wgrave.cpy, wstato.cpy Working storage comuni

Routine standard

stato.cpy, stato1.cpy, GetDCont.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy, dtab.cpy, fscrol2.cpy, utilpggr.cpy, gesdebug.cpy

Chiavi secondarie esplicitamente incluse

cogtrans.k01, cogtrans.k02, cogracco.k02, cogtesbo.k03, cogracmc.k02, cogracbb.k02, lodpresc.k04


Tasti funzione

Tasto Contesto Funzione
F1 Maschera iniziale Configurazione programma
F3 Maschera iniziale Elabora filtri e popola griglia
F5 Con risultati Cliente successivo
F6 Su riga Toggle "da fatturare" (trs-dafatt = "*")
F7 Su riga Dettaglio buono (WIN016)
F9 Con risultati Apre programma stampa (modelli Word/AreaReport)
S-F4 Griglia GRIDADMN (layout colonne)
S-F5 Griglia Export Excel
ESC Vari Indietro/esci

Note tecniche

  • Quando tm-cfg-rottura-medico = "N" la chiave primaria di cogtrans ha il campo trs-medico-ord a spaces (no rottura per medico), riducendo cogtrans a un file ordinato per buono.
  • Il filtro paziente (testata) e' realizzato tramite GESSTR mode "CERCA-PREPARA" / "CERCA-ESEGUI" per cercare il contenuto sia in dati standard che estesi.
  • Il dettaglio di un buono (F7) apre WIN016 come finestra di consultazione delle righe della bolla.
  • Le stampe riepilogative usano due modelli con righe distinte: TAB-BDC per il riepilogo unico (una riga per buono) e TAB-RIGHE per il riepilogo per cliente (una pagina per cliente).
  • La selezione "da fatturare" con F6 marca trs-dafatt = "*" ma non emette di per se' la fattura: e' un'indicazione visiva che puo' essere usata da procedure di fatturazione batch.

Vedi anche


Storico modifiche

2026-07-13 - Filtri "Fatturati" / "Non fatturati" in maschera

Aggiunti in tab-maschera due campi flag tm-fatturati e tm-non-fatturati (pic x(01)), entrambi inizializzati a "S" (nessun filtro). I relativi paragrafi di accept a-tm-fatturati e a-tm-non-fatturati sono inseriti nella catena dopo a-tm-tipo-cli (ordine: Tipo cliente -> Fatturati -> Non fatturati -> Cliente); la validazione e' affidata a x-controlla-tm-fatturati / x-controlla-tm-non-fatturati (richiamate anche da x-imposta-conferma).

Il filtro opera nel ciclo di caricamento griglia s1-20-loop, sul numero fattura del buono (tm-num-fat, pic 9(07); 0 = buono non fatturato):

if tm-fatturati not = "S" and tm-num-fat (i) not = zero
   go to s1-20-loop
end-if
if tm-non-fatturati not = "S" and tm-num-fat (i) = zero
   go to s1-20-loop
end-if

Con i valori di default ("S"/"S") vengono mostrati tutti i buoni. I due flag agiscono in modo indipendente e complementare:

  • tm-fatturati filtra i buoni gia' fatturati (tm-num-fat <> 0): impostato a "N" li esclude dall'elenco;
  • tm-non-fatturati filtra i buoni non ancora fatturati (tm-num-fat = 0): impostato a "N" esclude questi ultimi.

Impostando entrambi a "N" la griglia risulta vuota (nessuno dei due insiemi viene mostrato).

2026-06-30 - Segnaposto MCD (descrizione merce cliente) nelle stampe modello

Aggiunto un nuovo segnaposto MCD nelle sezioni di evaluate wordmdl-tag. Quando il modello di stampa Word/AreaReport richiede il tag MCD, il programma legge COGMERCL (descrizione merce specifica per cliente) con chiave mcl-merce = mag-merce3 e mcl-cli = mag-nonno (oppure mag-padre se valorizzato), e restituisce mcl-desc (descrizione merce del cliente) calcolando dinamicamente la dimensione utile della stringa. Si affianca al segnaposto gia' esistente MCL, che restituisce invece il codice merce cliente (mcl-cmc).

2026-06-11 - Esportazione del medico nelle stampe modello

Aggiunto il campo rg-medico pic x(40) nel layout di scrittura del record di transito (dopo rg-importo). Viene popolato in fase di caricamento dei dati da COGZS1 con il valore zs1-medico (descrizione del medico associato al paziente/prescrizione).

Il modello di stampa Word/AreaReport (WORDMDL) puo' ora utilizzare la nuova segnaposto MEDD (medico descrizione) che restituisce il contenuto di rg-medico (40 char). Il branch e' stato aggiunto in entrambe le sezioni di evaluate wordmdl-tag del programma (riepilogo unico e riepilogo per cliente), accanto al gia' esistente DDIS (descrizione disposizione).

Nessuna modifica al numero di record di transito ne' alla logica di rottura medico (configurata da tm-cfg-rottura-medico): la rottura primaria su medico continua a essere governata da trs-medico-ord, indipendentemente da rg-medico.