Vai al contenuto

COGE81 — Stampa giornale bollato IVA vendite (clienti)

Sorgente: cbl/coge81.cbl | Tipo: stampa/report batch (interattivo a maschera per i parametri) | Program-ID: coge81

Menu: Contabilita' > Documenti Iva > Stampe > Bollato Clienti ; Contabilita' > Bilancio > Nuovi elenchi clienti fornitori > Stampa iva vendite per data fattura ; Contabilita' > Bilancio > Spesometro/Esterometro


Scopo

Stampa il giornale bollato IVA delle vendite (registri IVA clienti), leggendo i movimenti IVA registrati e producendo il tabulato ufficiale con dettaglio documento per documento (protocollo, data, numero fattura, cliente, imponibile, aliquota, imposta) piu' i riepiloghi per aliquota IVA e per articolo di esenzione. Gestisce la numerazione progressiva del foglio bollato, l'intestazione, la stampa in prova o definitiva (con consolidamento della data ultimo stampato) e l'annullo automatico delle righe residue della pagina.

Il programma ha tre modalita' d'ingresso pilotate dal parametro di chiamata wo-parametro: stampa standard del giornale bollato clienti, stampa IVA vendite per data fattura (wo-parametro = "F", usata per i controlli allegati clienti/fornitori), e richiamo da stampa multipla (staiva-called = COGE81, parametri passati in util-staiva). Supporta l'output su carta (portrait o landscape), l'esportazione in Excel/tab-separated (tm-excel = "S") e la stampa tramite modello WordMdl/Area Report (XML) quando la configurazione area-report-attivo e' attiva.

File e tabelle principali

File/Tabella Copybook Uso
COGARIVA cogariva.fd Registro IVA (record iva-rec): sorgente principale dei movimenti IVA per registro/anno; scandito in pre-elab
COGTRANS dichiarato inline (trs-rec) File temporaneo di sort (#$coge81.<oper>) con chiavi alternate per numero (trs-chia5) e per data (trs-chia4); popolato da pre-elab, riletto nel loop di stampa
COGTABEL (feurtab) cogfiles.cpy / cogtabel.fd Tabelle generiche contabili: aliquote (tipo 67), tipi documento/segno (68), articoli esenzione (69), esercizio (66), config registro (tipo "AD"), reverse charge ("AT"), stato estero (54/56)
COGGEANA coggeana.fd Anagrafica clienti/fornitori (ana-rec): ragione sociale, P.Iva/C.F., divisa
COGPNCON cogpncon.fd Piano dei conti (usato per la stampa costi/intero documento contabile)
COGPNONC cogpnonc.fd Prima nota non contabilizzata (ricerca valuta estera del documento in x1-src-valuta)
COGCOATT / COGCOPRE cogcoatt.cpy / cogcopre.cpy Prima nota contabilizzata anno attuale / precedente (aperte in input per la stampa costi contabili)
COGFATTU cogfattu.fd Testate fatture (cambio/valuta, numero documento fornitore, ente PA)
COGCAMBI cogcambi.fd Cambi valuta (riga informazioni aggiuntive divisa/cambio)
COGARIV2 cogariv2.fd IVA competenza/liquidazione (iv2-data-competenza, riga competenza altro periodo)
COGFTETS cogftets.fd Testate documenti host / identificativo SDI (opzione tm-id-sdi)
COGANAPP / COGAPPOG coganapp.fd / cogappog.fd Dati aggiuntivi anagrafica: flag stampa fattura ente PA, appoggio
COGRACCO / COGRACBB / LODCMAGG cogracco.fd / cogracbb.fd / lodcmagg.fd Raccordo commessa/bollettino e commesse laboratorio (nomi privati/paziente, personalizzazioni lab)
FILEASC2 dichiarato inline (as2-rec) File giornale_bollato<oper>.asc per esportazione Excel (line sequential)

Copybook di servizio: utils25.cpy (numerazione COGS25), utils52.cpy (date COGS52W), utilk37.cpy (aiuto registri COGK37), utils54.cpy (stampante/spooler COGS54), utilu10.cpy + k-u10.cpy (edit/cambio importi COGU10), utilncnf.cpy (configurazioni RNEWCONF), utilwordmdl.cpy + utilcogpa3.cpy + utilcogsc1.cpy (stampa WordMdl/Area Report), utilstaiva.cpy (parametri da stampa multipla), cogazien.cpy, k-personal.cpy, k-tipi-cogtabel.cpy, wstato/wopenf/wgrave/wnscr.

Flusso principale

  1. apri — inizializzazioni, lettura azienda, open-files; legge la config area-report-attivo (COGSC1 + RNEWCONF); se richiamato da stampa multipla carica util-staiva; crea il file temporaneo di sort COGTRANS (open output/close/open i-o) e il file .asc; legge l'esercizio (COGTABEL tipo 66 → conta-rec); apre in input la prima nota contabilizzata attuale (COGCOATT) e precedente (COGCOPRE).
  2. a4 — valori di default della maschera (registro C1, anno competenza da conta-cones1, tipo ordine D, prova/definitiva, ecc.); se richiamato da stampa multipla salta direttamente a a-riga-fine-called.
  3. a-tm-tipogior ... a-tm-black-list — sequenza di accept dei parametri con navigazione F2 (indietro) / F3 (conferma): registro (F8 = aiuto COGK37, F1 = configura RNEWCONF), anno competenza (COGS52W), intestazione, riga info aggiuntive, identificativo SDI, stampa costi/intero documento contabile, tipo selezione (numero o data), da/a numero, da/a data (F8 calendario), numero foglio, annullo automatico, prova/definitiva, Excel, black list.
  4. a-riga-fine / a-riga-fine-called — validazione complessiva (x-imposta-conferma); se Area Report attivo cerca il modello WordMdl via COGPA3 e ne ricava gli indici tabelle (TAB-DET/TAB-RIA/TAB-RIE); apre lo spooler via COGS54.
  5. pre-elab — pre-elaborazione: scandisce COGARIVA per registro/anno e riversa i movimenti nel file temporaneo COGTRANS, che dispone di chiave per numero e per data; consente cosi' il successivo ordinamento per numero (tm-cfg-ord = "N") o per data ("D").
  6. a012 ... a080 — loop di stampa: start/rdnxt su COGTRANS secondo l'ordine scelto; per ogni riga risolve nominativo (rd-coggeana, COGU02), aliquota (COGTABEL 67), tipo documento/segno e descrizione (COGTABEL 68), esenzione (COGTABEL 69), converte importi in divisa di stampa (COGU10), stampa la riga di dettaglio (portrait rdx, landscape rl-landscape o via WordMdl b5-riga-standard) e alimenta le tabelle di riepilogo tab-cod/tabri (aliquote) e te-ele (esenzioni).
  7. x31-stampa-agg / x3-riga-agg — riga con informazioni aggiuntive (importo totale documento, P.Iva, divisa/cambio) stampata a rottura documento quando tm-r-agg = "S" o cliente ente PA.
  8. b005 ... b070 — ordinamento e stampa del riepilogo per aliquota IVA con totali imponibile/imposta; gestione split payment (tm-cfg-sply).
  9. b100 ... b300 — ordinamento e stampa del riepilogo per articolo di esenzione; a seguire eventuale annullo automatico righe residue (tm-flannul).
  10. testa / s-intesta — routine di intestazione pagina (salto pagina, header portrait/landscape, incremento numero foglio).
  11. b999 / fine / z-chiudi — chiusura stampa: se WordMdl, chiude e lancia il modello XML (WORDMDL "Chiudi-XML"/"Esegui"); aggiorna il numeratore foglio del registro (COGS25) e, in definitiva, consolida la data ultimo stampato in COGTABEL; se Excel, lancia GRIDTOXS sul file .asc.

Sottoprogrammi chiamati

Programma Ruolo
COGS52W Editing/validazione anno competenza e date da/a (con calendario F8)
COGK37 Aiuto/selezione registro IVA (tipo giornale) su F8
COGS25 Numerazione foglio bollato del registro (tipo "76")
COGS54 Selezione periferica/spooler e gestione stampa
COGU02 Recupero dati anagrafica cliente/fornitore (flag intra/extra)
COGU10 Edit importi e conversione cambio in divisa di stampa (via z-u10)
COGPA3 Ricerca modello e composizione tabelle per stampa Area Report
WORDMDL Generazione documento XML e stampa tramite modello Word (Area Report)
COGSC1 Impostazione parametro configurazione area-report-attivo
RNEWCONF Lettura configurazioni contabili (registri, area report)
GRIDTOXS Apertura file .asc per esportazione Excel
C$JUSTIFY Allineamento a destra degli importi per l'export WordMdl

Note

  • Il programma non modifica la prima nota: e' una stampa. L'unica scrittura persistente e' l'aggiornamento del numeratore foglio (COGS25) e, in modalita' definitiva, del record COGTABEL con la data dell'ultimo movimento stampato (blocco anti-ristampa retroattiva).
  • L'ordinamento (per numero o per data) e' realizzato copiando i movimenti IVA da COGARIVA nel file temporaneo COGTRANS, dotato di chiavi alternate trs-chia4 (data) e trs-chia5 (numero): il file di lavoro va considerato transitorio e legato all'operatore (wo-oper nel nome).
  • Sorgente fortemente legacy: fa uso pervasivo di GO TO sia tra i paragrafi di accept (a-tm-*, x-test-mouse) sia nel motore di stampa (a012/a013/a015/a016/a055/a077, b005-b300) e di PERFORM ... THRU (es. pre-elab thru ex-pre-elab, x31-stampa-agg thru ex-x31, st-contab thru ex-st-contab). Da non replicare nei nuovi sviluppi.
  • Le tre modalita' d'uso (bollato standard, per data fattura con wo-parametro = "F", stampa multipla con w-dc-called = "S") condividono lo stesso motore ma abilitano/nascondono controlli diversi della maschera; in modalita' "F" e' ammesso solo l'ordine per data.
  • La stampa puo' produrre tre output alternativi mutuamente esclusivi per riga: tabulato testuale (portrait/landscape), file Excel/.asc, oppure XML per modello WordMdl. Le opzioni "stampa costi contabili" / "intero documento contabile" disattivano la modalita' WordMdl.