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 dicogtransha il campotrs-medico-orda spaces (no rottura per medico), riducendocogtransa un file ordinato per buono. - Il filtro paziente (testata) e' realizzato tramite
GESSTRmode "CERCA-PREPARA" / "CERCA-ESEGUI" per cercare il contenuto sia in dati standard che estesi. - Il dettaglio di un buono (F7) apre
WIN016come finestra di consultazione delle righe della bolla. - Le stampe riepilogative usano due modelli con righe distinte:
TAB-BDCper il riepilogo unico (una riga per buono) eTAB-RIGHEper 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¶
- COGV65 - Inserimento buoni di consegna
- COGV68 - Gestione buoni di consegna
- COGM65 - Visualizzazione buoni di prelievo
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-fatturatifiltra i buoni gia' fatturati (tm-num-fat <> 0): impostato a"N"li esclude dall'elenco;tm-non-fatturatifiltra 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.