Vai al contenuto

COGV81 — Stampa situazione bolle / fatture (raccordo)

Sorgente: cbl/cogv81.cbl | Tipo: Programma GUI standalone (stampa) | Program-ID: cogv81

Menu: Vendite > Fatturazione > Stampe [Situaz. Bolle/Fattura] ; Lab.Odont. > Fatturazione > Stampe [Situaz. Bolle/Fattura]


Scopo

Produce un prospetto della situazione del legame bolle/DDT -> fatture (raccordo) per un magazzino e un anno, con l'obiettivo di evidenziare incoerenze tra documenti di trasporto e fatture: bolle senza fattura, fatture inesistenti, cliente diverso tra DDT/raccordo/fattura, e sbilanci tra il totale imponibile della fattura e la somma delle bolle collegate.

Per ogni bolla dell'anno indicato il programma cerca il raccordo (COGRACCO), la fattura (COGFATTU) e stampa una riga con ragione sociale, tipo/data/numero bolla, riferimento fattura, importo fattura e le eventuali note di incoerenza.

Sono previsti tre tipi di stampa (tm-scelta):

Tipo Descrizione
1 Solo bolle con incoerenze (righe con almeno una nota di anomalia); include anche il controllo di quadratura totale fattura vs somma bolle
2 Solo bolle gia' fatturate (con rac-nfat > 0)
3 Solo bolle non ancora fatturate (rac-nfat = 0)

File e tabelle principali

File/Tabella Copybook Uso
COGTESBO cogtesbo.k02 Testate bolle/DDT: scansione per magazzino/anno (chiave 2), dati bolla e cliente
COGRACCO cogracco.cpy (rinominato wac-), cogracco.k02 Raccordo bolla-fattura: legame e totale fattura; scansione per quadratura
COGFATTU (gestore generato) Fatture: verifica esistenza e totali imponibile per la quadratura
COGGEANA (gestore generato) Anagrafica: ragione sociale cliente
COGMAGAZ (gestore generato) Validazione magazzino, descrizione
COGTABEL (gestore generato) Causali (tipo 15): flag "con fattura" per decidere se segnalare la mancanza fattura
COGMOMAG / COGDESAG / COGCONTR (gestori generati) Usati da scan-bol per calcolare l'importo delle bolle
flsta flsta.fd, flsta.cpy File di stampa

Il record COGRACCO e' incluso due volte: come rac- (record corrente) e come wac- (record di raggruppamento per la quadratura), tramite replacing leading "rac-" by "wac-".

Flusso principale

  1. apri / main: init, rd-azi, open-files, lettura divisa conto via COGU10W (tm-divisa).
  2. a4: preset maschera (anno = anno sistema, tipo = 1) e caricamento controlli.
  3. Accept campi: magazzino (a-tm-mag, aiuto F8 via WIN36), tipo stampa (a-tm-scelta, combo), anno (a-tm-ann).
  4. a-richiesta-conferma: convalida (x-imposta-conferma), scelta stampante/anteprima (COGS54).
  5. Scansione bolle: st-cogtesbo-notmin-chia2 sul magazzino/anno, poi loop:
  6. rdnxt-cogtesbo; filtra tipi bolla I/B/D e magazzino;
  7. legge il raccordo (rd-cogracco-chia2); se assente valuta le note (blocco a010), se presente confronta cliente DDT/raccordo e verifica la fattura (a000);
  8. accumula le note di incoerenza nella tabella rig-desoc (add-ele-to-desoc, max 10);
  9. a020: applica il filtro secondo tm-scelta;
  10. a5b: stampa la riga (r1) con ragione sociale, tipo/data/n.bolla, rif. fattura, importo (editato via COGU10) e le righe descrittive di incoerenza (write-desoc).
  11. a900 (solo tipo 1): scansione COGRACCO per anno con quadratura del totale fattura (somma fat-importo con segno) contro la somma delle bolle (scan-bol -> COGS87); se diversi, stampa riga di errore (segnala-errore).
  12. a990: chiusura stampa (COGS54) e uscita.

Prospetto prodotto

Intestazione "SITUAZIONE BOLLE - FATTURE" con data di stampa, magazzino, divisa (Euro). Colonne:

Ragione sociale | Tipo | Data bolla | N. bolla | Fattura N. (tipo/anno/numero) | Importo | Descrizione (note incoerenza).

Per il tipo 1, in coda, le righe di sbilancio "<> da tot.bolle: " per le fatture il cui imponibile non coincide con la somma delle bolle.

Sottoprogrammi chiamati

Programma Ruolo
COGU10W Editing importi e divisa conto
COGS54 Selezione/gestione stampante e anteprima
COGS87 Calcolo totale di una bolla (scan-bol)
WIN36 Ricerca/aiuto magazzino (send-w36, F8)
COGS60 Combo tipo stampa (z-costruisci-s60)

Le operazioni rd/st/rdnxt-cog* sono gestori tabella generati.

Configurazioni (RNEWCONF)

Nessuna configurazione RNEWCONF letta direttamente dal programma.

Note

  • La quadratura (tipo 1) confronta la somma con segno degli importi di fattura (fat-importo/fat-segno, indici 1..34) con l'accumulo delle bolle calcolato da COGS87; considera solo raccordi con tipo bolla az-tipo-imm o az-tipo-batch.
  • Il campo tm-divisa e' PIC X(01): la stampa etichetta la divisa come "Euro" in modo fisso nell'intestazione.
  • Il paragrafo scan-bol chiama COGS87 per il totale; i paragrafi scan-bol-10..80 (calcolo manuale via COGMOMAG/COGDESAG/COGCONTR) sono presenti come logica alternativa/storica.
  • La tabella delle note di incoerenza (rd-desoc) ha capienza massima 10 elementi per bolla, con avviso di esaurimento.