COGK43 — Stampa Estratto Conto Clienti/Fornitori¶
Sorgente: cbl/cogk43.cbl | Tipo: stampa/report batch (con maschera di selezione) | Program-ID: cogk43
Menu: Contabilita' > Clienti a Part.Aperte > Stampe > Estratto Conto ; Lab.Odont. > Statistiche > Estratto conto e dettaglio commesse
Scopo¶
Produce l'estratto conto di uno o piu' clienti/fornitori: elenca le partite (movimenti di partita) del nominativo entro un periodo, con Dare/Avere, data documento e scadenza, riferimento documento e saldo scalare, chiudendo con il totale per divisa. La selezione dei nominativi puo' essere puntuale (tm-fl-sel = 'D' con codice da/a) o per elenco/raccoglitore (tm-fl-sel = 'E', codici caricati via COGU04).
L'estrazione delle partite e' delegata a COGS77 (funzione R-PARTITA), che genera il file di lavoro COGWPNO; il programma lo legge, applica i filtri (date, provvisori/definitivi, scoperti, partite chiuse, ritenute d'acconto non detratte), costruisce il file di transito cogtrans e lo stampa per nominativo. Sono previste molteplici destinazioni di output: stampa cartacea (COGS54), export Excel/CSV (fileasc2), stampa su modello Word (WORDMDL con modelli ESTR-C/ESTR-P risolti via COGPA3), invio email con PDF allegato (POSTA), reinoltro. La versione per il Laboratorio Odontoiatrico (az-ges-lo = "S") aggiunge il dettaglio delle commesse (paziente, commessa, minuti, riferimento DMV) e usa un tracciato di stampa dedicato.
File e tabelle principali¶
| File/Tabella | Copybook | Uso |
|---|---|---|
COGTABEL (feurtab) |
cogfiles.cpy |
Tabella esercizio e parametri contabili |
COGWPNO |
cogwpno.cpy |
File di lavoro partite generato da COGS77 (letto per data/documento); chiavi .k01/.k02 |
cogtrans |
inline (trs-rec) |
File di transito indicizzato dell'estratto conto (chiavi .k01/.k02), campi partita + Ges.Lab. (commessa, paziente, DMV, tot scalare) |
cogtrans2 |
inline (trs2-rec) |
Secondo file transito (dettaglio commesse) |
fileasc2 |
inline (as2-rec) |
File CSV di export Excel (una riga per movimento, campi separati da ,/tab) |
perstext |
inline (lvp-rec) |
Testo personalizzato di piede/note |
file-reinoltro |
inline (reinoltro-rec) |
File di reinoltro documenti |
filelog |
inline (log-record) |
Log di elaborazione (email/errori) |
Copybook di working/servizio: cogazien.cpy, cogconta.cpy, wtipidoc.cpy, utilk43.cpy, k-personal.cpy, utillogo.cpy (PUTLOGO), utilu04.cpy (elenco codici COGU04), utils09.cpy, utils52.cpy, utils54.cpy (stampante), utils65.cpy/utils67.cpy (aiuti), utils77.cpy (COGS77), utilu10.cpy/k-u10.cpy (importi divisa), utilncnf.cpy, utilzs6.cpy/utilzs1.cpy (raccordo partite/lab), utilsview.cpy, utilmymail.cpy, utilpost.cpy (POSTA), utilgeslprc.cpy (GESLPRC), utilwordmdl.cpy/utilcogpa3.cpy (WORDMDL/COGPA3), opensave.def, l-copiaf.cpy.
Flusso principale¶
apri— inizializzazioni,rd-azi,open-files, lettura configurazione (x99-src-cfg), costruzione nomi file di lavoro.a4...a-tm-word— maschera di selezione: tipo (tm-tipoC/F), riferimento conto, selezione puntuale/elenco (tm-fl-sel), codici da/a, periodo (tm-data-da/tm-data-a), flag provvisori/definitivi/scoperti/869, stampa separata, divisa, partite chiuse, riferimento agente, storiche, export Excel (tm-excel) con path, dettaglio commesse (tm-dett-com), email/reinoltro, stampa Word (tm-word). Validazione viax-controlla-*.a-richiesta-conferma— conferma finale; recupero indirizzo email fatture (COGDESTI), risoluzione modelli Word (COGPA3tipESTR-C/ESTR-P), apertura periferica di stampa (COGS54, carattere ridotto per l'odonto).a028/a028-1— per ogni nominativo: apertura transitocogtrans, chiamataCOGS77(R-PARTITA) che popolaCOGWPNOcon le partite del cliente/fornitore.a028-2/a028-3— letturaCOGWPNO: applica i filtri di data, provvisori (fl-pno-pro), gestione ritenute d'acconto non detratte (COGRITAC), logiche personalizzate (az-personal = "WI", raccordoCOGZS6/COGPARTI); accumula le partite valide nel transito (riempi-0/riempi-0-a, saldo iniziale viasaldo-init).a029-0— eliminazione partite chiuse (elimina-par-chiu) e precedenti chiuse (elimina-precedente-chiuso) se non richieste; esplosione dettaglio commesse per Excel (esplodo-dettaglio) setm-dett-com = "S".a042/a042-a/a043— somma dei totali Dare/Avere per divisa (tab-totali) e stampa riga totale (riempi-4).a045— stampa dell'estratto conto del nominativo (stampa/stadet/stadet-w, intestazioneintesta/stanag, piedefondo-pag); se Word, chiusura documento (s-rottura-fine); se email, invio (spedisci-email).a046— gestione stampa separata (giro fatture/preventivi), avanzamento al nominativo successivo (loop sutm-cod-da/elencou04-cod).fine-sta/fine/z-chiudi— chiusura stampante, chiusura/cancellazione transiti, uscita.
Sottoprogrammi chiamati¶
| Programma | Ruolo |
|---|---|
COGS77 |
Estrazione partite del nominativo nel file COGWPNO (funzione R-PARTITA) |
COGS54 |
Apertura/gestione periferica di stampa |
COGS52W |
Editing/validazione date |
COGS65W / COGS67W |
Aiuti anagrafiche / piano conti |
COGS09 |
Servizio contabile |
COGU04 |
Caricamento elenco codici (selezione per elenco/raccoglitore) |
COGU10W |
Editing/conversione importi in divisa |
COGZS6 / COGZS1 |
Raccordo partite / servizi Ges.Lab. |
COGPA3 |
Risoluzione modello Word (ESTR-C/ESTR-P) e tabelle di composizione |
WORDMDL |
Generazione stampa su modello Word/XML |
POSTA |
Invio email con PDF allegato |
GESLPRC |
Gestione processo lab/prescrizioni |
PUTLOGO |
Stampa logo aziendale |
SVIEW / COPIAF / GRIDTOXS |
Visualizzazione, copia file, export griglia |
RNEWCONF |
Lettura configurazione |
Note¶
- Le partite non sono lette direttamente dagli archivi contabili ma dal file di lavoro
COGWPNOprodotto daCOGS77(R-PARTITA), un nominativo alla volta; il programma applica poi ulteriori filtri prima di accumulare nel transitocogtrans. - La configurazione
tm-cfg-mastro-contodetermina se il filtro anagrafica avviene su solo sottoconto o su mastro/conto/sottoconto completo. - Il ramo Laboratorio Odontoiatrico (
az-ges-lo = "S",dep-tipo = "C") usa un carattere di stampa dedicato (k-chr-stampa-odonto) e le informazioni Ges.Lab. presenti intrs-ges-lo(commessa, paziente, minuti, DMV); il dettaglio commesse alimenta la voce di menu "Estratto conto e dettaglio commesse". - Sono presenti numerose logiche personalizzate per azienda (
az-personal = "WI","E4", teknonet) che alterano filtri di data valuta, raccordo partite e selezione fatture/preventivi. - Sorgente molto esteso (oltre 6600 righe) e in stile legacy: uso estensivo di
GO TO(a028-*,a042-a,espl-*-loop) ePERFORM ... THRU(es.stampa thru ex-stampa,riempi-0 thru ex-riempi-0). Da non replicare nel nuovo codice. source-computer/object-computersonoacu-cobol: programma di vecchia conversione Windows (2004).