Gestione impegni laboratorio odontotecnico¶
Sistema di pianificazione della capacita' produttiva del laboratorio odontotecnico. Gestisce l'allocazione del lavoro per reparto, operatore e periodo, dalla definizione della struttura organizzativa fino al tracciamento dell'esecuzione.
Indice¶
- Struttura organizzativa
- Definizione capacita'
- Allocazione impegni su commesse
- Pianificazione operativa
- Esecuzione e tracciamento
- Riconciliazione e ricalcolo
- Tabelle principali
- Programmi
- Configurazioni
1. Struttura organizzativa¶
La struttura si basa su tre livelli gerarchici:
Reparto (COGTABEL tipo 85 / COGF11)
└── Sottoreparto o Mansione (LODTABEL tipo 11 / COGF12)
└── Operatore (COGZC4)
Reparto (COGF11)¶
Unita' organizzativa del laboratorio (es. Ceramica, Metallo, Resina). Codice di 1 carattere alfanumerico.
Ogni reparto puo' avere: - Magazzino di competenza — per visualizzare movimenti e giacenze del reparto - Conti contabili — merci acquisto e IVA acquisto (per contabilizzazione) - Tipo reparto — Primario (P) o Secondario (S), se gestione contropartite attiva - Divisione area commerciale — se gestione consorzi attiva - Capacita' produttiva per sede — fino a 10 sedi, con impegno massimo per ciascuna (LODIMPRS) - Periodi di budget — pianificazione capacita' per periodi temporali (via COGF1A) - Modo evasione — Automatico (A) o Manuale (M), in modalita' progettazione
Sottoreparto / Mansione (COGF12)¶
Suddivisione del reparto per competenza specifica. Codice di 2 caratteri.
La chiave composta e': reparto (1 char) + sottoreparto (2 char), es. "1" + "01" = sottoreparto 01 del reparto 1.
Ogni sottoreparto definisce: - Unita' di misura — tipicamente "Minuti" per mansioni temporali, oppure unita' personalizzate - Impegno massimo per sede — capacita' produttiva giornaliera massima, differenziata per sede (fino a 4 sedi operative) - Modo evasione — come gli impegni vengono evasi
In modalita' B (is-modo = "B"), il sottoreparto assume il significato di mansione: il campo "impegno" diventa "impegno per unita'" (tempo per produrre una unita' per la mansione).
Operatore (COGZC4)¶
Persona fisica assegnata a un reparto/sottoreparto. Codici da 001 a 999. Gestita da COGZC4, richiamabile da COGF12 con F6.
2. Definizione capacita'¶
Concetto di sede operativa¶
La pianificazione della capacita' richiede di sapere dove si produce. Il concetto di "sede" nel gestionale ha pero' due significati distinti:
| Significato | Campo | Scopo |
|---|---|---|
| Sede amministrativa | magz-fl-sede |
Raggruppa magazzini per il calcolo del prezzo ultimo/medio acquisto. Ogni magazzino confluisce i movimenti di acquisto nella sede di riferimento (magz-sede). Usata dalla contabilita' |
| Sede operativa | (da implementare) | Identifica i luoghi fisici dove si svolge la produzione. Usata dalla pianificazione impegni |
Situazione attuale e limiti¶
Inizialmente la pianificazione usava magz-fl-sede = "S" per individuare le sedi, ma questo campo ha semantica amministrativa: un magazzino puo' essere "sede" ai fini del prezzo medio senza essere un luogo di produzione (e viceversa). Le due esigenze confliggevano.
Con il TASK-1157 (2025-05-25) il filtro su magz-fl-sede e' stato rimosso sia da COGF11 che da COGF12. Ora vengono considerati come sedi operative tutti i magazzini con magz-tipo = "M". Questo risolve il conflitto con la logica amministrativa, ma introduce un effetto collaterale: anche magazzini logici, di appoggio o transito vengono elencati come sedi operative.
Evoluzione prevista¶
Verra' introdotto un nuovo campo "flag sede operativa" su COGMAGAZ, distinto da magz-fl-sede, per identificare esplicitamente i magazzini che sono sedi di produzione. COGF11 e COGF12 filtreranno su questo nuovo flag, risolvendo definitivamente la sovrapposizione tra sede amministrativa e sede operativa.
Caricamento sedi¶
All'apertura, COGF11 e COGF12 caricano le sedi scorrendo COGMAGAZ con magz-tipo = "M":
- COGF11: carica fino a 10 sedi nell'array
w-ele-mag - COGF12: carica fino a 98 sedi (
k-max-sedi), ma la griglia mostra solo 4 colonne
Con odonto/gestione-multi-sede = "N" (mono-sede), l'unica sede e' az-main-mag (magazzino principale dell'azienda). Le colonne impegno sono facoltative.
Con odonto/gestione-multi-sede = "S" (multi-sede), ogni sede ha la propria colonna con intestazione dinamica che riporta il nome del magazzino. Le capacita' sono obbligatorie.
Capacita' base (per sede)¶
Definita in COGF11 (colonne imp-max1..10) e COGF12 (colonne imp-max1..4), memorizzata in LODIMPRS:
| Campo | Tipo | Descrizione |
|---|---|---|
irs-sede |
x(01) | Codice magazzino/sede operativa |
irs-reparto |
x(01) | Codice reparto |
irs-sottoreparto |
x(02) | Codice sottoreparto (spaces = livello reparto) |
irs-imp-max |
9(06)v99 | Impegno massimo giornaliero |
LODIMPRS viene scritto/aggiornato solo se la gestione laboratorio e' attiva (az-ges-lo = "S") e la modalita' e' "B" (labimp/is-modo = "B").
Mono-sede: un solo record LODIMPRS con irs-sede = az-main-mag, valore da imp-max1.
Multi-sede: un record per ogni sede, valore dalla colonna corrispondente (imp-max1 → sede 1, imp-max2 → sede 2, ecc.).
Capacita' per periodo (COGF1A)¶
Quando la modalita' di progettazione e' "C" (abilita/labod-progettazione = "C"), la capacita' puo' essere pianificata per periodi temporali. Il programma COGF1A, richiamabile con S-F7 dai campi impegno di COGF11, gestisce il budget per periodo:
- Periodi mensili, trimestrali o personalizzati
- Tetto massimo di minuti/ore allocabili per reparto nel periodo
- Controllo in fase di preparazione commessa: se l'impegno supererebbe il budget, viene segnalato
Contropartite (COGD91)¶
Se la gestione contropartite e' attiva (az-ccopr = "S"), ogni reparto puo' avere reparti contropartita definiti in base alla tipologia di cliente. Gestiti da COGD91, richiamabile con F11 da COGF11.
Le contropartite servono per la contabilizzazione: il costo di un reparto viene ribaltato sul reparto contropartita in base al tipo cliente della commessa.
Ribaltamento (COGG76)¶
La funzione di ribaltamento (F12 da COGF11) consente di replicare la struttura di un reparto (sottoreparti, capacita', contropartite) verso altre sedi o reparti. Disponibile solo con contropartite attive.
3. Allocazione impegni su commesse¶
Flusso di allocazione¶
Quando viene preparata una commessa di laboratorio (COGZ41/COGZD1 — Preparazione commessa):
- Il sistema legge il piano di fabbricazione (COGZ20) associato all'articolo
- Per ogni fase del piano, determina il reparto e il sottoreparto responsabili
- Calcola il tempo necessario (in minuti) in base alla complessita' del lavoro
- Crea i record di impegno in LODCMASI con:
- Commessa, riga, progressivo
- Reparto e sottoreparto assegnati
- Data prevista (
lci-data-imp) - Minuti di impegno (
lci-impegno) - Stato = " " (pendente)
Record LODCMASI¶
| Campo | Tipo | Descrizione |
|---|---|---|
lci-commessa |
9(10) | Numero commessa |
lci-lcv-prog |
9(04) | Progressivo sotto-articolo |
lci-prog |
9(04) | Progressivo articolo su prescrizione |
lci-reparto |
x(01) | Reparto assegnato |
lci-sottorep |
x(02) | Sottoreparto/mansione |
lci-data-imp |
9(08) | Data impegno pianificata |
lci-impegno |
9(06)v99 | Minuti di impegno previsti |
lci-fl-evaso |
x(01) | Stato: " "=Pendente, "I"=In corso, "E"=Evaso |
lci-data-eva |
9(08) | Data effettiva di evasione |
lci-ora-eva |
9(04) | Ora effettiva di evasione |
4. Pianificazione operativa¶
Viste per reparto¶
| Programma | Funzione | Accesso |
|---|---|---|
| COGZC7 | Commesse per reparto/giorno | Visualizza tutte le commesse assegnate al reparto per una data, con fasce orarie e sequenza |
| COGZCJ | Agenda impegni per reparto | Vista calendario degli impegni organizzati per reparto |
| COGZCR | Stampa agenda per reparto | Versione stampabile dell'agenda reparto |
| COGZDD | Lista impegni per reparto | Elenco completo degli impegni pendenti/attivi, con totali capacita' consumata e disponibile |
Viste per operatore¶
| Programma | Funzione | Accesso |
|---|---|---|
| COGZCB | Commesse per operatore/giorno | Tutte le commesse assegnate all'operatore per una data |
| COGZCC | Stampa agenda operatore | Versione stampabile dell'agenda operatore |
| COGZC5 | Dettaglio impegni per commessa | Breakdown minuto per minuto per commessa/riga con assegnazioni operatore |
Viste per commessa¶
| Programma | Funzione | Accesso |
|---|---|---|
| COGZC8 | Impegni su commessa | Drill-down dalla commessa ai singoli impegni allocati |
Gestione semplificata vs avanzata¶
| Programma | Modalita' | Descrizione |
|---|---|---|
| COGZ1A | Semplificata | Gestione base degli impegni (inserimento, modifica, cancellazione) |
| COGZC2 | Avanzata | Pianificazione completa con ottimizzazione capacita' |
| COGZC3 | Per operatore | Analisi carico di lavoro per operatore con distribuzione |
5. Esecuzione e tracciamento¶
Ciclo di vita dell'impegno¶
Pendente (" ") → In corso ("I") → Evaso ("E")
- Pendente: l'impegno e' pianificato ma non ancora iniziato
- In corso: l'operatore ha preso in carico il lavoro (via barcode o manuale)
- Evaso: il lavoro e' completato; vengono registrate data e ora effettive
Modalita' di evasione¶
L'operatore puo' segnare un impegno come completato: - Dall'avanzamento commessa (COGZ45): scansione barcode dell'impegno - Dalla lista impegni (COGZDD): selezione e conferma manuale - Dalla gestione impegni (COGZC2/COGZ1A): modifica diretta dello stato
Calcolo capacita' residua¶
La capacita' residua per un reparto/periodo e' calcolata come:
Capacita' disponibile = Budget periodo (COGF1A)
- Impegni evasi (lci-fl-evaso = "E")
- Impegni pendenti (lci-fl-evaso = " ")
- Impegni in corso (lci-fl-evaso = "I")
6. Riconciliazione e ricalcolo¶
COGZCQ — Ricostruzione impegni¶
Utility di ricalcolo che ricostruisce tutti gli impegni a partire dalle commesse. Necessario quando: - Commesse completate in anticipo o in ritardo - Impegni frazionati tra piu' giorni - Modifiche retroattive alla pianificazione
Ricalcola: date impegno (lci-data-imp), quantita' (lci-impegno), allineando i record LODCMASI con lo stato reale delle commesse.
7. Tabelle principali¶
| Tabella | Copybook | Contenuto |
|---|---|---|
| COGTABEL tipo 85 | cogtabel | Anagrafica reparti (codice 1 char, descrizione, magazzino, conti, tipo) |
| LODTABEL tipo 11 | lodtabel | Anagrafica sottoreparti (codice 2 char, descrizione, UM, impegno base) |
| LODIMPRS | lodimprs | Capacita' massima per sede/reparto/sottoreparto |
| LODCMASI | arplodcmasi | Impegni allocati su commesse (dettaglio per fase/data/operatore) |
| COGCPRTC | cogcprtc | Contropartite tra reparti per tipologia cliente |
8. Programmi¶
Definizione struttura¶
| Programma | Tipo | Funzione |
|---|---|---|
| COGF11 | Archivio | Gestione reparti operativi (capacita' per sede, contropartite, periodi) |
| COGF12 | Archivio | Gestione sottoreparti/mansioni (capacita' per sede, UM) |
| COGF1A | Archivio | Gestione budget capacita' per periodo |
| COGZC4 | Archivio | Gestione operatori per reparto/sottoreparto |
| COGZ1B | Archivio | Mansioni per reparto/commessa |
| COGD91 | Archivio | Contropartite per reparto e tipo cliente |
| COGG76 | Utility | Ribaltamento struttura reparto tra sedi |
Pianificazione e visualizzazione¶
| Programma | Tipo | Funzione |
|---|---|---|
| COGZC2 | Operativo | Pianificazione impegni avanzata |
| COGZ1A | Operativo | Gestione impegni semplificata |
| COGZC7 | Visualizzazione | Commesse per reparto/giorno |
| COGZCB | Visualizzazione | Commesse per operatore/giorno |
| COGZCJ | Visualizzazione | Agenda impegni per reparto |
| COGZC5 | Visualizzazione | Dettaglio impegni per commessa |
| COGZC3 | Visualizzazione | Impegni per operatore (analisi carico) |
| COGZC8 | Visualizzazione | Impegni su commessa |
| COGZDD | Visualizzazione | Lista impegni per reparto (con totali capacita') |
Stampe¶
| Programma | Tipo | Funzione |
|---|---|---|
| COGZCC | Stampa | Agenda giornaliera operatore |
| COGZCR | Stampa | Agenda giornaliera reparto |
Utility¶
| Programma | Tipo | Funzione |
|---|---|---|
| COGZCQ | Utility | Ricostruzione/ricalcolo impegni |
9. Configurazioni¶
| Gruppo | Parametro | Valori | Effetto |
|---|---|---|---|
labimp |
is-modo |
"B" = Lab mode | In modalita' B il sottoreparto diventa "mansione", l'impegno diventa "impegno per unita'" |
odonto |
gestione-multi-sede |
"S"/"N" | Abilita capacita' differenziata per sede (fino a 10 sedi in COGF11, 4 in COGF12) |
abilita |
labod-progettazione |
"C" = Progettazione | Abilita gestione periodi di budget (S-F7) e campo modo evasione |
abilita |
labod-impegni |
"S"/"N" | Abilita l'intero modulo impegni |
Tre modalita' operative¶
| Modalita' | Configurazione | Caratteristiche |
|---|---|---|
| Standard | is-modo != "B", progettazione != "C" | Reparti e sottoreparti semplici, capacita' base |
| Lab mode B | is-modo = "B" | Sottoreparti come mansioni, impegno per unita', UM personalizzabili |
| Progettazione C | progettazione = "C" | Budget per periodi (COGF1A), modo evasione obbligatorio, S-F7 attivo |