COGUA0 — Analisi costi/ricavi commessa¶
Sorgente: cbl/cogua0.cbl | Tipo: Sottoprogramma | Program-ID: COGUA0
Menu: Programma non a menu — sottoprogramma richiamato per il calcolo costi/ricavi di commessa
Scopo¶
Sottoprogramma di analisi costi/ricavi di commessa. Scorre i movimenti collegati alla commessa e ne calcola unitario/totale di costo e ricavo, totalizzandoli. Per i movimenti "giornaliero" (canone giornaliero) la collocazione su costi e ricavi e' governata da configurazioni dedicate.
Configurazioni (gruppo COMMESSE)¶
Lette in x99-confi tramite RNEWCONF (package k-pack-coge):
| Gruppo | Chiave | Variabile | Note |
|---|---|---|---|
| COMMESSE | CLASSE-RAGGR-CENTRI-COSTO | tm-cfg-classe |
Classe di raggruppamento centri di costo |
| COMMESSE | FORZA-COSTO-MAT-INTERVENTO | tm-cfg-forza-costo-mat-intervento |
Forzatura costo materiale intervento |
| COMMESSE | RICAVO-GIORNALIERI | tm-cfg-ricavo-giornalieri |
"S" = il giornaliero va sui ricavi |
| COMMESSE | COSTO-GIORNALIERI | tm-cfg-costo-giornalieri |
"N" = azzera il costo del giornaliero legato a un intervento |
Logica costo giornaliero¶
Per i movimenti di tipo giornaliero il costo unitario/totale viene calcolato da dmr-val-fifo. Successivamente, se il movimento e' legato a un intervento (t-cogua0-id-intervento valorizzato) e l'azzeramento e' richiesto (azienda Auriservice oppure configurazione COSTO-GIORNALIERI = "N"), il costo viene azzerato (t-cogua0-costo-u/t-cogua0-costo-t = 0) e il paragrafo tratta-rr esce immediatamente (go to ex-tratta-rr): il movimento non viene totalizzato (totalizza) ne' scritto nel dettaglio (wr-t-dettaglio, aggiorna-cc).
In pratica il giornaliero legato a un intervento con costo azzerato viene escluso del tutto dall'analisi costi (nessuna riga di dettaglio, nessun contributo ai totali di centro di costo), per evitare di riportare a costo del materiale gia' contabilizzato nell'intervento.
Storico modifiche¶
2026 — Nuova configurazione COSTO-GIORNALIERI¶
Generalizzata la regola di azzeramento del costo dei movimenti giornalieri legati a un intervento, che in precedenza era condizionata solo all'azienda Auriservice (az-personal = k-personal-auriservice).
- Aggiunto il campo di configurazione
tm-cfg-costo-giornalierie la lettura della nuova chiaveCOMMESSE/COSTO-GIORNALIERIinx99-confi:ncnf-pntportato da 3 a 4, aggiuntamove ncnf-valore (04) to tm-cfg-costo-giornalieri. - Esteso il test di azzeramento del costo: ora il costo del giornaliero legato a un intervento viene azzerato sia per Auriservice sia quando
tm-cfg-costo-giornalieri = "N".
In questo modo il comportamento (in passato hard-coded sull'azienda) e' attivabile su qualsiasi installazione tramite configurazione.
2026-07-23 — Esclusione del giornaliero azzerato dall'analisi¶
All'azzeramento del costo e' stato aggiunto un go to ex-tratta-rr che fa uscire subito da tratta-rr:
if (az-personal = k-personal-auriservice or
tm-cfg-costo-giornalieri = "N")
and (t-cogua0-id-intervento not = spaces and not = zero)
move zero to t-cogua0-costo-u t-cogua0-costo-t
go to ex-tratta-rr
end-if
Prima della modifica il movimento veniva comunque totalizzato e scritto nel dettaglio con costo a zero; ora il giornaliero legato a un intervento con costo azzerato viene saltato completamente (niente totalizza, niente wr-t-dettaglio/aggiorna-cc), quindi non compare piu' come riga a costo zero nell'analisi. Il ricavo del giornaliero (gestito da RICAVO-GIORNALIERI) viene calcolato prima di questo punto e non e' interessato dal salto per quanto riguarda il calcolo, ma la riga complessiva non viene comunque emessa.