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¶
apri— inizializzazioni, lettura azienda,open-files; legge la configarea-report-attivo(COGSC1 + RNEWCONF); se richiamato da stampa multipla caricautil-staiva; crea il file temporaneo di sortCOGTRANS(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).a4— valori di default della maschera (registroC1, anno competenza daconta-cones1, tipo ordineD, prova/definitiva, ecc.); se richiamato da stampa multipla salta direttamente aa-riga-fine-called.a-tm-tipogior...a-tm-black-list— sequenza di accept dei parametri con navigazioneF2(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.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.pre-elab— pre-elaborazione: scandisceCOGARIVAper registro/anno e riversa i movimenti nel file temporaneoCOGTRANS, che dispone di chiave per numero e per data; consente cosi' il successivo ordinamento per numero (tm-cfg-ord = "N") o per data ("D").a012...a080— loop di stampa:start/rdnxtsuCOGTRANSsecondo 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 (portraitrdx, landscaperl-landscapeo via WordMdlb5-riga-standard) e alimenta le tabelle di riepilogotab-cod/tabri(aliquote) ete-ele(esenzioni).x31-stampa-agg/x3-riga-agg— riga con informazioni aggiuntive (importo totale documento, P.Iva, divisa/cambio) stampata a rottura documento quandotm-r-agg = "S"o cliente ente PA.b005...b070— ordinamento e stampa del riepilogo per aliquota IVA con totali imponibile/imposta; gestione split payment (tm-cfg-sply).b100...b300— ordinamento e stampa del riepilogo per articolo di esenzione; a seguire eventuale annullo automatico righe residue (tm-flannul).testa/s-intesta— routine di intestazione pagina (salto pagina, header portrait/landscape, incremento numero foglio).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
COGARIVAnel file temporaneoCOGTRANS, dotato di chiavi alternatetrs-chia4(data) etrs-chia5(numero): il file di lavoro va considerato transitorio e legato all'operatore (wo-opernel nome). - Sorgente fortemente legacy: fa uso pervasivo di
GO TOsia tra i paragrafi di accept (a-tm-*,x-test-mouse) sia nel motore di stampa (a012/a013/a015/a016/a055/a077,b005-b300) e diPERFORM ... 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 conw-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.