COGU79 -- Inserimento Partite Anticipate¶
Sorgente: cbl/cogu79.cbl | Tipo: Programma con interfaccia grafica (griglia interattiva) | Program-ID: COGU79
Menu: Contabilita' > Clienti a Part.Aperte > Incassi su Fattura > Inserimento partite anticipate
Scopo¶
Registra incassi/pagamenti anticipati su partite, prima dell'emissione della fattura. Opera sia per clienti che per fornitori (in base al parametro wo-parametro). Gestisce acconti, abbuoni, resi, differenze di cambio, pagamenti parziali e divise estere.
Puo' funzionare in modalita' autonoma (da menu) o come programma richiamato (tramite in-prove-pagam = 9), ricevendo codice anagrafica, importo, partita e divisa via linkage (util-pagam).
File e Tabelle¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGTABEL | feurtab.fd, cogfiles.cpy | Tabella generica contabilita' (tipo 66: esercizio) |
| COGGEANA | (da cogu79.select) | Anagrafica clienti/fornitori |
| COGPNONC | (da cogu79.select) | Movimenti Prima Nota -- scrittura |
| COGMOVPA | (da cogu79.select) | Movimenti partita -- scrittura |
| COGPARTI | (da cogu79.select) | Testata partite -- lettura/aggiornamento |
| COGPADOC | (da cogu79.select) | Partite per documento -- ricerca scadenze |
| COGPNCON | (da cogu79.select) | Piano dei conti -- lettura descrizioni |
| COGTRANS | (file temporaneo) | Tabella temporanea per elaborazione scadenze |
| LODTMDES | lodtmdes.fd | Destinazioni |
La tabella temporanea COGTRANS e' un file indicizzato creato in ext-tmp-dir con nome #$COGU79.{operatore}, con chiave primaria trs-chia1 che contiene tipo movimento, data, riferimento bolla.
Struttura del programma¶
Flusso principale¶
- Inizializzazione (
apri): determina il tipo (C=Cliente, F=Fornitore) dawo-parametro, legge esercizio contabile, crea pulsanti custom, carica configurazione viax99-confi - Input anagrafica (
a-tm-codice): codice cliente/fornitore con ricerca tramite COGS65 - Input dati contabili (
a-tm-datamov,a-tm-dataval,a-tm-cpa-cod, ecc.): data movimento, data valuta, contropartita, tipo operazione, tipo pagamento, divisa, cambio, importo, partita - Griglia scadenze (
a-grid): caricamento e gestione interattiva delle scadenze - Registrazione (
a-fine-dati): scrittura movimenti contabili e aggiornamento partitario
Modalita' chiamata esterna¶
Se in-prove-pagam = 9, il programma riceve via util-pagam:
| Campo | Uso |
|---|---|
in-tipo-pagam |
Tipo C/F (override su wo-parametro) |
in-cod-pagam |
Codice anagrafica (precompila tm-codice) |
in-impo-pagam |
Importo (precompila tm-importo-eu e tm-importo) |
in-anno-pagam, in-tipa-pagam, in-num-pagam |
Partita (precompila tm-par-anno/tipo/num) |
in-div-pagam |
Divisa (override su ana-divisa) |
in-sca-pagam |
Scadenza |
Configurazione (x99-confi)¶
Legge 22 parametri RNEWCONF. Principali gruppi:
fatturaz/proforma-da-bdpfattdescbo/ vari parametri fatturazionefattbatch/euta-c055-imp-zero,euta-c055-rgr,euta-c055-rgr-mercecommesse/tipo-numerazione-commessepartanticip/ configurazione partite anticipate (tipo, importo abbuono, contropartita predefinita, colore modificabili, commesse)
Pulsanti custom¶
Il programma crea 6 pulsanti custom con bitmap personalizzate:
| Pulsante | Funzione |
|---|---|
| k-f6-somma-scadenze | Somma scadenze partita (F6) |
| k-f11-parziale | Gestione parziale incasso (F11) |
| k-invio-totale | Seleziona/Deseleziona partita (Invio) |
| k-f9-documento | Documento (F9) |
| k-f5-resi | Resi (F5) |
| k-f6-gestione | Gestione (F6) |
Griglia scadenze¶
Le colonne della griglia includono colonne personalizzabili con ID trovato dinamicamente:
tm-column-ora: Ora commessatm-column-min: Minuti commessatm-column-paz: Pazientetm-column-acc: Accontotm-column-abb: Abbuono
Il colore delle colonne modificabili e' impostato tramite tm-cfg-colore-mod.
Dati di maschera (tab-maschera)¶
Campi principali:
tm-tipo: C=Cliente, F=Fornitoretm-codice: codice anagraficatm-datamov,tm-dataval: datetm-divisa,tm-cambio: valutatm-importo-eu,tm-importo: importitm-partita: anno/tipo/numero/scadenzatm-cpart: contropartita (codice, conto, tipo operazione)tm-tipag: tipo pagamentotm-abbuono,tm-abb-segno: abbuono e segnotm-bolli: importo bollitm-totsaldo/d/a: saldi totalitm-credito-libero: credito libero disponibiletm-parz-saldo/segno: saldo parziale
Tabella acconti (w-tabel-acc)¶
Array di 50 elementi per gestire gli acconti collegati:
w-trs-u79-importo: importo accontow-trs-u79-partita-acc: partita dell'accontow-trs-u79-residuo: residuow-trs-u79-total: flag totale
Funzionalita' "869" nascosta¶
Attivabile con sequenza F8+F6+F9 dal campo tipo operazione (quando az-ges-ip = "S"). Imposta tm-869 = "S" e abilita la visualizzazione dei campi tm-8, tm-6, tm-9.
Chiamate esterne¶
| Programma | Scopo |
|---|---|
| COGU10W | Formattazione importi e gestione divise |
| COGU20W | Gestione input cambio valuta |
| COGU22 | Gestione input importi con divisa |
| COGK02 | Selezione contropartita |
| COGE22 | Ricerca divise |
| COGE65 | Ricerca tipo operazione |
| COGE77W | Visualizzazione documento contabile |
| COGF55 | Gestione partite |
| COGS25 | Generazione numero documento |
| COGS51 | Gestione input |
| COGS52 | Gestione input date |
| COGS65 | Ricerca anagrafica |
| COGS67 | Gestione input generica |
| COGS77 | Rielaborazione partitario |
| COGS78 | Gestione partitario |
| COGW19 | Finestra informativa |
| COGW53 | Finestra importi |
| COGW62 | Finestra selezione |
| COGZS1 | Subroutine utility |
| GRIDADMN | Gestione griglia interattiva |
| DIALOGS | Finestre di dialogo |
| RNEWCONF | Lettura configurazioni |
Copybook utilizzate¶
cogu79.select,cogu79.fd,cogu79.wrk,cogu79.prc,cogu79.decla,cogu79-01.scr-- Definizioni generate da Screenscogconta.cpy-- Dati esercizio contabilecogazien.cpy-- Dati aziendak-personal.cpy-- Personalizzazioniutilf51.cpy,utilcoge77.cpy,utilv56.cpy,utilv68.cpy,utilz65.cpy,utile41.cpy-- Interfacce linkageutile22.cpy,utile65.cpy,utilf55.cpy,utilk02.cpy-- Interfacce programmi chiamatiutils25.cpy,utils51.cpy,utils52.cpy,utils65.cpy,utils67.cpy,utils77.cpy,utils78.cpy-- Interfacce subroutineutilu01.cpy,utilu02.cpy,utilu10.cpy,utilu20.cpy,utilu22.cpy-- Interfacce utilityutilw19.cpy,utilw53.cpy,utilw62.cpy,utilzs1.cpy-- Interfacce finestreutilncnf.cpy-- Interfaccia RNEWCONFutildlg.cpy,utild99.cpy-- Interfaccia dialoghiwgrid.cpy,utilgdad.cpy-- Supporto grigliak-u10.cpy-- Costanti COGU10Wwstato.cpy,wopenf.cpy,wgrave.cpy,wnscr.cpy-- Copybook standard
Note tecniche¶
- La tabella temporanea COGTRANS viene creata in
ext-tmp-dircon nome univoco per operatore (#$COGU79.{wo-oper}), evitando conflitti tra utenti concorrenti. - Il program-id viene modificato dinamicamente aggiungendo il primo carattere di
wo-parametroalla posizione 9 (move wo-parametro (1:1) to prog-err (9:1)), permettendo di distinguere l'istanza clienti dall'istanza fornitori nei log. - La gestione delle chiusure contabili (esercizio precedente) viene verificata tramite
conta-flachiue le relative date di chiusura. - Il campo
tm-cfg-cpa-liberanella configurazione consente di avere una contropartita libera (non vincolata alla configurazione).
Documentazione tecnica -- 2026-04-16