COGE42 - Visualizzazione partite aperte e chiuse¶
Sorgente: cbl/coge42.cbl | Tipo: Programma con interfaccia grafica (maschera griglia) | Program-ID: COGE42
Menu: Contabilita' > Clienti a Part.Aperte > Vis. Partite / Contabilita' > Fornit. a Part.Aperte > Vis. Partite
Scopo¶
Visualizza le partite aperte e/o chiuse per un cliente o fornitore, con il dettaglio dei movimenti che le compongono (fatture, pagamenti, note credito, acconti). Mostra per ciascun movimento gli importi dare/avere, il saldo progressivo e lo stato incasso/cessione. Permette di filtrare per tipo partita, range di date, tipo pagamento, agente e di esportare i dati in Excel.
Il programma opera in modalita' clienti ("C") o fornitori ("F") in base al parametro ricevuto dal menu (wo-parametro).
Struttura del programma¶
File e tabelle utilizzati¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| COGTABEL (feurtab) | Input | Tabella generica (lettura esercizio contabile, tipo 66) |
| COGGEANA | Input | Anagrafica clienti/fornitori (validazione codice, lookup agente) |
| COGPNCON | Input | Piano dei conti (validazione conto associato) |
| COGPARTI | Input | Partite (testata partita: date apertura/chiusura, tipo pagamento) |
| COGWPNO (cogwpno) | Input | File temporaneo prodotto da COGS77 con i movimenti di prima nota selezionati |
| COGTRANS (cogtrans) | I-O | File temporaneo indicizzato di appoggio per i movimenti aggregati per partita |
| COGPNONC | Input | Prima nota contabile |
| COGFATTU | Input | Fatture |
| COGTESBO | Input | Testate bolle |
| COGFTETS | Input | Fatture elettroniche (stato invio SDI) |
| COGANAP2 | Input | Anagrafica aggiuntiva |
| COGMAGAZ | Input | Magazzino |
| COGAPPOG | Input | Appoggio |
| COGMOVPA | Input | Movimenti partite |
| exp-grid | Output | File export griglia (Excel) |
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| feurtab.fd | SELECT tabella COGTABEL |
| coge42.select | SELECT generati da Screens |
| coge42.fd | FD generate da Screens |
| coge42.wrk | Working-storage generata da Screens |
| cogfiles.cpy | Record COGTABEL |
| cogwpno.fd / cogwpno.cpy | SELECT e record file temporaneo prima nota |
| cogconta.cpy | Record esercizio contabile |
| wstato.cpy | Variabili di stato |
| wgrave.cpy | Gestione errori gravi |
| wopenf.cpy | Apertura file |
| wnscr.cpy | Variabili screen |
| cogazien.cpy | Dati azienda corrente |
| wgrid.cpy | Variabili griglia |
| utilgdad.cpy | Utility GRIDADMN |
| utils51.cpy | Utility COGS51 |
| utils52.cpy | Utility COGS52 (input numerico) |
| utils65.cpy | Utility COGS65W (lookup anagrafiche) |
| utils77.cpy | Utility COGS77 (estrazione partite) |
| utilu10.cpy | Utility COGU10W (conversione divise) |
| utilw19.cpy | Utility WIN019 |
| utilw62.cpy | Utility WIN062 |
| utilu49.cpy | Utility COGU49 |
| utilzs6.cpy | Utility COGZS6 (raccordo commesse) |
| utilncnf.cpy | Utility configurazione RNEWCONF |
| utila043.cpy | Utility COGE43A (dettaglio documento) |
| k-u10.cpy | Costanti per U10 |
| wcont.cpy / wcont1.cpy | Linkage section (parametri dal menu) |
Chiamate a sottoprogrammi (CALL)¶
| Programma | Scopo |
|---|---|
| COGS77 | Estrazione partite da prima nota: produce il file COGWPNO con i movimenti filtrati |
| COGS65W | Lookup anagrafiche (codice cliente/fornitore, agente) |
| COGS51 | Lookup tipo pagamento |
| COGU10W | Conversione/formattazione importi in divisa |
| COGU49 | Utility (export dati) |
| COGZS6 | Raccordo partita-commessa (solo clienti con gestione laboratorio) |
| COGE43A | Visualizzazione dettaglio documento da griglia |
| WIN019 | Utility finestra |
| WIN062 | Utility finestra |
| GRIDADMN | Gestione griglia (preparazione, riempimento, export Excel) |
| RNEWCONF | Lettura configurazione |
Logica di elaborazione¶
Inizializzazione (apri)¶
- Verifica abilitazioni, apre i file, legge dati azienda.
- Legge esercizio contabile (COGTABEL tipo 66); se assente, esce con errore.
- Determina il tipo operativo (clienti/fornitori) da
wo-parametro. - Recupera la divisa di conto tramite COGU10W.
- Crea il file temporaneo COGTRANS nella directory temp.
- Imposta titolo maschera ("Visualizzazione partite clienti/fornitori").
- Configura pulsanti custom (F6 modifica banca, F18 modifica tipo pagamento).
Filtri di testata (a4 → a-inizio-dati)¶
Il programma presenta i seguenti campi di filtro con navigazione sequenziale:
| Paragrafo | Campo | Validazione |
|---|---|---|
a-tm-codice |
Codice anagrafico | COGS65W con F8; se zero = "Tutti". Legge COGGEANA e COGPNCON per conto |
a-tm-ape |
Tipo partite (A=aperte, C=chiuse, E=entrambe) | Combo S60 |
a-tm-storiche |
Includi storiche | Check-box S95 |
a-tm-prov |
Includi provvisorie | Check-box S95 (visibile solo se gestione IP attiva) |
a-tm-tipo-sel |
Tipo selezione (T=tutte, A=per anno, P=per tipo, S=singola) | Combo S60 |
a-tm-par-anno/tipo/num/sca |
Riferimento partita specifica | Abilitati in base a tipo-sel |
a-tm-data-inser |
Data apertura (filtro "da") | Calendario |
a-tm-data-chius |
Data chiusura (filtro "fino a") | Calendario |
a-tm-agente |
Codice agente | COGS65W (tipo "F", flag agente); validato su COGGEANA |
Elaborazione (a-inizio-dati → new-par)¶
- Estrazione: chiama COGS77 con i parametri di filtro (tipo, codice, anno, tipo partita, numero, scadenza, flag provvisorie/storiche). COGS77 produce il file COGWPNO ordinato per partita.
- Ciclo new-par: legge sequenzialmente COGWPNO e per ogni movimento:
- Filtra per stato apertura/chiusura (A/C/E).
- Filtra per agente: legge COGGEANA del soggetto della partita (
pno-paclie) e confrontaana-agentecontm-agente; se non corrisponde, salta il record. - Filtra per date apertura/chiusura: legge COGPARTI e verifica range date.
- Aggrega i movimenti per partita nel file COGTRANS, calcolando il totale dare/avere per determinare lo stato I/C (Incasso/Chiusa).
- Per clienti con gestione laboratorio, recupera la commessa tramite COGZS6.
- Recupera dati SDI (fattura elettronica) se disponibili.
- Calcolo saldo (
calcola-saldo): scorre COGTRANS calcolando il saldo progressivo per partita e il saldo totale.
Visualizzazione griglia (vis-tabella)¶
- Carica i record da COGTRANS nella struttura
tm-tab(max 100 righe per pagina). - Formatta le colonne tramite GRIDADMN con personalizzazione colonne (laboratorio: commessa, paziente, ecc.).
- F8 su riga: chiama COGE43A per dettaglio documento.
- F5: visualizza fatture collegate.
- F6: modifica banca sulla partita.
- S-F4: amministrazione griglia (ordine/visibilita' colonne).
- S-F5: esporta in Excel.
Note tecniche¶
- Il file COGTRANS e' un file temporaneo indicizzato creato nella directory temp con nome univoco per operatore (
#$COGE42_<pid>.<operatore>). Viene cancellato alla chiusura. - COGS77 e' il motore di estrazione delle partite: prepara il file COGWPNO con tutti i movimenti che corrispondono ai criteri base (cliente, tipo, anno, ecc.). I filtri aggiuntivi (agente, date) sono applicati dal programma in post-elaborazione.
- Il filtro agente (aggiunto 04/2026) legge l'anagrafica del soggetto titolare di ogni partita e confronta il campo
ana-agentecon il valore richiesto. Se il codice agente in testata e' zero, il filtro non si applica. - La validazione dell'agente usa COGS65W con
s65-i-tip = "F"(tipo fornitore) es65-fl-age = "S"(flag agente attivo), in modo da proporre solo i soggetti classificati come agenti. - Per i clienti con gestione laboratorio (
az-ges-lo = "S"), la griglia mostra colonne aggiuntive: commessa, paziente, data prescrizione, ora consegna, riferimento documento magazzino. - La struttura
tm-tabsupporta fino ak-max-ele-tab(100) righe. La paginazione e' gestita dal ciclo di riempimento con scorrimento. - Il tipo selezione controlla quali campi partita sono abilitati: "T" (tutte) disabilita anno/tipo/numero/scadenza; "A" (per anno) abilita solo anno; "P" abilita anno+tipo; "S" (singola) abilita tutti.
Documentazione tecnica aggiornata -- 2026-04-21