Vai al contenuto

COGE94 - Stampa Bollato Corrispettivi

Panoramica

COGE94 e' il programma di stampa del registro (bollato) IVA dei corrispettivi. E' un programma di stampa batch con maschera GUI di richiesta parametri: seleziona i movimenti IVA del registro corrispettivi ("CO") per anno di competenza e per intervallo di numeri documento o di date, li stampa in formato tabellare con riepilogo per aliquota IVA e totale generale, e aggiorna il numeratore del foglio del registro. Puo' essere avviato in modo interattivo dal menu oppure richiamato in modo silente dalla stampa bollati multipli (COGY81) tramite il copybook di linkage utilstaiva.cpy: in quel caso salta la maschera e usa i parametri ricevuti. In presenza di configurazione "area report" attiva, la stampa avviene tramite modello Word (WORDMDL) anziche' su stampante testuale.

Posizione nel menu

Menu Percorso
Contabilita' Documenti Iva > Stampe > Bollato Corrispettivi

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
COGARIVA Indexed (I-O) Movimenti registro IVA; scansione per anno/registro "CO"/numero documento (chiave iva-chia)
COGTABEL / FEURTAB Indexed (I-O) Tabelle generiche: tipi documento (tipo 68), aliquote IVA (67), esenzioni (69), descrizione registro (tipo "AD"), progressivo IVA corrispettivi (tipo 66); aggiornata a fine stampa
COGGEANA Indexed Anagrafica: cliente interno per intestazione/numerazione registro
flsta (STot) Print File di stampa testuale (riga) verso stampante/emulazione

Copybook principali

Copybook Descrizione
coge94.select / coge94.fd / coge94.wrk / coge94.prc / coge94-01.scr Definizioni generate da Screens (file, working, procedure di supporto, maschera)
utilstaiva.cpy Area di linkage per l'invocazione da stampa multipla (COGY81): parametri, flag prova/definitiva, esito stampato
utilcogpa3.cpy Interfaccia a COGPA3 per la risoluzione del modello Word (area report)
utilwordmdl.cpy Interfaccia a WORDMDL per la generazione XML/stampa da modello
utils25.cpy / utils52.cpy / utils54.cpy Interfacce a COGS25 (numeratori), COGS52W (date/anno), COGS54 (scelta stampante)
utilu10.cpy Interfaccia a COGU10W per l'edit degli importi in valuta
utilncnf.cpy / utilcogsc1.cpy Lettura configurazioni RNEWCONF / COGSC1
cogcont1.cpy / cogazien.cpy Dati contabili e dati azienda

Chiamate a sottoprogrammi (CALL)

Programma Scopo
RNEWCONF / COGSC1 Lettura configurazione "area-report-attivo" per il gruppo "stampe"
COGS25 Lettura/scrittura numeratore foglio del registro (tipo "76", registro "CO")
COGS52W Gestione e validazione campi data e anno competenza in maschera
COGS54 Selezione stampante/emulazione e gestione stampa
COGPA3 Risoluzione del modello Word e delle tabelle di composizione (TAB-DET, TAB-RIA)
WORDMDL Apertura/scrittura/chiusura file XML ed esecuzione stampa da modello
COGU10W Edit formattato degli importi in valuta di conto
C$JUSTIFY Allineamento a destra dei campi importo nell'export XML

Logica di elaborazione

  1. apri / main - Inizializzazione: ctr-abil, z-99-init-program, x-carica-lingua, rd-azi, open-files. Legge la configurazione "area-report-attivo" (via COGSC1 e RNEWCONF) in tm-cfg-area-report-attivo. Rileva se e' stato invocato dalla stampa multipla controllando staiva-called = "COGE94": in tal caso copia util-staiva in w-util-staiva e imposta w-dc-called = "S".
  2. a4 - Prepara i default: max-riga da az-bol-n-rig, tipo selezione "D" (per data), flag annullo/numerazione. Se richiamato (w-dc-called = "S") carica i parametri da w-staiva-*, interroga COGS25 per il foglio del registro e salta direttamente a a-riga-fine-called.
  3. Paragrafi a-tm-* (a-tm-gip-spazio, a-tm-tipos, a-tm-gip-anno, a-tm-gip-num1/num2, a-tm-gip-datada/dataa, a-tm-numeraz, a-tm-gip-numpag, a-tm-flannul) - Sequenza interattiva di accept dei parametri con navigazione avanti/indietro (F2), controlli e messaggi. La visibilita' dei campi dipende dal tipo selezione (per numero "N" o per data "D") gestita in z-cambia-tm-gip-lines.
  4. a-riga-fine / a-riga-fine-called - Se "area report" attiva, chiama COGPA3 per ottenere il modello e gli indici delle tabelle TAB-DET/TAB-RIA; imposta w-eseguo-stampa-wordmdl = "S". Chiama COGS54 per la stampante. In modalita' richiamata esegue pre-elab per verificare la presenza di movimenti (se assenti, esce segnalando staiva-fl-stampato = "N").
  5. a010 / a013 / a015 / a060 / a055 / a065 / a069-a080 - Scansione di COGARIVA: st-cogariva-notmin + rdnxt-cogariva in loop; filtra per anno, registro "CO", intervallo numeri/date. Per ogni riga ricerca in COGTABEL il tipo documento (segno), l'aliquota IVA e l'esenzione; calcola imponibile, IVA e scorporo; accumula nei totali documento e nella tabella riepilogativa per aliquota (tabrie). Le righe di dettaglio vengono emesse da write-rec.
  6. b055-b070 (b5-riga-riep-iva) - Ordina e stampa la tabella riepilogativa per aliquota IVA; accumula totimpon, totscorpo, totiva.
  7. b080 / b099 - Stampa Totale Generale; aggiorna sulla tabella COGTABEL (tipo 66) il valore IVA corrispettivi (conta1-ivacor). Con tm-flannul = "S" stampa le righe di annullo automatico (b300-loop).
  8. intesta / z-intesta / write-rec / move-tot-val - Gestione intestazione pagina (anagrafica cliente interno, P.IVA, descrizione registro), avanzamento pagina e formattazione righe. In modalita' Word tutta l'emissione passa da scrivi-tag / b5-riga-standard / b5-riga-riep-iva verso i tag XML del modello.
  9. video-reg / registra-numpag / z-chiudi - In modalita' Word chiude e lancia l'esecuzione del modello (WORDMDL "Esegui"); altrimenti chiude la stampa COGS54. Se tm-numeraz = "S", aggiorna il numeratore foglio via COGS25 (in modalita' richiamata solo se elaborazione definitiva w-staiva-prova-def = "D"). Chiude i file ed esce.

Note tecniche

  • Configurazione RNEWCONF: gruppo stampe, chiave area-report-attivo (pacchetto "C", suddivisione "G"/"COGE94"), che determina se la stampa avviene su modello Word (WORDMDL/COGPA3) o in modalita' testuale legacy.
  • Numerazione registro: usa COGS25 con tipo numeratore "76" e registro IVA "CO"; il numero foglio passato a Word e' quello "originale" mentre a WORDMDL viene passato -1 (TASK-2946), poiche' WORDMDL somma le pagine effettivamente stampate.
  • Il codice contiene numerosi GO TO ed etichette numeriche (a013, a055, b055, ...) e PERFORM ... THRU: e' codice legacy antecedente alle convenzioni attuali del progetto; da non prendere a modello per nuovi sviluppi.
  • Larghezza stampa 110/132 caratteri; edit importi tramite COGU10W in valuta di conto (w-currency-conto).
  • Discrepanza etichetta/funzione: nessuna. L'etichetta di menu "Bollato Corrispettivi" corrisponde alla funzione reale (stampa del registro IVA corrispettivi, registro interno "CO").