Vai al contenuto

COGY60 -- Conteggio C/fatture da emettere

Sorgente: cbl/cogy60.cbl | Program-ID: COGY60 | Tipo: Elaborazione interattiva / Generazione P.N.

Menu: Contabilita' > Bilancio > Utility > Conteggio C/fatture da emettere


Scopo

Analizza i buoni di consegna (COGTESBO) in un intervallo date per individuare quelli con ricavi non ancora fatturati o fatturati in esercizi successivi. Per ogni buono individuato, scandisce le righe di magazzino (COGMOMAG), determina la contropartita di ricavo e, in modalita' definitiva, genera movimenti di prima nota contabile (COGPNONC) per rilevare il conto "Fatture da emettere". Produce opzionalmente un file CSV per esportazione Excel e una stampa riepilogativa.


File e tabelle

File/Tabella Tipo Modalita' Descrizione
FEURTAB (COGTABEL) Indicizzato Input Tabella generica (tipo 15: causali magazzino, tipo 16: conti COGE per reparto)
COGTESBO Indicizzato Input Testata buoni di consegna (tes-*)
COGMOMAG Indicizzato Input Righe movimenti magazzino (mag-*)
COGRACCO Indicizzato Input Raccordi fatture (rac-*)
COGRACBB Indicizzato Input Raccordi bolle (rbb-*)
LODPRESC Indicizzato Input Prescrizioni/prestazioni (lpm-*)
COGPNONC Indicizzato I-O Prima nota non contabilizzata (scrittura movimenti)
COGSLPCO Indicizzato Input Saldi piano dei conti
COGPNCON Indicizzato Input Piano dei conti
COGGEANA Indicizzato Input Anagrafica generale
COGTRANS Indicizzato I-O File transito 1: partite (#$cogy60.{oper})
COGTRANS2 Indicizzato I-O File transito 2: contropartite (#$cogy60-2.{oper})
COGTRANS3 Indicizzato I-O File transito 3: totali per conto (#$cogy60-3.{oper})
COGTRANS4 Indicizzato I-O File transito 4: documenti (#$cogy60-4.{oper})
FILEASC2 Sequenziale Output File CSV esportazione Excel
FILELOG Sequenziale Output Log operazioni
FLSTA Sequenziale Output File di stampa
T-DETTAGLIO Indicizzato I-O File transito prestazioni (#$cogy60_prestazioni.{oper})

Programmi chiamati

Programma Scopo
COGS54 Gestione stampa (anteprima/stampante/file)
COGS52W Gestione date con calendario
COGS25 Numeratori progressivi (prendi-num)
COGU10W Conversione importi/divisa
COGU01 Utility anagrafiche
COGU02 Utility conti
RNEWCONF Configurazione (percorso specifico COGY60)
GRIDTOXS Apertura file Excel esportato
COGS95 Gestione check-box

Copybook principali

Copybook Descrizione
cogy60.wrk, .select, .fd, .decla, cogy60-01.scr Definizioni Screens
cogfiles.cpy Record COGTABEL (euta-*)
cogconta.cpy Struttura contabilita' (conta-*)
cogzs5-t-dettaglio.fd, .cpy File transito dettaglio prestazioni
flsta.fd, flsta.cpy File di stampa
utilncnf.cpy Utility RNEWCONF
utilp41.cpy, utils25.cpy, utils52.cpy, utils54.cpy Utility varie
utilu01.cpy, utilu02.cpy, utilu10.cpy Utility anagrafiche/importi
utilu88.cpy, utilu35w.cpy Utility
utilz61.cpy Linkage specifico COGY60/COGY61
utilzs1.cpy Utility commesse

Struttura del programma

Parametri maschera

Variabile Campo Descrizione
tm-divisa Divisa Codice divisa
tm-da-data Da data Data inizio analisi (AAAAMMGG)
tm-a-data A data Data fine analisi
tm-data-reg Data reg. Data registrazione contabile P.N.
tm-prova Prova S = solo conteggio, N = genera P.N.
tm-excel Excel S = genera CSV
tm-fatturati Fatturati S = includi fatturati in esercizi successivi
tm-non-fatturati Non fatt. S = includi non fatturati
tm-cli Cliente Filtro opzionale per cliente

Configurazione RNEWCONF

Variabile Descrizione
tm-cfg-fat-emettere Sottoconto "Fatture da emettere"
tm-cfg-to Tipo operazione per i movimenti P.N.
tm-cfg-tipo-mag Tipo magazzino da escludere

Flusso principale

  1. apri: inizializzazione, apertura file transito, lettura configurazione RNEWCONF.

  2. a4: default date (anno precedente intero), prova = "S", excel = "S".

  3. Sequenza accept: da-data, a-data, prova, excel, fatturati, non-fatturati, data-reg.

  4. a-richiesta-conferma: conferma stampa (COGS54), apertura file transito.

  5. Scansione buoni (ricerca-acconti-10):

  6. Scansione COGTESBO (chiave 2: per data) nell'intervallo tm-da-data / tm-a-data.
  7. Filtro causale: solo causali con euta-cb-cli-for = 'C', euta-cb-fl-eu = 'U', euta-cb-con-fat = 'SI' (tipo 15 di COGTABEL).
  8. Filtro fatturazione: ricerca su COGRACCO. Se fatturato nello stesso anno del buono o in anni precedenti, salta. Considera tm-fatturati e tm-non-fatturati per decidere inclusione.
  9. Filtro prestazioni: esclude buoni collegati a prestazioni con ora-cns 15 o 45 (tramite COGRACBB + LODPRESC).
  10. Controllo soglia: controllo-soglia calcola w-valore; se <= 4 scarta (accumula in w-valore-scarto).

  11. scan-bol / scan-bol-20: per ogni buono individuato, scansione righe COGMOMAG:

  12. Determinazione contropartita ricavo tramite a1-imposta-cp-reparto-tipologia (COGS12) o tabella tipo 16.
  13. Scrittura riga Excel (scrivi-excel).
  14. Accumulo per contropartita su COGTRANS2.

  15. scan-bol-70: se tm-prova != "S", esegue aggiorna (generazione P.N.) e scri-cogracbb. Esegue agg-cogtran3 (accumulo totali per conto su COGTRANS3).

  16. aggiorna: prende numero documento progressivo (prendi-num), scansiona COGTRANS2 per le contropartite del buono, chiama agg-pno per ogni contropartita.

  17. agg-pno: genera due righe di P.N. per ogni contropartita:

  18. Riga AVERE sul conto ricavo (trs2-contropartita)
  19. Riga DARE sul conto "Fatture da emettere" (tm-cfg-fat-emettere)

  20. ricerca-blocchi: stampa riepilogo per contropartita (scansione COGTRANS3, write-riga).

  21. a-100-10: chiusura stampa, apertura file Excel se richiesto.


Note

  • I file transito (#$cogy60.*) sono per operatore per evitare conflitti di concorrenza.
  • Il separatore CSV e' il carattere TAB (x'09').
  • Il programma condivide la struttura con COGY61 (storno ricavi), con differenze nella logica di selezione dei buoni e nella generazione dei movimenti.

Documentazione tecnica -- 2026-04-28