Vai al contenuto

COGP48 - Stampa Fatturato per Fornitore / Cliente

Panoramica

Programma di stampa che produce il riepilogo del fatturato per fornitore o per cliente, con totalizzazione per mese, per anagrafica e generale. Supporta l'ordinamento per codice o per ragione sociale, la conversione multivaluta e l'esportazione in formato Excel (TSV).

Tipo: Report interattivo con selezione parametri, sort ed esportazione dati.

Posizioni nel menu

Menu Percorso
Contabilita' Fatture Fornitori > Stampe > Situazione Fatturato
Vendite Fatturazione > Stampe > Fatturato per cliente

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB (cogtabel) Input Tabella parametri generali (tipi fattura, reverse charge)
COGGEANA Input Anagrafica generale (clienti/fornitori)
COGFATTU Input Archivio fatture
COGARIVA Input Archivio registri IVA
COGEXPRT Output File di esportazione TSV per Excel
FLSTA Output File di stampa
FLSORT Sort File di appoggio per ordinamento record

Copybook principali

Copybook Descrizione
cogp48.select SELECT per i file del programma
cogp48.fd File description per i file del programma
cogp48.wrk Working storage generata da Screens
cogp48-01.scr Screen section della maschera di selezione
cogp48.decla Declaratives per gestione errori I/O
cogp48.prc Procedure generate da Screens (apertura/chiusura file, I/O)
cogfiles.cpy Descrizione record FEURTAB
flsta.fd / flsta.cpy File di stampa
cogazien.cpy Dati azienda corrente
utils52.cpy Utility gestione date (COGS52W)
utils54.cpy Utility gestione stampante (COGS54)
utils65.cpy Utility selezione anagrafica (COGS65W)
utilu10.cpy / k-u10.cpy Utility gestione importi e conversione valuta
k-personal.cpy Costanti personalizzazione azienda
coggeana.k02 Chiave secondaria k02 di COGGEANA
cogfattu.k02 Chiave secondaria k02 di COGFATTU
GetDCont.cpy Routine per ottenere la divisa del conto

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGS54 Gestione stampante (apertura, chiusura, anteprima)
COGS52W Gestione campo data con calendario
COGS65W Selezione anagrafica con ricerca avanzata
COGU10W Conversione importi tra divise e formattazione
GRIDTOXS Esportazione dati in Excel (apertura file TSV)

Logica di elaborazione

Maschera di selezione

Il programma determina se operare su fornitori o clienti dal primo carattere di wo-parametro: - "F" (default): stampa fatturato fornitori. - "C": stampa fatturato clienti.

Parametri richiesti: - Da/A anagrafica (tm-cli-da, tm-cli-a): range di codici fornitore/cliente, con lookup tramite COGS65W. - Da data / A data (tm-da-data, tm-a-data): periodo di riferimento, default anno corrente. - Ordinamento (tm-ord): "N" per codice numerico (default), "A" per ragione sociale alfabetica.

Fase di elaborazione (elabora section)

  1. Lettura tipi reverse charge: legge dalla tabella AT i codici tipo per fatture reverse charge.

  2. Scansione fatture: scorre COGFATTU sulla chiave secondaria k02 (per tipo anagrafica + codice cliente) nel range selezionato.

  3. Per ogni fattura:

  4. Determina la data di competenza: usa la data fattura (fat-dafataa) se presente, altrimenti la data movimento.
  5. Per aziende con personalizzazione k-personal-bb-elettronica, cerca la data effettiva nel registro IVA (COGARIVA) tramite find-iva.
  6. Verifica che la data rientri nel range selezionato.
  7. Converte gli importi nella divisa del conto tramite COGU10W (k-u10-cambio).
  8. Calcola imponibile, IVA e totale. Per note di accredito (fornitori: az-tipo-naf, az-tipo-ndi; clienti: az-tipo-nac, az-tipo-nci) imposta il segno negativo.
  9. Rilascia il record nel file di sort.

  10. Ordinamento: il sort ordina per ragione sociale + data oppure per codice + data, a seconda della scelta dell'utente.

Fase di stampa (stampa section)

  1. Preparazione export: apre il file TSV di esportazione e scrive l'intestazione con i nomi colonna.

  2. Lettura sort e totalizzazione: scorre i record ordinati, gestendo rotture di livello su:

  3. Mese (rot-mese): stampa totale mensile con nome mese (Gennaio...Dicembre).
  4. Anagrafica (rot-cli): stampa totale per fornitore/cliente.
  5. A fine elaborazione: stampa totale generale.

  6. Formato stampa: per ogni riga stampa codice, ragione sociale, mese, imponibile, IVA e totale. Le note di credito vengono stampate con segno negativo.

  7. Esportazione Excel: al termine chiede conferma per aprire il file TSV in Excel tramite il programma GRIDTOXS.

Formattazione importi

Tutti gli importi vengono formattati tramite COGU10W con operazione k-u10-edita e lunghezza 16 caratteri, nella divisa del conto corrente.

Note tecniche

  • Il programma usa SORT ... INPUT PROCEDURE ... OUTPUT PROCEDURE con sezioni separate (elabora, stampa).
  • Il file di esportazione e' in formato TSV (separatore tab x'09') con record a lunghezza variabile (max 8000 byte), generato in parallelo alla stampa.
  • La larghezza di stampa e' k-chr-stampa = 109 caratteri.
  • La chiave secondaria k02 di COGFATTU permette l'accesso per tipo anagrafica + codice cliente.
  • La chiave secondaria k02 di COGGEANA viene usata per la ricerca anagrafica.
  • Le righe marcate con 040321 (21 marzo 2004) indicano l'aggiunta del supporto per stampa fatturato clienti (originariamente il programma gestiva solo fornitori).

Storico modifiche

Calcolo imponibile per AI/NDI semplificato (2026-05-22)

Per fatture di tipo Auto-fattura interna (az-tipo-ai) o Nota Debito Interna (az-tipo-ndi), il calcolo dell'imponibile in fase di stampa e' stato semplificato:

  • Prima: somma dei primi 5 elementi fat-impo (1..5) tramite perform varying i from 1 by 1 until i > 5.
  • Dopo: move s-totale to s-imponi (imponibile = totale documento).

Per gli altri tipi documento il calcolo resta s-imponi = s-totale - s-iva (invariato).