Vai al contenuto

Inserimento/Gestione Prima Nota e Documenti IVA (COGE77W / COGE77N)

Identificazione

  • Programma: COGE77W (wrapper) → COGE77N (versione grafica corrente)
  • Autore: Andrea Parmeggiani - Eurosystem2000
  • Area: Contabilita' / Prima Nota
  • Descrizione: Inserimento e modifica di documenti di prima nota, fatture e documenti IVA
  • Righe: 212 (wrapper) + 22.460 (COGE77N)
  • Voci menu: 9 (piu' usato dell'intera contabilita')

Architettura wrapper (COGE77W)

COGE77W legge la configurazione CONTABIL/versione-programmi-doc tramite RNEWCONF e smista a programmi diversi:

Parametro Versione GRAFICA (→ COGE77N) Versione carattere
IIN Inserimento nuovo → COGE77 (7.378 righe)
IIA Inserimento con modifica → COGE77
GI Gestione IVA → COGE78 (1.926 righe)
IPN Inserimento Prima Nota → COGE74 (3.778 righe)
IPM Inserimento Prima Nota multipla → COGE54 (2.515 righe)
IPP Inserimento provvisorio → COGE74 con param "PROVVISO"
IPMP Inserimento provvisorio multiplo → COGE54 con param "PROVVISO"
GP Gestione Prima Nota → COGE75 (3.970 righe)

La documentazione che segue si riferisce a COGE77N, la versione grafica corrente.

Funzionalita' principale

COGE77N e' il programma centrale della contabilita'. Gestisce l'intero ciclo di vita dei documenti contabili:

  • Inserimento di documenti IVA (fatture, note credito) e prima nota (movimenti contabili)
  • Modifica di documenti esistenti non ancora archiviati
  • Cancellazione di documenti con controlli di sicurezza
  • Duplicazione di documenti esistenti

Modalita' operative

Modo Parametro Sottotipi
Inserimento (I) wo-parametro = "II" o "IP" IVA: Agricolo (A), Generico (N); P.Nota: Normale (N), Provvisorio (P)
Gestione (G) wo-parametro = "GI" o "GP" Modifica documento esistente
Duplicazione (D) via e77-called Copia da documento esistente

Interfaccia a 4 pagine (tab)

Pagina Costante Contenuto
1 (k-pagina-iva) IVA Dati fattura, tipo documento, anagrafica, divisa, pagamento
2 (k-pagina-rit) Ritenute Ritenuta d'acconto, previdenziale, SSN
3 (k-pagina-pno) Prima Nota Movimenti dare/avere con conto, importo, descrizione
4 (k-pagina-com) Commesse Centri di costo/progetto (visibile solo se abilitato)

Flusso operativo

1. Inizializzazione (A000)

  • z-99-init-program: Inizializzazione variabili di sistema
  • ctr-abil: Verifica permessi operatore
  • rd-azi: Lettura dati azienda
  • Gestione chiamate esterne:
  • e77-called = "COGE77-CALLED": Richiamo documento specifico
  • cogub6-caller = "COGUB6": Chiamata da cruscotto documenti
  • e77-caller = "CAP078": Chiamata da fatture CE
  • x99-confi: Caricamento configurazione (20+ parametri da RNEWCONF)
  • open-files: Apertura di tutti i file
  • Verifica fatture da ricevere automatiche (se configurato)
  • verifica-contropartite-configurate: Controllo setup contropartite
  • x-carica-lingua: Caricamento lingua interfaccia
  • Creazione pulsanti custom (F7, F6, F9, Shift-F9)
  • rd-msk-pop: Visualizzazione form principale

2. Preparazione dati (A4)

  • Inizializzazione working storage e flag
  • Accettazione data sistema
  • Configurazione tab control (4 pagine)
  • Costruzione griglie (IVA, Prima Nota, Commesse)
  • Lettura permessi operatore
  • Caricamento codici contropartita
  • x99-cfg: Lettura configurazioni specifiche

3. Event loop principale (Z-99-EVENT-FORM-1)

Il programma entra in un ciclo eventi guidato dall'interfaccia grafica:

  • cmd-tabchanged: Cambio pagina/tab
  • ntf-resized: Ridimensionamento finestra
  • Accettazione campi singoli con validazione
  • Gestione tasti funzione

4. Pagina 1: Dati IVA/Fattura

Acquisizione dati principali:

  • Tipo documento IVA (tm-doc-iva-tdo): Validato su COGTABEL tipo 68
  • Numero/Anno documento: Con numerazione automatica via COGS25
  • Anagrafica (tm-ana-cod): Cliente o fornitore da COGGEANA/COGANAPP
  • Data registrazione (tm-data-reg): Con validazione calendario fiscale
  • Divisa e cambio: Gestione multi-valuta via COGU10W
  • Codice pagamento (tm-pag-cod): Da COGTABEL tipo 16
  • Protocollo IVA: Con forzatura possibile via F9

Griglia IVA (max 9 elementi — k-max-iva-ele)

  • Codice IVA con aliquota e articolo esenzione
  • Imponibile e imposta
  • Percentuale non deducibile
  • IVA complementare (per reverse charge)
  • Gestione via COGS85 e COGU95

5. Pagina 2: Ritenute d'acconto

  • Tipo ritenuta e aliquota
  • Importo soggetto a ritenuta
  • Valore ritenuta calcolato
  • Ritenuta previdenziale (quote sociali/collaboratore)
  • Ritenuta SSN (aliquote contributive)

6. Pagina 3: Prima Nota (max 100 righe — k-max-pno-ele)

Griglia movimenti contabili:

  • Conto (mastro/conto/sottoconto): Validato su COGPNCON
  • Segno: Dare (D) o Avere (A)
  • Importo: In valuta locale o estera
  • Descrizione: Libera o da modello
  • Data valuta: Per competenza temporale
  • Centro di costo: Se abilitato
  • Selezione conto via COGU48 (F8)

7. Pagina 4: Commesse

  • Visibile solo se tm-cfg-commesse-anche-da-pno = "S"
  • Assegnazione progetto/centro di costo
  • Allocazione costi

8. Salvataggio (C-AGGIORNA)

8.1 Numerazione (COGS25)

  • Generazione numero progressivo IVA
  • Generazione numero prima nota

8.2 Calcolo movimenti (B-CALCOLA-PNO)

  • Costruzione record transazione da dati form
  • Chiusura/riapertura file COGTRANS per pulizia
  • Generazione descrizioni movimenti
  • Creazione record prima nota in COGTRANS
  • Creazione partite aperte (se applicabile)

8.3 Scrittura Prima Nota (C1-PRIMA-NOTA / C6-PRIMA-NOTA)

  • Scrittura movimenti su COGPNONC
  • Inserimento partite via COGU48
  • Allocazione centri di costo via COGS85
  • Validazione date competenza

8.4 Scrittura IVA (C2-IVA / C3-FATTURA)

  • Scrittura registro IVA su COGARIVA
  • Scrittura fattura su COGFATTU / COGFATT2
  • Gestione reverse charge intracomunitario

8.5 Operazioni aggiuntive

  • Scrittura ritenute (COGRITAC)
  • Scrittura raccordo (COGRACCO)
  • Gestione cespiti (COGK74, se collegamento attivo)
  • Gestione e-fatture (COGUB1)
  • Event logging (GESEVLOG)

9. Cancellazione (E-CANCELLA)

Controlli pre-cancellazione:

  • Flag w-fl-ammin: Solo amministratori (se tm-cfg-canc-solo-amm attivo)
  • w-partita-storicizzata: Blocco se partita storicizzata
  • w-documento-intoccabile: Blocco se conto protetto
  • Verifica IVA per cassa: Periodo non chiuso
  • Verifica e-fattura: Chiamata COGUB1

Conferma utente (F3), poi E1-CANCELLA:

  • Cancellazione COGTRANS
  • Cancellazione COGPNONC
  • Cancellazione COGARIVA
  • Cancellazione COGFATTU / COGFATT2
  • Cancellazione COGMOVPA (movimenti partite)
  • Cancellazione COGRITAC
  • Cancellazione COGRACCO
  • Cancellazione assegnazioni commesse

File principali

File Prefisso Operazioni Descrizione
COGTRANS trs- Open/Write/Read/Delete Transazioni temporanee (file di lavoro)
COGPNONC pno- Write/Read/Rewrite/Delete Movimenti prima nota (record definitivi)
COGFATTU fat- Write/Read/Delete Fatture (testata)
COGFATT2 fa2- Write/Read/Delete Fatture dettaglio/archivio
COGARIVA ari- Write/Read/Delete Registro IVA
COGMOVPA mpa- Write/Delete Movimenti partite aperte
COGPARTI par- Read/Write Partite aperte (master)
COGRITAC rit- Write/Delete Ritenute d'acconto
COGRACCO rac- Write/Rewrite/Delete Raccordo fatture-bolle
COGCNDCF cnf- Write Condizioni/configurazioni
COGGEANA ana- Read Anagrafica generale (clienti/fornitori)
COGANAPP app- Read Approfondimento anagrafica
COGPNCON pco- Read Piano dei conti
COGTABEL euta- Read Tabelle di sistema
COGPNMOD mod- Read Modelli prima nota
COGSLPCO slp- Read Saldi piano dei conti
COGMOVCC mcc- Write Movimenti centri di costo
FEURTAB eur- Read Tabella cambi valute
LODTMDES lod- Write Log transazioni/audit
FILEINP - Read Import da file esterno
FILEJDOC - Write Cache documenti (archiviazione)

Costanti e limiti

Costante Valore Descrizione
k-max-iva-ele 9 Max righe IVA
k-max-pno-ele 100 Max righe prima nota
k-max-scd-ele 38 Max scadenze
k-pagina-iva 1 Tab: IVA
k-pagina-rit 2 Tab: Ritenute
k-pagina-pno 3 Tab: Prima Nota
k-pagina-com 4 Tab: Commesse

Pulsanti custom

ID Tasto Costante Funzione
1 F7 k-f7-apri-modello Apri modello prima nota
2 F6 k-f6-contropartite Contropartite
3 F9 k-f9-forzo-protocollo Forza numero protocollo IVA
4 F9 k-f9-messa-in-arrivo Messa in arrivo documento
5 F7 k-f7-apri-file Apri file esterno
6 Shift-F9 k-sf9-duplica-riga Duplica riga prima nota

Catena di chiamata

Programmi piu' frequenti

Programma Chiamate Righe Funzione
COGU48 18 3.608 Selezione conti/anagrafiche (F8)
GRIDADMN 15+ 3.142 Amministrazione griglie dati
COGS25 15 692 Numerazione progressiva documenti
COGS77 6 1.749 Operazioni partite aperte
COGS85 4 1.390 Allocazione centri di costo

Tutti i programmi chiamati (49 con sorgente)

Programma Righe Funzione
AZVALIDA 56 Validazione date
CANIVA 1.279 Cancellazione operazioni IVA
COGC55 882 Analisi conto
COGC57 3.421 Reporting conti
COGE22 1.156 Selezione divisa/valuta (F8)
COGE40 11.527 Riepilogo/totali documento
COGE67 1.273 Lookup tipo documento
COGE69 1.903 Dettaglio documento
COGE100 1.009 Calcolo provvigioni
COGG48 1.422 Selezione gruppo conti
COGH20 1.451 Dati testata
COGK74 820 Gestione acquisizione cespiti
COGP57 2.088 Selezione progetto/reparto
COGS09 1.002 Registro contabile
COGS25 692 Numerazione progressiva
COGS51 401 Simulazione scritture contabili
COGS52W 837 Gestione provvigioni (finestra)
COGS65W 1.031 Riepilogo IVA (finestra)
COGS77 1.749 Operazioni partite aperte
COGS79 632 Gestione banche ABI/CAB
COGS85 1.390 Allocazione centri di costo
COGS99W 409 Analisi costi (finestra)
COGU06 9.586 Selezione contropartita
COGU10 1.110 Lookup divisa/prezzo
COGU10W 1.193 Lookup divisa (finestra)
COGU18 1.138 Dettaglio conto
COGU48 3.608 Selezione conto/anagrafica
COGU95 2.783 Selezione codice IVA
COGUB1 2.173 Operazioni e-fattura
COGUB9 1.398 Fatture in testata esterna (FTE)
COGZDEW 2.449 Reverse charge UE
COPIAF 1.898 Copia/duplicazione fattura
DIALOGS 330 Visualizzazione dialoghi
DTPRG 62 Data → numero progressivo
ESTRXLS 411 Esportazione Excel
GESEVLOG 192 Event logging
GESSTR 238 Gestione stringhe evento
GRSM12 450 Sincronizzazione griglia
PRGDT 74 Numero progressivo → data
RNEWCONF 620 Lettura configurazione
WIN066 1.113 Finestra selezione (F8)
WIN067 501 Selezione tipo documento IVA (F8)
WIN094 832 Ricerca avanzata cliente
WIN129 1.598 Finestra selezione
WIN200 997 Visualizzazione dati

Programmi senza sorgente: cap342, capt41, wca325 (probabilmente moduli esterni o obsoleti).

Runtime AcuCOBOL: C$OPENSAVEBOX (dialogo file), W$TEXTSIZE (dimensioni testo).

Modalita' di chiamata

Il programma puo' essere invocato:

  • Da menu (autonomo): Tramite wrapper COGE77W
  • Da COGUB6 (cruscotto documenti): cogub6-caller = "COGUB6"
  • Da CAP078 (fatture CE): e77-caller = "CAP078"
  • Richiamo documento: e77-called = "COGE77-CALLED" con e77-docum e e77-anno
  • Operazione speciale: e77-operazione = "IMS" (messa in arrivo)

Parametri in linkage:

  • stringhe (wcont.cpy): Contesto di sistema
  • utilcoge77.cpy: Strutture specifiche (e77-caller, e77-docum, e77-anno, e77-nfat, e77-operazione)
  • wcont1.cpy: Dati aggiuntivi di contesto

Configurazioni richieste

Via RNEWCONF (gruppo "CONTABIL")

Chiave Effetto
versione-programmi-doc GRAFICA / carattere (determina dispatch nel wrapper)
canc-solo-amm Cancellazione riservata ad amministratori
gestione-partite Abilita gestione partite aperte
commesse-anche-da-pno Mostra tab commesse
gest-auto-fatt-da-ricevere Fatture da ricevere automatiche
fatt-da-ricev-nr-giorni Giorni per fatture da ricevere
desc-digitata-fissa Descrizione fissa in prima nota
collegamento-cespiti-coge Collegamento con gestione cespiti

Tabelle di sistema (COGTABEL)

Tipo Contenuto
16 Condizioni di pagamento
50 Codici IVA
66 Anno contabile corrente
68 Tipi documento con contropartite IVA

Note tecniche

Copybook principali

  • coge77n.wrk: Working storage principale
  • coge77n.decla: Declaratives (gestione errori I/O per 60+ file)
  • coge77n.select: SELECT file aggiuntivi
  • coge77n-01.scr: Definizione screen/form
  • utilcoge77.cpy: Struttura linkage specifica

Strutture dati chiave

  • tab-maschera (tm-): Dati form principale con flag di stato
  • tm-dati-permanenti: Dati persistenti tra operazioni (date, tipi)
  • w-screen-status: Stato interfaccia
  • w-dati-called: Dati passati da/verso programmi chiamanti

Pattern di gestione errori

perform rd-cogpnonc
if w-verbo-invalido
   string "messaggio errore" delimited size into wb-msg
   perform vbx-msg-error
   go to exit-paragraph
end-if

Dialoghi: vbx-msg-error (errore), vbx-msg-warning (avviso), vbx-msg-info (info), acc-conf (conferma F3), box-msg (messaggio OK).

Diagramma di flusso

              COGE77W (wrapper)
                   │
         ┌─────────┴─────────┐
         │ cfg=GRAFICA        │ cfg=altro
         ▼                    ▼
      COGE77N            COGE77/74/75/78/54
         │               (versioni carattere)
         ▼
      A000 (init)
         │
      A4 (preparazione)
         │
      DISPLAY form 4 tab
         │
      Z-99-EVENT-FORM-1 ◄──────────┐
      (event loop)                  │
         │                          │
    ┌────┼────┐                     │
    │    │    │                     │
   Tab  Campo Tasto                 │
   chg  valid funz.                 │
    │    │    │                     │
    │    │    ├── F3 Conferma ──┐   │
    │    │    ├── F4 Cancella ──┤   │
    │    │    ├── F7 Modello    │   │
    │    │    ├── F8 Selezione  │   │
    │    │    └── ESC Esci ─────┤   │
    │    │                      │   │
    │    └──────────────────────┘   │
    │                          │    │
    └──────────────────────────┘    │
                               │    │
                    ┌──────────┴──┐ │
                    │             │ │
               C-AGGIORNA   E-CANCELLA
               (salva)      (elimina)
                    │             │
              ┌─────┴─────┐      │
              │           │      │
         B-CALCOLA   C1/C3/C6   E1-CANCELLA
         -PNO        (scrivi)   (cancella tutti
              │           │      i record)
         COGTRANS    COGPNONC       │
         (temp)      COGFATTU       │
                     COGARIVA       │
                     COGMOVPA       │
                     COGRITAC       │
                          │         │
                          └────┬────┘
                               │
                          Ritorno a ───────┘
                          event loop

Riferimenti nel codice

Paragrafi principali

  • A000: Inizializzazione e apertura
  • A4: Preparazione dati e display form
  • Z-99-EVENT-FORM-1: Event loop principale
  • A6-CARICA-DOCUMENTO: Caricamento documento per modifica
  • A61-CARICA-IVA: Caricamento dati IVA
  • A62-CARICA-PNO: Caricamento movimenti prima nota
  • A63-CARICA-RIT: Caricamento ritenute
  • B-CALCOLA-PNO: Calcolo movimenti da dati form
  • B2-SCRIVI-COGTRANS: Scrittura transazione temporanea
  • C-AGGIORNA: Salvataggio documento
  • C1-PRIMA-NOTA: Scrittura prima nota
  • C3-FATTURA: Scrittura fattura
  • C6-PRIMA-NOTA: Scrittura prima nota (archivio)
  • E-CANCELLA: Controlli pre-cancellazione
  • E1-CANCELLA: Cancellazione effettiva
  • x99-confi: Lettura configurazione iniziale
  • x99-cfg: Lettura configurazioni specifiche
  • FINE: Cleanup e uscita

Posizioni chiave