Vai al contenuto

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-giornalieri e la lettura della nuova chiave COMMESSE/COSTO-GIORNALIERI in x99-confi: ncnf-pnt portato da 3 a 4, aggiunta move 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.