COGY74 - Esportazione pre-fatturazione clienti con arrotondamento¶
Intestazione¶
| Campo | Valore |
|---|---|
| Programma | COGY74 |
| Sorgente | cbl/cogy74.cbl (1.493 righe) |
| Titolo | Estrazione Pre-Fatturazione clienti con arrotondamento |
| Tipo | Interattivo (GUI, screen cogy74-01.scr) |
| Modulo | Sistema |
| Posizione menu | Sistema > Utility > Esportazioni > Prefatture con arrotonda (e Prefatture Net4) |
L'intestazione del sorgente lo descrive come "Selezione documenti da fatturare per clienti speciali - estrazione su foglio Excel".
Scopo¶
Estrae in un file delimitato (poi aperto come foglio Excel) le righe dei documenti da fatturare per i clienti configurati come "speciali", producendo un tracciato di pre-fattura con arrotondamento degli importi. Il file di output e' estrai_cli_mo.csv nella directory temporanea (ext-tmp-dir), con campi separati da carattere TAB (x'09'), e al termine viene aperto tramite la subroutine GRIDTOXS.
Lo stesso sorgente serve due voci di menu, distinte dal parametro di lancio wo-parametro:
- Prefatture con arrotonda: comportamento standard; gli importi in euro vengono arrotondati (
a-mag-valore-euro rounded). - Prefatture Net4 (
wo-parametro = "N4"): variante per il tracciato "Net4"; usa la chiave di configurazioneRAGGRUPPA1in luogo dicli-con-sconto, non arrotonda l'importo, e per il laboratorio Lori risolve il codice merce cliente tramitecogmercl/coganapp.
Tabelle e file usati¶
| File | Ruolo | Chiavi/campi rilevanti |
|---|---|---|
coggeana / boggeana |
Scansione clienti e lettura nomi | anb-tipo/ana-tipo, anb-cod/ana-cod, ana-nome |
cogtesbo |
Testate bolle da fatturare | chiave 2 (tes-data, tes-chia3); tes-tipob, tes-causale, tes-nonno, tes-dst-id |
cogmomag |
Righe movimento da esportare | chiave primaria (mag-testa, mag-prog); mag-merce3, mag-pre-no-sco, mag-prezzo, mag-qtamagaz, mag-valore, mag-alf |
cogmerci |
Descrizione e codice merce | mer-chia, mer-gru, mer-sot, mer-cod, mer-descr |
cogmercl |
Codice/descrizione merce del cliente (cmc) |
mcl-merce, mcl-cli, mcl-cmc, mcl-desc |
cogtabel |
Date di fatturazione (tipo 44), causali (tipo 15) | euta-tipo, euta-cod, euta-cb-fl-eu, euta-cb-cli-for, euta-cb-con-fat, euta-gg/mm/aa-1..4 |
cogracbb |
Collegamento bolla -> commessa (medico/paziente) | chiave 2 (rbb-tip="CD", rbb-b-bol, rbb-pro, rbb-a-bol) |
cogdesti |
Destinazione diversa | dst-ana-tip, dst-ana-cod, dst-id, dst-rag-soc |
coganapp |
Padre CMC (solo Net4 / lab. Lori) | aap-ana-tip, aap-ana-cod, aap-padre-cmc |
cogmagaz |
Validazione magazzino | magz-tipo="M", magz-cod, magz-nome |
fileasc2 |
File di output estrai_cli_mo.csv (line sequential) |
as2-rec con campi TAB-delimitati |
tran-v85, cogragfa, cogrifbo, cogrresi |
Aree/file di appoggio (external) | - |
Configurazione (RNEWCONF)¶
In x99-confi legge dal pacchetto C un blocco di chiavi di fatturazione (gruppo FATTBATCH/FATTDESCBO/FATTURAZ), tra cui EUTA-C055-TIP-FAT, EUTA-C055-CP-CT, EUTA-C055-PERIOD, EUTA-C006-AFFOGO-RESI, SOGLIA-FATTURE-SEGNALATE.
La selezione dei clienti "speciali" avviene in a-new-commessa: per ogni cliente legge la chiave STAMPAFAT con chiave cli-con-sconto (o RAGGRUPPA1 in modalita' Net4), sudddivisione sul codice cliente (ncnf-sud-n); se il valore e' "S" il cliente rientra nell'estrazione.
Ulteriore chiave letta per cliente: CLIENTE-FILTRATO-SU-AGENTE2 (gruppo FATTBATCH, x-configurazione-bis).
Logica di elaborazione¶
apri/a001- apertura file, lettura azienda, apertura in output difileasc2; lettura configurazione (x99-confi); costruzione controlli GUI.a4-a-tm-mod-uso-mag- richiesta parametri: data inizio/fine, magazzino (F8 aiuto), modo d'uso magazzino; F5 su data inizio apre la lista documenti da fatturare (COGU14).a-richiesta-conferma- calcolo anno bisestile, lettura delle 4 date di fatturazione dacogtabeltipo 44 (euta-gg/mm/aa-1..4), con segnalazione se una data e' a zero.a-elabora(dopo conferma F3):- scorre i clienti (
boggeanatipo cliente); per ciascuno verifica in configurazione se e' un cliente "speciale" da estrarre; - per il cliente selezionato scorre le bolle (
cogtesbochiave 2) nel periodo, applicando i filtri: tipo bolla B/I/D, causale non omaggio (az-cau-oma), causale confl-eu = "U"(uscita),cli-for = "C",con-fat = "SI"; - alla prima riga scrive il titolo/formato del file (
crea-titolo); - per ogni riga movimento con
mag-pre-no-sco > 0chiamaprepara-rec-xlse scrive un record; - aggiorna i contatori a video (righe movimento, clienti, bolle).
prepara-rec-xls- compone la riga TAB-delimitata: lotto (vuoto), codice fornitore (tm-cfg-for), codice/descrizione merce cliente (cogmercl), 10 campi di appoggio (tra cui data consegna e codice merce composto), prezzo lordo/netto, IVA, quantita', importo (arrotondato salvo Net4), nome cliente, medico e paziente (viacogracbb->COGZS1), riferimento DDT, codice cliente, destinazione (cogdesti).z-chiudi- chiudefileasc2e, se ci sono dati (ok-esporta-excel), chiamaGRIDTOXS(operazioneapri-file) per aprire il file prodotto.
Chiamate / COPY rilevanti¶
| Programma | Scopo |
|---|---|
RNEWCONF |
Lettura configurazioni di fatturazione e selezione clienti |
GRIDTOXS |
Apertura del file estratto come foglio Excel |
COGU10 / COGU10W |
Editing/conversione importi |
COGU14 |
Lista documenti da fatturare (F5) |
COGZS1 |
Recupero medico/paziente della commessa |
COGS65W |
Aiuto/selezione cliente |
COGS52 |
Accept date |
DTPRG / PRGDT |
Conversione data <-> progressivo giorni |
C$JUSTIFY |
Allineamento codice merce |
COPY notevoli: utilncnf.cpy, utilzs1.cpy, utilu10.cpy, utilu14.cpy, k-personal.cpy, utils65.cpy.
Note¶
- Il delimitatore effettivo del file e' il TAB (
x'09', variabilek-virgola), nonostante l'estensione.csve la scheda di flusso che lo riporta come;. - La differenza tra "Prefatture con arrotonda" e "Prefatture Net4" e' tutta gestita internamente dal parametro di lancio
wo-parametro = "N4": stesso eseguibile, comportamenti diversi su chiave di configurazione, arrotondamento importo e risoluzione codice merce cliente. - Alcune personalizzazioni sono legate a
az-personal = k-personal-lab-lori(laboratorio Lori): fornitore fisso 1650, cliente merce 3935 e risoluzione del padre CMC viacoganapp.
Documentazione tecnica -- creata 2026-08-07