Vai al contenuto

COG009 — Stampa intestazione/numerazione registri bollati

Sorgente: cbl/cog009.cbl | Tipo: stampa/report batch (con maschera di parametri) | Program-ID: cog009

Menu: Contabilita' > Prima Nota > Stampe > Libro Giornale > Intestazione ; Contabilita' > Documenti Iva > Stampe > Intestazione Registri


Scopo

Stampa l'intestazione e/o la numerazione delle pagine dei registri bollati (libro giornale, registri IVA). Serve a predisporre i moduli continui vidimati: per ciascuna pagina, entro l'intervallo richiesto, stampa in testa i dati dell'intestatario (ragione sociale, indirizzo, P.IVA/C.F., descrizioni libere) e/o la numerazione progressiva della pagina con l'anno.

L'operatore sceglie l'intervallo di pagine (da/a), l'anno, il tipo di stampa (Intestazione, Numerazione o Entrambe) e i dati dell'intestatario. I dati anagrafici sono precaricati dal cliente interno dell'azienda (az-cli-int, letto da COGGEANA) ma sono liberamente modificabili sulla maschera.

File e tabelle principali

File/Tabella Copybook Uso
COGGEANA (catena copybook azienda/anagrafiche) Anagrafica generale: lettura del cliente interno (ana-tipo "C", ana-cod = az-cli-int) per precaricare ragione sociale, indirizzo, localita', provincia, P.IVA (ana-nome, ana-ind, ana-loca, ana-prov, ana-piva, ana-cofi)
COGTABEL (feurtab) cogfiles.cpy Tabella generica di contabilita' (aperta con gli archivi standard)
FLSTA flsta.cpy File di stato/servizio stampa

La struttura tab-maschera raccoglie i parametri: tm-pag-da/tm-pag-a (intervallo pagine), tm-anno, tm-stampa (I/N/E), tm-cli (codice anagrafico) con i campi anagrafici derivati (tm-rag, tm-ind, tm-loc, tm-pro, tm-piv), tm-des-1/tm-des-2 (descrizioni libere) e tm-des-carb (descrizione bollato carburanti, solo consorzi). Copybook di servizio: cogazien.cpy, utils52.cpy (anno/calendario), utils54.cpy (avvio stampa), utils65.cpy (aiuto anagrafica).

Righe di stampa

  • testa1 — riga anagrafica: ragione sociale (ts1-rag), etichetta "P.I.- " o "C.F.- " (in base a ana-cofi(1:1)), partita IVA (ts1-piv), descrizione 1 (ts1-des) e, per la numerazione, "Pag. N." + numero pagina (ts1-pag) e anno (ts1-anno).
  • testa2 — riga indirizzo: indirizzo (ts2-ind), localita' (ts2-loc), provincia (ts2-pro), descrizione 2 (ts2-des).
  • testa3 — riga descrizione bollato carburanti (ts3-des-carb), stampata solo se az-consorzi = "S".
  • Dopo ogni pagina viene emesso un salto pagina (write riga from spaces before page).

Flusso principale

  1. apri — init, ctr-abil, open-files; abilita F3 conferma e F8 calendario.
  2. a4 — inizializza la maschera (tm-stampa = "E"), precarica i dati anagrafici del cliente interno (az-cli-intCOGGEANA).
  3. a-tm-pag-da / a-tm-pag-a — accept dell'intervallo pagine con validazione (obbligatorie, da <= a).
  4. a-tm-anno — accept dell'anno tramite COGS52W (s52-verifica = "a").
  5. a-tm-stampa — combo del tipo di stampa (I/N/E) via z-s60-tm-stampa.
  6. a-tm-cli — accept del codice anagrafico con aiuto/ricerca tramite COGS65W; se valorizzato, ricarica i campi anagrafici; se azzerato, abilita l'inserimento manuale dei campi (z-cambia-tm-rag/ind/loc/pro/piv).
  7. a-tm-rag ... a-tm-piv — accept dei campi anagrafici (editabili solo quando tm-cli = 0).
  8. a-tm-des-1 / a-tm-des-2 — descrizioni libere (disabilitate se tm-stampa = "N").
  9. a-tm-des-carb — descrizione bollato carburanti (visibile solo per consorzi).
  10. a-riga-fine — conferma finale; avvio stampa tramite COGS54 (posizionamento, k-chr-stampa = 132).
  11. ela-00-loop ... ela-90 — ciclo di stampa da tm-pag-da a tm-pag-a: per ogni pagina riempie testa1/testa2 (s1-intesta, s2-numera in base a tm-stampa), stampa le righe di testa (eventuale testa3 per consorzi) e avanza pagina; a fine stampa chiude con COGS54 (s54-after-print = "S").
  12. fine / z-chiudi — chiude i file ed esce.

Sottoprogrammi chiamati

Programma Ruolo
COGS52W Editing/verifica dell'anno (con calendario su F8)
COGS65W Aiuto/ricerca del codice anagrafico (cliente)
COGS54 Gestione avvio e chiusura della stampa (dispositivo, posizionamento)

Note

  • s1-intesta produce la riga solo se tm-stampa e' "I" o "E"; s2-numera solo se "N" o "E"; con "N" (sola numerazione) i campi anagrafici e le descrizioni vengono disabilitati.
  • La riga testa3 (bollato carburanti) e' condizionata a az-consorzi = "S": e' una personalizzazione per i consorzi.
  • Se la ragione sociale e' vuota, l'etichetta P.IVA e il valore vengono azzerati sulla riga di intestazione (ts1-piv/ts1-pi).
  • Il sorgente usa estesamente GO TO fra i paragrafi di accept e il ciclo di stampa (ela-00-loop, ela-89, ela-90): forma legacy della conversione, da non replicare.