COGB74 - Gestione costi personale per periodo (Contabilita' analitica)¶
| Campo | Valore |
|---|---|
| Sorgente | cbl/cogb74.cbl |
| Tipo | Programma interattivo (maschera con griglia) |
| Program-ID | COGB74 |
| Menu | Non presente in prog.txt (programma in sviluppo) |
| Righe sorgente | ~1.905 |
Descrizione¶
Maschera per la rilevazione e la ripartizione dei costi del personale per periodo nella contabilita' analitica. A partire da una commessa e da un intervallo di date, l'operatore imputa le ore di lavoro del personale e il programma le valorizza al costo orario, distinguendo tra attivita' finanziate (es. corsi finanziati) e attivita' libere, con quadratura rispetto al totale del movimento.
Il documento e' affiancato dall'utility una-tantum tempo812 che inizializza i nuovi campi
cdc-ore (ore corso) e cdc-costo-orario su COGMOVCC, usati per memorizzare il dato analitico
dei costi del personale.
Programma in sviluppo
Il programma non e' ancora collegato al menu applicativo. Il caricamento automatico
della griglia dai movimenti (carica-dati) e il salvataggio del documento di
contabilita' analitica (b-aggiorna) sono ora implementati (vedi Logica di
elaborazione); il flusso dati e' funzionante ma soggetto a revisione fino al
collegamento a menu.
File e tabelle¶
| File/Tabella | Tipo | Descrizione |
|---|---|---|
| COGTABEL (feurtab) | Input | Tabella generica; tipo 18 = centri di costo acquisti (coan), tipo 16 = conto acquisti coge collegato alla merce |
| COGTESCM (tsc) | Input | Testate commessa (codice commessa, descrizione breve) |
| COGTCMAG (tsca) | Input | Collegamento commessa → articolo di magazzino |
| COGMERCI (mer) | Input | Anagrafica articoli |
| COGMERAP (map) | Input | Dati avanzati articolo (centro di costo map-cc) |
| COGCCOPR (cco) | Input | Piano dei conti centri di costo (livelli 1/2/3, descrizione, reparto) |
| COGLISFO (lfo) | Input | Listino fornitori: costo orario dell'articolo per fornitore interno e data |
| COGMOVCC (cdc) | I-O | Movimenti di contabilita' analitica: letti in caricamento (per periodo+commessa), scritti in fase di aggiornamento (documento Co.An.) |
| COGTRANS (trs) | Transito | File temporaneo (#$cogb74_<ora>.<oper> in dir temp) con i movimenti Co.An. della commessa, usato per generarne le contropartite |
| t-grid-det / exp-grid | Transito | Griglia di dettaglio (generata da Screens) ed export |
Copybook principali¶
| Copybook | Descrizione |
|---|---|
| cogb74.wrk / .select / .fd / .tm / .scr / .prc / .decla | Screen Designer: working, select, fd, dati maschera, screen, procedure, declaratives |
| cogb74.imppredf / .imppredf-wrk + utilimppredf.cpy | Import di valori predefiniti nella maschera |
| utilu10.cpy / call-u35.cpy / utilu35w.cpy | Interfacce conversione divisa (COGU10W) e utility U35 |
| utils52.cpy / utils68.cpy | Interfacce S52 / S68 (ricerca/selezione) |
| utilu20.cpy | Interfaccia U20 |
| utilgcol.cpy / utilgdad.cpy / wgrid.cpy | Gestione colonne/griglia evoluta (GRIDADMN) |
| k-personal.cpy / k-tipi-cogtabel.cpy | Costanti personalizzazioni e tipi tabella |
| feurtab.fd / cogfiles.cpy | Tabella generica COGTABEL |
| mmmask.cpy + standard (wstato, wgrave, wnscr, wopenf, cogazien, utilncnf) | Programma standalone |
Chiamate a sottoprogrammi¶
| Programma | Scopo |
|---|---|
| COGU10W | Recupero/conversione divisa di conto |
| COGS25 | Numeratore documenti: numero del documento di contabilita' analitica (s25-i-cod = 44, per anno/mese) |
| GRIDADMN | Amministrazione avanzata della griglia di dettaglio (export Excel, colonne) |
| W$MENU | Menu pop-up contestuale sulla griglia |
Logica di elaborazione¶
Validazione commessa (x-controlla-tm-tsc-cod)¶
Inserito il codice commessa (tm-tsc-cod), il programma risale alla catena commessa → articolo →
centro di costo → costo orario:
- Legge la testata commessa su COGTESCM (descrizione breve in
tm-tsc-des). - Recupera l'articolo collegato alla commessa da COGTCMAG e ne verifica l'esistenza su COGMERCI.
- Dai dati avanzati articolo COGMERAP ricava il centro di costo (
map-cc); se assente blocca con "Centro di costo Articolo inesistente". - Dal centro di costo risale, via COGTABEL tipo 18 e COGCCOPR, al conto di acquisto
del centro di costo (
tm-conto-cc-acq, formatoliv1/liv2/liv3 descrizione). - Determina il costo orario (
cerca-costo-orario).
Costo orario (cerca-costo-orario)¶
Legge il listino fornitori COGLISFO per l'articolo della commessa, fornitore interno
(az-for-int) e data fine periodo (tm-data-fin), scorrendo all'indietro (rdprv) fino al
primo prezzo non nullo, che diventa il costo orario (tm-costo-orario). Se non viene trovato,
blocca con "Costo orario Articolo non trovato".
Riepilogo e quadratura (calcola-riepilogo)¶
Scorre la griglia di dettaglio (t-grid-det) e somma ore e valori distinguendo le righe
finanziate (t-gor-r-finanz = "S") da quelle libere:
- ore finanziate / ore libere (
tm-tot-ore-finan,tm-tot-ore-libero); - valore corsi finanziati / valore libero (
tm-tot-corsi-fin,tm-tot-libero-merc); - totale generale (
tm-totali).
La spesa personale (tm-tot-spe-pers) e' la differenza tra il totale movimento
(tm-tot-movimento) e il totale dei valori. Se il totale dei valori eccede il totale movimento
viene mostrato l'avviso "Totale Corsi maggiore di Totale Movimento" e l'aggiornamento e' inibito.
Caricamento movimenti (carica-dati)¶
Richiamato dalla creazione del file di transito della griglia
(z-grid-det-crea-transito). Crea/azzera il file temporaneo COGTRANS
(#$cogb74_<ora>.<oper>) e scorre COGMOVCC filtrando per intervallo date
(tm-data-ini..tm-data-fin) e commessa (cdc-commessa = tm-tsc-cod), accumulando il
totale movimento (tm-tot-movimento). I movimenti della commessa nel periodo
vengono riversati nel transito e caricati in griglia come base per la ripartizione.
Salvataggio documento Co.An. (b-aggiorna)¶
Genera il documento di contabilita' analitica:
- Numero documento da COGS25 (
s25-i-cod = 44, anno/mese del periodo) ->w-doc-num. - Riga spese personale: se
tm-tot-spe-pers <> 0scrive un movimento COGMOVCC in Dare (cdc-segno = "D") sul conto coge spese (tm-cfg-coge-spese) e centro di costo coan (tm-cfg-coan-spese), con reparto da COGCCOPR e flagcdc-fl-solo-ca = "A". - Contropartite: scorre il transito COGTRANS (movimenti Co.An. originali della commessa) e per ciascuno scrive un movimento con segno opposto (D<->A), stessi conto/centro di costo/importo.
- Righe ore: scorre la griglia (
t-grid-det) e per le righe con ore valorizzate (t-gor-r-ore <> 0) scrive un movimento in Dare con il conto acquisti coge della merce (COGTABEL tipo 16 damer-contr-for) e il conto/centro di costo coan (COGTABEL tipo 18 damap-cc), valorizzandocdc-oreecdc-costo-orario.
Al termine notifica "Creato Documento CO.AN. : 99999999/
Note¶
- Il programma usa
mmmask.cpy(standalone con gestione finestra propria). - I conti/centri di costo delle spese personale (
tm-cfg-coge-spese,tm-cfg-coan-spese) sono parametri di configurazione caricati all'avvio. - Vedere anche tempo812 per l'inizializzazione dei campi
cdc-ore/cdc-costo-orariosu COGMOVCC. - I documenti generati si consultano con COGB78 (elenco per periodo) e COGB79 (dettaglio del singolo documento).
Storico modifiche¶
2026-06-26 -- Implementazione caricamento e salvataggio documento Co.An.¶
I paragrafi carica-dati e b-aggiorna, in precedenza ridotti a scheletro, sono stati
implementati: carica-dati legge i movimenti COGMOVCC della commessa nel periodo
(transito COGTRANS, totale movimento), b-aggiorna crea il documento di contabilita'
analitica (numeratore COGS25 cod 44) scrivendo la riga spese personale, le contropartite
a segno opposto dei movimenti originali e le righe ore valorizzate al costo orario.
Aggiunti l'uso di COGMOVCC (I-O), del file di transito COGTRANS e di COGTABEL tipo 16.
Documentazione tecnica -- aggiornata 2026-06-26