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 Screenscogconta.cpy-- Struttura tabella esercizio contabileutils09.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 COGU03k-u10.cpy,utilu10.cpy-- Costanti e interfaccia utility valuteutilgdad.cpy-- Interfaccia GRIDADMNcogazien.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 corrispettiviw-ivatocor: tipo operazione del conto corrispettiviw-segnocor: segno dare/avere
Se non trovato, il programma segnala errore e non procede.
Calcolo scadenze (build-tab)¶
- Legge il codice pagamento dall'anagrafica cliente (
ana-pag1) - Chiama COGS09 con: codice pagamento, data fattura (= data movimento), importo totale, divisa
- COGS09 restituisce le date e gli importi delle singole rate
- Le rate vengono caricate nella griglia
Registrazione (agg-cor)¶
Alla conferma (F3), dopo aver verificato che il totale scadenze non superi l'importo:
- Generazione numero documento: chiama COGS25 con tipo 5 per ottenere il numero di prima nota
- 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
- 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 ... THRUin diversi punti (stile legacy). - Il campo
fl-corsegnala se il conto corrispettivi e' stato trovato.
Documentazione tecnica -- 2026-04-16