COGU85 -- Fatturazione Partite Anticipate¶
Sorgente: cbl/cogu85.cbl | Tipo: Programma con interfaccia grafica | Program-ID: COGU85
Menu: Contabilita' > Clienti a Part.Aperte > Incassi su Fattura > Fatturazione partite anticipate
Scopo¶
Genera automaticamente le fatture per le partite anticipate dei clienti. Scorre COGPADOC per individuare le partite anticipate non ancora fatturate, raggruppa per cliente e lancia COGU81 per la generazione della singola fattura. Al termine, consente la stampa delle fatture e degli allegati creati.
File e Tabelle¶
| File/Tabella | Copybook | Uso |
|---|---|---|
| COGTABEL | feurtab.fd, cogfiles.cpy | Tabella generica contabilita' |
| COGGEANA | (da cogu85.select) | Anagrafica clienti -- lettura nome |
| COGPADOC | (da cogu85.select) | Partite per documento -- scansione partite anticipate |
| COGTESBO | (da cogu85.select) | Testata bolle -- lettura per stampa allegati |
| COGRACCO | (da cogu85.select) | Raccordo bolle-fatture -- collegamento per allegati |
| COGRACBB | (da cogu85.select) | Raccordo bolle-bolle -- collegamento per allegati |
| LODCMTES | (da cogu85.select) | Testata commesse laboratorio -- per allegati |
Struttura del programma¶
Flusso principale¶
- Inizializzazione (
apri): legge configurazione viax99-confi, imposta maschera - Input parametri (
a-tm-data-fat,a-tm-cli): data fattura e codice cliente (0 = tutti) - Scansione partite (
a-100-07): scorre COGPADOC per cliente tipo "C", filtra partite non fatturate - Generazione fatture (
lancio-cogu81): per ogni cliente, lancia COGU81 - Riepilogo (
wind4): mostra le fatture create e offre opzioni di stampa - Stampa (
a2-stampa,x7-stampa-allegati): stampa fatture e allegati
Scansione partite (a-100-07)¶
Scorre COGPADOC con start su pdc-patipcli = "C" e pdc-paclie = tm-cli. Filtri:
pdc-rif-fat-tipo not = spaces: salta (gia' fatturata)pdc-minuti-commessa = "15" or "45": salta (commesse speciali)- Se
wtm-cli not = zeroepdc-pacliecambia: lancia fatturazione e termina - Se
wtm-cli = zeroe il cliente cambia: lancia fatturazione per il cliente precedente, poi continua
Lancio COGU81 (lancio-cogu81)¶
Prepara la struttura u81-call con:
u81-called = "COGU85"-- identifica il chiamanteu81-tipo = "C"-- tipo clienteu81-codice-- codice clienteu81-data-fat-- data fattura
Chiama cogu81 che esegue la fatturazione vera e propria. Al ritorno, u81-panpart contiene il numero della fattura creata (0 se nessuna).
Per ogni fattura creata, aggiorna i contatori:
tm-numfat: contatore fatturetm-dafat/tm-afat: intervallo numeri fatture (tipo/anno/numero)tm-ele-num: contatore elementitm-r-patipo/panno/panum(n): array con riferimenti fatture create
Riepilogo (wind4)¶
Mostra un dialogo tramite DIALOGS con:
- Messaggio di fatturazione eseguita e numeri fatture
- Indicazione della contabilizzazione e conciliazione partite
- Pulsanti per stampa fatture (F9), stampa allegati (F5/F7)
Stampa fatture (a2-stampa)¶
Chiama COGP41 passando l'intervallo fatture:
p41-tip = "T"-- tipo stampap41-fd-tip/ann/num: prima fatturap41-fa-tip/ann/num: ultima fattura
Stampa allegati (x7-stampa-allegati)¶
Per ogni fattura creata:
- Scorre COGRACCO per trovare le bolle collegate alla fattura
- Per ogni bolla, legge COGTESBO e verifica data >= 20090101
- Cerca il raccordo COGRACBB per ottenere il riferimento documento
- Legge la commessa laboratorio da LODCMTES
- Se
w-fl-stampa = "S"e l'allegato e' gia' stampato (lct-fl-all = "S"), salta - Lancia COGZ82WI per la stampa dell'allegato con i dati di studio, paziente e progressivo
Al termine, esegue una chiamata finale a COGZ82WI con z82-esegui-mdl = "S" per eseguire effettivamente la stampa batch.
Chiamate esterne¶
| Programma | Scopo |
|---|---|
| COGU81 | Generazione singola fattura da partite anticipate |
| COGP41 | Stampa fatture |
| COGZ82WI | Stampa allegati (modello documento) |
| COGU10W | Formattazione importi |
| COGS52 | Gestione input date |
| COGS54 | Gestione stampante |
| COGS65 | Ricerca anagrafica |
| COGU01 | Utility generica |
| COGU02 | Utility |
| COGU35W | Utility |
| COGW02 | Finestra utility |
| COGZDE | Utility |
| DIALOGS | Finestre di dialogo |
| RNEWCONF | Lettura configurazioni |
Copybook utilizzate¶
cogu85.select,cogu85.fd,cogu85.wrk,cogu85.prc,cogu85.decla,cogu85-01.scr-- Definizioni generate da Screenscogfiles.cpy-- Record tabella genericacogazien.cpy-- Dati aziendautilz82.cpy-- Interfaccia COGZ82WI (linkage)utilp41.cpy-- Interfaccia COGP41utils52.cpy-- Interfaccia COGS52utils54.cpy-- Interfaccia COGS54utils65.cpy-- Interfaccia COGS65utilu01.cpy,utilu02.cpy,utilu10.cpy,utilu35w.cpy-- Interfacce utilityutilw02.cpy-- Interfaccia COGW02utilzde.cpy-- Interfaccia COGZDEutildlg.cpy-- Interfaccia DIALOGSutilncnf.cpy-- Interfaccia RNEWCONFk-u10.cpy-- Costanti COGU10Wwstato.cpy,wopenf.cpy,wgrave.cpy,wnscr.cpy-- Copybook standard
Configurazione (x99-confi)¶
Il programma legge numerosi parametri RNEWCONF nei gruppi:
fatturaz: proforma da BDPfattdescbo: parametri descrizione bolla (affogo resi, tipo, integrazione, stampa OK)fattbatch: importo zero, raggruppamento righe, raggruppamento mercecommesse: tipo numerazione commessepartanticip: configurazione specifica partite anticipate (descrizioni acconto/detrazione, conti, codice IVA, articolo esente, causale, soglia abbuono, tipo documento vendita)
Campi principali nella configurazione (tab-config):
| Campo | Descrizione |
|---|---|
tm-cfg-imp-zero |
Gestione importi a zero |
tm-cfg-rgr |
Raggruppamento righe |
tm-cfg-rgr-merce |
Merce per raggruppamento |
tm-cfg-affogo-resi |
Affogamento resi |
tm-cfg-proforma-da-bdp |
Proforma da BDP |
tm-cfg-des1-acc/des2-acc |
Descrizioni acconto |
tm-cfg-cp-acconto/cc-acconto |
Conti acconto |
tm-cfg-iva |
Codice IVA |
tm-cfg-art-ese |
Articolo esente |
tm-cfg-cau-acconto |
Causale acconto |
tm-cfg-abbuono |
Soglia abbuono |
tm-cfg-td-dm-vendita-cli |
Tipo documento vendita |
Note tecniche¶
- La costante
k-max-ele-tab = 900e' definita come condizione 88 anziche' come 78, il che e' un'anomalia stilistica rispetto agli altri programmi. - Il file COGV60NO viene usato per la gestione fatturazione batch (
trs-v60-name). - La variabile
w-char-fine-parolacontiene un carattere speciale (non ASCII) usato come delimitatore. - Il programma non ha griglia interattiva nel senso tradizionale: la maschera principale richiede solo data e cliente, poi la fatturazione procede in automatico.
Documentazione tecnica -- 2026-04-16