Vai al contenuto

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

  1. Inizializzazione (apri): determina il tipo (C=Cliente, F=Fornitore) da wo-parametro, legge esercizio contabile, crea pulsanti custom, carica configurazione via x99-confi
  2. Input anagrafica (a-tm-codice): codice cliente/fornitore con ricerca tramite COGS65
  3. 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
  4. Griglia scadenze (a-grid): caricamento e gestione interattiva delle scadenze
  5. 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-bdp
  • fattdescbo / vari parametri fatturazione
  • fattbatch / euta-c055-imp-zero, euta-c055-rgr, euta-c055-rgr-merce
  • commesse / tipo-numerazione-commesse
  • partanticip / 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 commessa
  • tm-column-min: Minuti commessa
  • tm-column-paz: Paziente
  • tm-column-acc: Acconto
  • tm-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=Fornitore
  • tm-codice: codice anagrafica
  • tm-datamov, tm-dataval: date
  • tm-divisa, tm-cambio: valuta
  • tm-importo-eu, tm-importo: importi
  • tm-partita: anno/tipo/numero/scadenza
  • tm-cpart: contropartita (codice, conto, tipo operazione)
  • tm-tipag: tipo pagamento
  • tm-abbuono, tm-abb-segno: abbuono e segno
  • tm-bolli: importo bolli
  • tm-totsaldo/d/a: saldi totali
  • tm-credito-libero: credito libero disponibile
  • tm-parz-saldo/segno: saldo parziale

Tabella acconti (w-tabel-acc)

Array di 50 elementi per gestire gli acconti collegati:

  • w-trs-u79-importo: importo acconto
  • w-trs-u79-partita-acc: partita dell'acconto
  • w-trs-u79-residuo: residuo
  • w-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 Screens
  • cogconta.cpy -- Dati esercizio contabile
  • cogazien.cpy -- Dati azienda
  • k-personal.cpy -- Personalizzazioni
  • utilf51.cpy, utilcoge77.cpy, utilv56.cpy, utilv68.cpy, utilz65.cpy, utile41.cpy -- Interfacce linkage
  • utile22.cpy, utile65.cpy, utilf55.cpy, utilk02.cpy -- Interfacce programmi chiamati
  • utils25.cpy, utils51.cpy, utils52.cpy, utils65.cpy, utils67.cpy, utils77.cpy, utils78.cpy -- Interfacce subroutine
  • utilu01.cpy, utilu02.cpy, utilu10.cpy, utilu20.cpy, utilu22.cpy -- Interfacce utility
  • utilw19.cpy, utilw53.cpy, utilw62.cpy, utilzs1.cpy -- Interfacce finestre
  • utilncnf.cpy -- Interfaccia RNEWCONF
  • utildlg.cpy, utild99.cpy -- Interfaccia dialoghi
  • wgrid.cpy, utilgdad.cpy -- Supporto griglia
  • k-u10.cpy -- Costanti COGU10W
  • wstato.cpy, wopenf.cpy, wgrave.cpy, wnscr.cpy -- Copybook standard

Note tecniche

  • La tabella temporanea COGTRANS viene creata in ext-tmp-dir con nome univoco per operatore (#$COGU79.{wo-oper}), evitando conflitti tra utenti concorrenti.
  • Il program-id viene modificato dinamicamente aggiungendo il primo carattere di wo-parametro alla 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-flachiu e le relative date di chiusura.
  • Il campo tm-cfg-cpa-libera nella configurazione consente di avere una contropartita libera (non vincolata alla configurazione).

Documentazione tecnica -- 2026-04-16