Vai al contenuto

COGP76 — Stampa Ricevute Prestazioni Occasionali

Campo Valore
Sorgente cbl/cogp76.cbl
Program-ID COGP76
Tipo Stampa (con aggiornamento contabile)
Posizione menu Contabilita' > Documenti Iva

Scopo

Stampa e contestuale aggiornamento in Prima Nota delle ricevute per prestazioni occasionali con ritenuta d'acconto, esenti IVA (collaborazione occasionale ai sensi dell'art. 5 comma 2 D.P.R. 633/72). L'operatore seleziona un fornitore/percipiente e inserisce l'importo netto; il programma calcola la ritenuta d'acconto e il lordo, numera il documento di Prima Nota e il certificato, scrive le tre registrazioni contabili (Dare, contropartita Cassa, contropartita Irpef) su COGPNONC e stampa la ricevuta in doppia copia.

I conti contabili delle tre contropartite (CO/GE Dare, Cassa, Irpef) e le causali (TO) sono letti dalla configurazione RNEWCONF gruppo RIACPREOCC e risolti sulla tabella contropartite COGTABEL tipo 16.

Struttura / flusso

  1. aprictr-abil, z-99-init-program, x-carica-lingua, rd-azi, open-files. Legge la tabella anno contabile (COGTABEL tipo 66) in conta-rec (senza la quale esce). Definisce i tasti funzione (F1 configura, F3 conferma, F8 aiuto/calendario, F9 stampa/ricerca avanzata), imposta la divisa di conto (get-divisa-conto), prepara la maschera e legge la configurazione (x99-confi).
  2. a4 — Inizializza la maschera, compone l'intestazione azienda (ragione sociale, indirizzo del magazzino principale letto da COGMAGAZ, P.Iva). Risolve i tre conti contabili leggendo COGTABEL tipo 16 con i codici di configurazione (tm-cg-dare, tm-cg-a-cassa, tm-cg-a-irpef); se un conto manca avvisa e apre la configurazione.
  3. a-tm-for / a-tm-nome-ric / a-rd-ana — Selezione del fornitore per codice o per ragione sociale (ricerca tramite send-w06 / area utilw06). Legge l'anagrafica COGGEANA (rd-coggeana) e i dati di nascita da COGCNDCF (condizione NA); valorizza i campi della ricevuta (nome, indirizzo, localita', codice fiscale, codice ritenuta di default da ana-ritac).
  4. a-tm-nome .. a-tm-cofi — Accept dei dati anagrafici del percipiente (nome, indirizzo, localita', provincia, cap, localita'/data di nascita, codice fiscale); le date sono gestite con COGS52 (calendario).
  5. a-tm-data-cer — Data ricevuta, validata contro l'esercizio contabile (x-controlla-tm-data-cer: dentro esercizio aperto e non anteriore alla data minima di contabilizzazione).
  6. a-tm-cod-rit — Codice ritenuta, validato su COGTABEL tipo 46 (x-controlla-tm-cod-rit), da cui ricava descrizione, aliquota ritenuta e aliquota imponibile.
  7. a-tm-netto — Importo netto; x-controlla-tm-netto calcola ritenuta e lordo: lordo = netto / (100 - aliquota) * ..., ritac = lordo - netto, con arrotondamento ed edit via COGU10W.
  8. a-poscur — Conferma finale (x-imposta-conferma), poi c-ini (dialogo stampa COGS54) e avvio dell'aggiornamento/stampa (clock-msg).
  9. Numerazione e Prima Nota — Numera il documento con COGS25 (codice 5) e scrive tre record su COGPNONC (wr-cogpnonc): (1) Dare importo lordo, (2) contropartita Cassa importo netto, (3) contropartita Irpef importo ritenuta; ciascuno con la relativa causale TO da configurazione. Numera il certificato con COGS25 (codice 26).
  10. inizio-stampa — Stampa la ricevuta in doppia copia (perform 2 times), componendo intestazione azienda, dati del percipiente, ricevuta n./data, importi (somma ricevuta, ritenuta d'acconto, netto), coda normativa e riga firma, tramite st-stampa-riga/st-stampa-riga-jump.
  11. a-tm-ristampa — Consente la ristampa (F9) della stessa ricevuta senza rigenerare le registrazioni.
  12. fine / z-chiudi — Chiude i file (COGTABEL, COGGEANA, COGCNDCF, COGPNONC, COGMAGAZ), finestra e programma.

File e tabelle principali

File logico Record/chiave Modo Uso
FEURTAB (COGTABEL) euta-rec, chiave euta-tipo+euta-codr Input Anno contabile (tipo 66), contropartite CO/GE (tipo 16), codici ritenuta (tipo 46)
COGGEANA ana-rec, ana-tipo+ana-cod Input Anagrafica fornitore/percipiente
COGCNDCF cnd-rec, chiave cnd-tip+cnd-cod+cnd-cnd+cnd-key (cond. NA) Input Dati di nascita (localita'/data) del percipiente
COGPNONC pno-rec, chiave pno-docum+... Output Registrazioni di Prima Nota (3 righe per ricevuta)
COGMAGAZ magz-rec, magz-tipo="M"+magz-cod Input Indirizzo/localita' del magazzino principale (intestazione)
FLSTA flsta.fd/flsta.cpy (riga) Output File di stampa della ricevuta

Sottoprogrammi chiamati

Programma Contesto Scopo
COGS25 Numerazione P.Nota (cod. 5) e certificato (cod. 26) Assegnazione progressivi documento
COGS52W / COGS52 Gestione date (nascita, ricevuta) Edit data con calendario
COGS54 c-ini Dialogo di stampa/anteprima
COGU10W z-u10, controlli importi Edit, arrotondamento e conversione importi in divisa di conto
RNEWCONF x99-confi Configurazione contropartite e causali (gruppo RIACPREOCC)
send-w06 (UTILW06) a-tm-nome-ric Ricerca anagrafica per ragione sociale

Copybook principali

  • feurtab.fd / cogfiles.cpy / cogp76.select / cogp76.fd — file tabelle generico e file specifico
  • flsta.fd / flsta.cpy — file di stampa
  • cogp76.wrk, cogp76.decla, cogp76.prc — working, declaratives e procedure generate da Screens
  • cogp76-01.scr — maschera dati ricevuta
  • COGCONTA.CPY (conta-rec) — dati anno contabile (esercizio, date di chiusura)
  • utils25.cpy (util-s25), utils52.cpy (util-s52), utils54.cpy (util-s54), UTILW06.CPY, utilu10.cpy + k-u10.cpy, utilncnf.cpy (util-ncnf), utils65.cpy — aree comunicazione sottoprogrammi
  • getdcont.cpy — recupero divisa di conto (get-divisa-conto)
  • printer.cpy — costanti di stampa (es. k-st-double-width-set/reset)
  • sendw06.cpy — routine send-w06
  • wstato.cpy, wgrave.cpy, wnscr.cpy, cogazien.cpy — working standard
  • stato.cpy, stato1.cpy, winmsg.cpy, grave.cpy, opengen.cpy, mmmask.cpy — fine procedure
  • Linkage: wcont.cpy, wcont1.cpy (stringhe)

Note

  • Programma non di sola stampa: genera effettivamente le registrazioni di Prima Nota (3 righe su COGPNONC) e i progressivi documento/certificato tramite COGS25. La ristampa (F9) invece riproduce solo la stampa senza riscrivere la contabilita'.
  • I codici delle contropartite CO/GE (Dare/Cassa/Irpef) e le causali TO sono parametrici via RNEWCONF gruppo RIACPREOCC (chiavi euta-c026-cg-sp, euta-c026-cg-bo, euta-c026-cg-omaggio, euta-c026-to-sp, euta-c026-to-bo, euta-c026-to-omaggio); i codici puntano poi a COGTABEL tipo 16 per il mastro/conto/sottoconto effettivo.
  • Il calcolo della ritenuta parte dall'importo netto immesso e ricostruisce lordo e ritenuta d'acconto usando l'aliquota del codice ritenuta (COGTABEL tipo 46).
  • La stampa e' sempre in doppia copia (percipiente e ditta), con testo normativo fisso (art. 5 comma 2 D.P.R. 633/72).
  • Il codice usa GO TO interni ai paragrafi e PERFORM ... THRU (c-ini/ex-c-ini), coerentemente con lo stile del programma.