Vai al contenuto

COGP31 - Stampa Fatture Fornitori da Ricevere

Panoramica

Programma di stampa che elenca le bolle di entrata (carico merci) non ancora accertate, cioe' per le quali non e' stata ancora ricevuta la fattura dal fornitore. Scorre i movimenti di magazzino e le differenze prezzi in un range di date, verifica se le relative bolle sono state accertate, e produce un report per fornitore con i valori delle merci in attesa di fatturazione.

Tipo: Report interattivo con selezione parametri, elaborazione e stampa.

Posizioni nel menu

Menu Percorso
Contabilita' Fatture Fornitori > Stampe > Fatt./Note da Ricevere
Magazzino Entrate > Stampe > Fatt.Forn. Da Ricevere

Struttura del programma

File e tabelle utilizzati

File/Tabella Tipo Descrizione
FEURTAB (cogtabel) Input Tabella parametri generali (causali magazzino)
COGGEANA Input Anagrafica generale (fornitori)
COGMAGAZ Input Anagrafica magazzini
COGTESBO I-O Testata bolle (per verifica/aggiornamento flag accertamento)
COGMOMAG Input Movimenti di magazzino
COGDIFPR Input Differenze prezzi
COGRACCO Input Raccordi fattura-bolla
COGTRANS I-O File temporaneo indicizzato per aggregazione dati per fornitore
FLSTA Output File di stampa

Copybook principali

Copybook Descrizione
cogp31.select SELECT per i file del programma
cogp31.fd File description per i file del programma
cogp31.wrk Working storage generata da Screens
cogp31-01.scr Screen section della maschera di selezione
cogp31.decla Declaratives per gestione errori I/O
cogp31.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)
utilu10.cpy / k-u10.cpy Utility gestione importi e conversione valuta
cogmomag.k02 Chiave secondaria k02 di COGMOMAG (per magazzino + data)
cogracco.k02 Chiave secondaria k02 di COGRACCO (per magazzino/bolla)
GetDCont.cpy Routine per ottenere la divisa del conto
printer.cpy Routine di gestione stampante

Chiamate a sottoprogrammi (CALL)

Programma Scopo
COGS54 Gestione stampante (apertura, chiusura, anteprima)
COGS52W Gestione campo data con calendario
COGU10W Conversione importi tra divise e formattazione
WIN036.COB Selezione magazzino da popup

Logica di elaborazione

Maschera di selezione

Parametri richiesti: - Magazzino (tm-mag): codice magazzino, selezionabile tramite popup WIN036. - Da data / A data (tm-da-data, tm-a-data): periodo di riferimento, default anno corrente. - Tipo movimenti (tm-tip): selezionabile da combo box: - "F": solo bolle di carico (fatture da ricevere) - "D": solo differenze prezzi (note credito da ricevere) - "C": entrambi (completo) - Controllo raccordo (tm-ctr-racc): se "S", verifica se bolle non accertate risultano gia' collegate a una fattura in COGRACCO e chiede conferma per marcarle come accertate.

File temporaneo COGTRANS

Il programma crea un file temporaneo indicizzato (#$cogp31.<operatore>) nella directory temporanea, con chiave fornitore + bolla. Questo file aggrega i dati delle bolle non accertate per fornitore, accumulando i valori per bolla.

Fase A: Elaborazione movimenti magazzino (a-ela-mag)

Per tm-tip = "F" o "C":

  1. Scorre COGMOMAG sulla chiave secondaria k02 (magazzino + data) nel range di date selezionato.
  2. Per ogni movimento, legge la testata bolla (COGTESBO).
  3. Esclude le bolle gia' accertate (tes-fl-acc = "A").
  4. Se il controllo raccordo e' attivo, verifica su COGRACCO se la bolla e' gia' collegata a una fattura; in caso positivo, chiede all'utente se marcarla come accertata.
  5. Filtra per tipo bolla: per tm-tip = "F" considera solo tipo "C" (carico); per "C" considera tipi "I", "D", "B" (resi).
  6. Verifica sulla tabella causali (tipo 15) che la causale sia per fornitore (euta-cb-cli-for = "F") e soggetta a fatturazione (euta-cb-con-fat = "SI").
  7. Scrive/aggiorna il record nel file temporaneo COGTRANS, accumulando il valore convertito nella divisa del conto.

Fase B: Elaborazione differenze prezzi (b-ela-dif)

Per tm-tip = "D" o "C":

  1. Scorre COGDIFPR nel range di date selezionato.
  2. Filtra per segno: per tm-tip = "C" considera solo "+", per "D" solo "-".
  3. Legge la testata bolla e verifica che non sia accertata.
  4. Accumula il valore nel file temporaneo COGTRANS come nella fase A.

Fase di stampa (s-stampa)

  1. Scorre il file temporaneo COGTRANS ordinato per fornitore.
  2. Per ogni fornitore legge la ragione sociale da COGGEANA.
  3. Stampa una riga per ogni bolla con: fornitore, descrizione, tipo documento, numero bolla, data bolla, documento fornitore, data fornitore, importo.
  4. A ogni rottura di fornitore stampa il totale fornitore.
  5. A fine elaborazione stampa il totale generale.

Formattazione importi

Tutti gli importi vengono formattati tramite COGU10W in diverse varianti (z-u10-mag-valore, z-u10-dif-importo, z-u10-trs-valore, z-u10-w-tot-for, z-u10-w-tot-tot) a seconda del campo sorgente, tutti nella divisa del conto corrente.

Note tecniche

  • Il file temporaneo COGTRANS ha nome #$cogp31.<operatore> e viene creato nella directory temporanea dell'applicazione. Questo impedisce conflitti tra operatori concorrenti.
  • Il programma usa PERFORM ... THRU in diversi punti (sezioni a-ela-mag thru ex-a, b-ela-dif thru ex-b, s-stampa thru ex-s, cstato thru ex-cstato) - si tratta di codice legacy precedente alla convenzione attuale.
  • La larghezza di stampa e' k-chr-stampa = 132 caratteri (formato largo).
  • La chiave secondaria k02 di COGMOMAG consente l'accesso per magazzino destinazione + data per filtrare efficientemente i movimenti nel periodo selezionato.
  • La chiave secondaria k02 di COGRACCO viene usata per verificare se una bolla e' gia' collegata a una fattura.
  • La struttura util-w36 gestisce la comunicazione con il popup di selezione magazzino (WIN036.COB): posizione, output e flag.

Storico modifiche

Rimozione auto-accertamento bolle pre-2011 (2026-05-22)

Eliminata l'auto-marcatura come accertate (tes-fl-acc = "A" + REWRITE COGTESBO) per bolle con tes-anno < 2011. Il blocco era una pulizia dati storica gia' completata sulle installazioni in esercizio. La rimozione semplifica il flusso di scansione a-ela-mag/b-ela-mag e rimuove due REWRITE pleonastiche sul file COGTESBO.