COGK76 - Controllo Fatture Fornitori (Stampa)¶
Funzione¶
Programma di stampa per il controllo delle fatture fornitori. Scansiona COGFATTU per un dato tipo documento e anno, con filtri opzionali su intervallo date e numeri di protocollo, e produce una stampa di dettaglio con: dati fattura, scadenze da COGMOVPA, movimenti contabili da COGMOVCC, dettaglio IVA da COGARIVA, contabilita' analitica da COGMOVCC (tipo analitico).
La stampa viene gestita tramite il sottoprogramma COGS54 (utilita' di stampa standard).
Menu¶
- Contabilita' > Fatture Fornitori > Stampe > Controllo fatture
Tabelle e file principali¶
| Tabella | Descrizione | Accesso |
|---|---|---|
| COGFATTU | Fatture (archivio principale) | Input, scansione sequenziale per chiave2 (tipo+anno+numero) |
| COGGEANA | Anagrafica generale (fornitori) | Input, read by key |
| COGMOVCC | Movimenti contabili per fattura | Input, scansione sequenziale |
| COGARIVA | Archivio IVA per fattura | Input, scansione sequenziale |
| COGMOVPA | Movimenti partite/scadenze | Input, scansione sequenziale |
| COGTABEL | Tabelle generiche | Input, read by key (tipo 22 = modalita' pagamento, tipo 14 = tipo pagamento, tipo 68 = tipi fattura) |
| FEURTAB | Tabella generica Eurosystem | Input |
| FLSTA | File di stampa sequenziale | Output |
Logica principale¶
Flusso¶
-
Inizializzazione (
apri): controllo abilitazione, init programma, lettura azienda, apertura file. Lettura preventiva di tutti i codici tipo fattura validi (flagclifotiva(1:1) = 'F') da COGTABEL tipo 68 per costruire la lista usata nella validazione del campo tipo. -
Selezione parametri (
a4-a-richiesta-conferma): accept dei filtri: a-tm-da-data/a-tm-a-data: date con calendario (COGS52).a-tm-tipo: tipo fattura (validato su COGTABEL tipo 68, solo quelli conclifotiva = 'F'); F8 → WIN067 (tipo'F').a-tm-anno: anno protocollo (obbligatorio).-
a-tm-da-num/a-tm-a-num: numeri protocollo (facoltativi). -
Conferma stampa (
a-richiesta-conferma): chiamata a COGS54 per selezione destinazione stampa (schermo/file/stampante, larghezza 132). -
Elaborazione (
ela-00): loop principale su COGFATTU tramitest-cogfattu-notmin+ looprdnxt-cogfattu: - Filtro per tipo, anno, intervallo numero e date.
- Lettura anagrafica fornitore (
rd-coggeana). - Lettura modalita' pagamento e tipo pagamento da COGTABEL (tipi 22 e 14).
cerca-scadenze: scansione COGMOVPA per le scadenze della partita (strutturaw-tab-mov, max 50 scadenze per fattura).stampa-r4: scansione COGMOVCC per i movimenti contabili (righe 1-38 = costi, riga 39 = speciale, riga 40 = totale fornitore).stampa-r5: scansione COGARIVA per il dettaglio IVA (aliquota, codice articolo esente, imponibile, IVA, totale).stampa-r4-c-analitica: movimenti contabilita' analitica.-
Accumulazione in
w-tot-generale. -
Totale finale (
ela-50): stampa del totale generale se diverso da zero. -
Chiusura: COGS54
after-print, chiusura file.
Struttura righe di stampa¶
| Struttura | Contenuto |
|---|---|
r3 |
Riga principale fattura: protocollo, data movimento, codice+nome fornitore, numero+data fattura fornitore, pagamento, tipo pagamento, prima scadenza, importo |
r4 |
Riga contabilita': conto (codice+descrizione), importo, segno, totale |
r5 |
Riga IVA: aliquota, codice articolo esente, imponibile, IVA, totale |
r6 |
Riga scadenze: fino a 4 scadenze per riga (data+importo in w-tab-mov) |
Gestione scadenze (cerca-scadenze)¶
Legge COGMOVPA con posizionamento sulla chiave partita. Memorizza data valuta, sigla e importo in w-tab-mov (array di 50 elementi). Le scadenze vengono poi stampate in r6 a gruppi di 4 per riga. Il flag w-mov-paprogsca e il contatore w-mov-paprogrca gestiscono il progressivo delle scadenze.
Intestazione di pagina (st-intesta)¶
Stampa: nome azienda, titolo "Controllo fatture fornitore", data di sistema, numero pagina, poi filtri applicati (tipo, anno, intervallo date, intervallo numeri).
Validazione tipo fattura¶
All'avvio il programma costruisce w-tab-tipo (array di 20 elementi) con tutti i codici tipo COGTABEL tipo 68 con clifotiva(1:1) = 'F'. La validazione in x-controlla-tm-tipo usa questa lista per il messaggio "Valori validi: ...".
Copybook principali¶
| Copybook | Contenuto |
|---|---|
cogk76.wrk |
Working storage maschera (Screen Designer) |
cogk76-01.scr |
Screen section |
cogk76.select |
SELECT file |
cogk76.fd |
FD file |
cogk76.decla |
Declaratives |
wgrave.cpy / wnscr.cpy / wopenf.cpy / wstato.cpy |
WS comuni |
cogazien.cpy |
Dati azienda |
utils52.cpy |
Interfaccia COGS52W (calendario) |
utils54.cpy |
Interfaccia COGS54 (stampa) |
utils77.cpy |
Utility |
k-u10.cpy / utilu10.cpy |
Gestione importi in divisa |
utilw67.cpy |
Interfaccia WIN067 (selezione tipo documento) |
wcont.cpy / wcont1.cpy |
Linkage section |
flsta.cpy / flsta.fd |
File di stampa sequenziale |
Programmi chiamati (CALL)¶
| Programma | Scopo |
|---|---|
| COGS52W | Calendario (date picker) per i campi data |
| COGS54 | Utility stampa: selezione destinazione e gestione pagine |
| WIN067 | Selezione tipo documento (F8 sul campo tipo fattura) |
| COGU10W | Formattazione importi in divisa |
Note tecniche¶
- La larghezza di stampa e' 132 colonne (
k-chr-stampa = 132). - Il contatore righe
ctr-rigae' inizializzato a 333 (valore speciale che forza la stampa dell'intestazione alla prima riga). - La stampa di contabilita' esclude la riga 39 se tutti i campi conto sono zero; la riga 40 (totale fornitore) viene sempre stampata separatamente.
- Il flag
flag-trovato-alitabindica la presenza di righe IVA; nel codice e' sempre impostato a'S'poiche' la lettura avviene da COGARIVA e non dal vecchio campofat-alitab. - Il totale IVA (
stampa-r5) distingue imponibile (w-tot-1) da IVA (w-tot-2) e stampa il totale combinato solo sew-tot-3 > 0. - La divisa usata per la formattazione degli importi e'
fat-currency(valuta della fattura) per i dettagli ew-currency-conto(divisa conto daget-divisa-conto) per il totale finale.