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":
- Scorre COGMOMAG sulla chiave secondaria k02 (magazzino + data) nel range di date selezionato.
- Per ogni movimento, legge la testata bolla (COGTESBO).
- Esclude le bolle gia' accertate (
tes-fl-acc = "A"). - 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.
- Filtra per tipo bolla: per
tm-tip = "F"considera solo tipo"C"(carico); per"C"considera tipi"I","D","B"(resi). - 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"). - 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":
- Scorre COGDIFPR nel range di date selezionato.
- Filtra per segno: per
tm-tip = "C"considera solo"+", per"D"solo"-". - Legge la testata bolla e verifica che non sia accertata.
- Accumula il valore nel file temporaneo COGTRANS come nella fase A.
Fase di stampa (s-stampa)¶
- Scorre il file temporaneo COGTRANS ordinato per fornitore.
- Per ogni fornitore legge la ragione sociale da COGGEANA.
- Stampa una riga per ogni bolla con: fornitore, descrizione, tipo documento, numero bolla, data bolla, documento fornitore, data fornitore, importo.
- A ogni rottura di fornitore stampa il totale fornitore.
- 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 ... THRUin diversi punti (sezionia-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 = 132caratteri (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-w36gestisce 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.