Vai al contenuto

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

  1. apri — inizializzazioni, rd-azi, open-files, lettura configurazione (x99-src-cfg), costruzione nomi file di lavoro.
  2. a4 ... a-tm-word — maschera di selezione: tipo (tm-tipo C/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 via x-controlla-*.
  3. a-richiesta-conferma — conferma finale; recupero indirizzo email fatture (COGDESTI), risoluzione modelli Word (COGPA3 tip ESTR-C/ESTR-P), apertura periferica di stampa (COGS54, carattere ridotto per l'odonto).
  4. a028 / a028-1 — per ogni nominativo: apertura transito cogtrans, chiamata COGS77 (R-PARTITA) che popola COGWPNO con le partite del cliente/fornitore.
  5. a028-2 / a028-3 — lettura COGWPNO: applica i filtri di data, provvisori (fl-pno-pro), gestione ritenute d'acconto non detratte (COGRITAC), logiche personalizzate (az-personal = "WI", raccordo COGZS6/COGPARTI); accumula le partite valide nel transito (riempi-0/riempi-0-a, saldo iniziale via saldo-init).
  6. a029-0 — eliminazione partite chiuse (elimina-par-chiu) e precedenti chiuse (elimina-precedente-chiuso) se non richieste; esplosione dettaglio commesse per Excel (esplodo-dettaglio) se tm-dett-com = "S".
  7. a042 / a042-a / a043 — somma dei totali Dare/Avere per divisa (tab-totali) e stampa riga totale (riempi-4).
  8. a045 — stampa dell'estratto conto del nominativo (stampa/stadet/stadet-w, intestazione intesta/stanag, piede fondo-pag); se Word, chiusura documento (s-rottura-fine); se email, invio (spedisci-email).
  9. a046 — gestione stampa separata (giro fatture/preventivi), avanzamento al nominativo successivo (loop su tm-cod-da/elenco u04-cod).
  10. 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 COGWPNO prodotto da COGS77 (R-PARTITA), un nominativo alla volta; il programma applica poi ulteriori filtri prima di accumulare nel transito cogtrans.
  • La configurazione tm-cfg-mastro-conto determina 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 in trs-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) e PERFORM ... THRU (es. stampa thru ex-stampa, riempi-0 thru ex-riempi-0). Da non replicare nel nuovo codice.
  • source-computer/object-computer sono acu-cobol: programma di vecchia conversione Windows (2004).