ASN05E - Fatturazione contratti a licenze¶
Sorgente: cbl/asn05e.cbl | Tipo: Programma interattivo a menu
Menu: Assist 2.0 > Archivi > Contratti > Fatturazione contratti a licenze
Scopo¶
Estrae e fattura i ratei dei contratti con fatturazione "a matricola", limitatamente alle matricole del tipo configurato come "licenze software" (ass-contr / tipo-mtr-licenze-sw). Per ogni contratto/cliente/periodo seleziona le righe di rateo o variazione presenti sulla tabella movimenti di fatturazione (ASNMTF) e le porta in griglia per la generazione dei documenti.
Posizionamento¶
- Variante del giro standard di fatturazione contratti Assist 2.0
- Si distingue da ASN05/ASN05A perche' opera solo sulle matricole di tipo "licenze software"
- Genera documenti di magazzino tramite COGS26 con causali distinte vendita/reso
Configurazioni RNEWCONF¶
| Gruppo | Chiave | Effetto |
|---|---|---|
ass-contr |
tipo-mtr-licenze-sw |
Codice tipo matricola che identifica le licenze software (filtro principale) |
assist |
magaz-cliente |
Magazzino del cliente per i documenti generati |
assist |
magaz-vendita |
Magazzino di vendita |
assist |
cau-vendita |
Causale documento per le righe di fatturazione |
assist |
cau-reso-licenze |
Causale documento per i resi (variazioni in diminuzione) |
progcogv51 |
iva-agevolata-data-descr |
Descrizione IVA agevolata applicata sui documenti |
Logica di calcolo giorni (g2-calcola-giorni)¶
Il paragrafo calcola il numero di giorni da fatturare (amtf-giorni) a partire dalle date del movimento, scorrendo giorno per giorno tramite DTPRG / PRGDT. La logica:
- Conta i giorni dall'inizio del periodo alla data fine, accumulando mesi completi (
b5-mesi-comp* 30) e giorni residui (b5-giorni-comp) - Applica un arrotondamento "a periodo intero" quando il totale giorni risulta inferiore di 1 unita' alle soglie standard: 29 → 30, 89 → 90, 179 → 180, 359 → 360
L'arrotondamento serve a fatturare un periodo intero (mese, trimestre, semestre, anno) quando lo scorrimento giorno per giorno produce un risultato di 1 inferiore al periodo nominale per effetto dei mesi corti (febbraio, mesi da 30 giorni).
Storico modifiche¶
2026-06-09 - Estensione arrotondamento giorni a periodi senza data sottoscrizione¶
In precedenza l'arrotondamento 29/89/179/359 → +1 era applicato solo se acnb-data-sotscr not = zero (presenza data sottoscrizione del contratto). Esteso a due ulteriori punti del paragrafo:
- Dopo il blocco di chiusura periodo (
b5-data = amtf-data-fine), fuori dalla guardia suacnb-data-sotscr, prima del salto ag2-calc-gg-999 - All'interno del loop principale
g2-calc-gg-10-loop, sui giorni accumulati di passaggio
L'effetto operativo e' che i periodi che generavano un totale "scaglionato" di 29/89/179/359 giorni vengono ora sempre arrotondati al periodo intero, indipendentemente dalla presenza della data di sottoscrizione del contratto.
File principali¶
| File | Uso |
|---|---|
| ASNCNTES, ASNCNRIG | Testata e righe contratti |
| ASNMTF | Movimenti di fatturazione (righe ratei/variazioni) |
| ASNMTR | Matricole |
| COGGEANA | Anagrafica clienti (fatturazione + assistito) |
| COGMERCI / COGMERAP | Anagrafica merci collegate |
| COGCNF | Lettura configurazioni di gruppo |
Programmi chiamati¶
| Programma | Scopo |
|---|---|
| DTPRG / PRGDT | Conversione data <-> giorni progressivi |
| COGS26 | Creazione documenti di magazzino (testata + righe) |
| RNEWCONF | Lettura configurazioni di gruppo |