Vai al contenuto

COGC30 -- Giro Conto Corrispettivi/Clienti

Sorgente: cbl/cogc30.cbl | Tipo: Programma con interfaccia grafica (griglia scadenze) | Program-ID: COGC30

Menu: Contabilita' > Documenti Iva > Giro Conto Corrispettivi/Clienti


Scopo

Genera un movimento di prima nota per trasferire un importo dal conto corrispettivi al conto cliente, con programmazione automatica delle scadenze (RIBA). Il programma:

  • Cerca il conto corrispettivi nella tabella tipi documento IVA
  • Calcola le scadenze in base al codice pagamento dell'anagrafica cliente
  • Registra i movimenti di prima nota (dare cliente / avere corrispettivi)
  • Registra le scadenze nelle partite del cliente
  • Chiama COGS78 per la gestione RIBA

Interfaccia utente

Maschera testata

Campo Tipo Descrizione
tm-cli 9(05) Codice cliente
tm-nome x(40) Ragione sociale (read-only, da COGGEANA)
tm-impo 9(12)v9(06) Importo totale del giroconto
tm-npar 9(07) Numero partita (0 = autogenerato)
tm-data 9(08) Data movimento (AAAAMMGG)
tm-corr-e x(12) Conto corrispettivi (read-only, formato mastro/conto/sottoconto)

Griglia scadenze (tab-maschera)

Colonna Campo Descrizione
Data tm-pag-data(i) Data scadenza (AAAAMMGG)
Importo tm-imp-pag(i) Importo rata

Max 36 righe (k-max-ele-tab).

Tasti funzione

Tasto Funzione
F3 Conferma: verifica totali e registra movimenti
F8 Calendario (su campi data)
F9 Ricerca avanzata (su codice cliente, COGS65W)
Invio Modifica riga scadenza
Shift+F4 Gestione griglia (GRIDADMN)
Ctrl+A Aggiunta riga scadenza
Ctrl+E Eliminazione riga scadenza

File e Tabelle

File/Tabella Copybook Uso
COGGEANA (da cogc30.fd) Anagrafica clienti (lettura: nome, codice pagamento, rif. piano conti)
COGTABEL (tipo 66) cogfiles.cpy Tabella esercizio contabile (date chiusura)
COGTABEL (tipo 68) cogfiles.cpy Tabella tipi documento IVA (ricerca conto corrispettivi: euta-clifotiva = "CO")
COGTABEL (tipo 14) cogfiles.cpy Tabella codici pagamento (flag gestione RIBA)
COGPNONC (da cogc30.fd) Prima nota non contabilizzata (scrittura movimenti)
COGMOVPA (da cogc30.fd) Movimenti partite (scrittura scadenze)
NUTARIBA (da cogc30.fd) Tabella RIBA

Programmi chiamati

Programma Scopo
COGS65W Selezione cliente con ricerca
COGS09 Calcolo scadenze da codice pagamento
COGS25 Generazione numero documento e numero partita
COGS52W Gestione date (formattazione/validazione)
COGS78 Gestione RIBA (programmazione cambiali)
COGU10W Utility valute/formattazione importi
COGU03 Utility di supporto
GRIDADMN Gestione griglia

Copybook principali

  • cogc30.select, cogc30.fd, cogc30.wrk, cogc30.decla, cogc30-01.scr -- Definizioni generate da Screens
  • cogconta.cpy -- Struttura tabella esercizio contabile
  • utils09.cpy -- Interfaccia COGS09 (calcolo scadenze)
  • utils25.cpy -- Interfaccia COGS25 (generazione numeri)
  • utils52.cpy -- Interfaccia COGS52W (date)
  • utils65.cpy -- Interfaccia COGS65W (selezione anagrafica)
  • utils78.cpy -- Interfaccia COGS78 (RIBA)
  • utilu03.cpy -- Interfaccia COGU03
  • k-u10.cpy, utilu10.cpy -- Costanti e interfaccia utility valute
  • utilgdad.cpy -- Interfaccia GRIDADMN
  • cogazien.cpy -- Dati azienda

Logica di Elaborazione

Ricerca conto corrispettivi (find-cor)

Scorre COGTABEL tipo 68 (tipi documento IVA) e cerca il record con euta-clifotiva = "CO". Da esso estrae:

  • w-cor-mas, w-cor-con, w-cor-sot: coordinate piano conti del conto corrispettivi
  • w-ivatocor: tipo operazione del conto corrispettivi
  • w-segnocor: segno dare/avere

Se non trovato, il programma segnala errore e non procede.

Calcolo scadenze (build-tab)

  1. Legge il codice pagamento dall'anagrafica cliente (ana-pag1)
  2. Chiama COGS09 con: codice pagamento, data fattura (= data movimento), importo totale, divisa
  3. COGS09 restituisce le date e gli importi delle singole rate
  4. Le rate vengono caricate nella griglia

Registrazione (agg-cor)

Alla conferma (F3), dopo aver verificato che il totale scadenze non superi l'importo:

  1. Generazione numero documento: chiama COGS25 con tipo 5 per ottenere il numero di prima nota
  2. Generazione numero partita: se tm-npar = 0, chiama COGS25 con tipo 8

Movimento 1 -- Avere corrispettivi (agg-10)

  • Conto: corrispettivi (w-cor-mas/w-cor-con/w-cor-sot)
  • Segno: A (avere)
  • Importo: tm-impo
  • Tipo operazione: w-ivatocor
  • Descrizione: "G/C DEL gg/mm/aaaa nome_cliente"

Movimento 2 -- Dare cliente (agg-30)

  • Conto: piano conti del cliente (ana-rifmas/ana-rifcon/tm-cli)
  • Segno: D (dare)
  • Importo: tm-impo
  • Tipo pagamento: ana-rb (dall'anagrafica)
  • Descrizione: "VENDITA DEL:gg/mm/aaaa"
  • Partita: tipo "CO", numero generato

Scadenze (agg-40)

Per ogni riga della griglia con importo non zero: - Scrive un movimento partita in COGMOVPA - Imposta la data valuta dalla scadenza

  1. RIBA (call-cogs78): se il codice pagamento prevede la gestione RIBA (euta-pg-fl-rd = "S"), chiama COGS78

Controllo totali

Prima della conferma, il paragrafo check-impo somma tutti gli importi delle scadenze. Se il totale delle scadenze supera l'importo del giroconto, la registrazione non viene eseguita e viene mostrato un messaggio di errore.


Note tecniche

  • La griglia ha un massimo di 36 righe (k-max-ele-tab), corrispondente al numero massimo di rate di scadenza.
  • L'esercizio contabile viene letto da COGTABEL tipo 66 all'avvio. Le date di chiusura (datchiuatt, datchiupre, datdachiur) vengono usate per validare la data del movimento.
  • Il programma usa PERFORM ... THRU in diversi punti (stile legacy).
  • Il campo fl-cor segnala se il conto corrispettivi e' stato trovato.

Documentazione tecnica -- 2026-04-16