# Direttiva Architetturale: Mapping Anagrafico e Contabile Legacy Gescon ## 1. Collegamento tra `condomin` e `comproprietari` - **Campo primario**: `id_cond` - **Regola tassativa**: La tabella `comproprietari` deve essere collegata alla tabella `condomin` **esclusivamente** tramite il campo `id_cond`. - **Esempio Stabile 0016 (Interno B/4)**: - `condomin`: `id_cond = 47`, `cod_cond = 50`, `scala = B`, `int = 4`, `nom_cond = Barone Michele`, `perc_diritto_reale = 50` - `comproprietari`: `id_cond = 47`, `nom_cond = Francioni Claudia`, `email = cecilia.tordini@gmail.com`, `perc_diritto_reale = 50` - Risultato unificato: Int. B/4 -> **Barone Michele (50% Comproprietà)** e **Francioni Claudia / Cecilia Tordini (50% Comproprietà)**. - Divieto: È vietata qualsiasi associazione tra `comproprietari` e `condomin` basata sul campo `cod_cond`, in quanto `cod_cond` è il progressivo contabile della singola gestione e può identificare un'altra unità in quell'anno (es. `cod_cond = 47` appartiene all'interno E - Giovagnoni Marina). ## 2. Collegamento Contabile (`incassi`, `rate`, `emes_det`) - **Campo contabile per anno gestione**: `cod_cond` - **Distinzione ruolo contabile**: `cond_inquil` - `'C'`: Condomino / Proprietario - `'I'`: Inquilino / Locatario - **Funzione**: Il campo `cod_cond` accoppiato con `cond_inquil` lega in maniera univoca ciascuna riga di addebito o incasso (`incassi`, `rate`, `emes_det` in `generale_stabile.mdb`) all'anagrafica del condomino o dell'inquilino per quella specifica gestione. ## 4. Dati Catastali Stabile (`Stabili.mdb` - Prefisso `AC_`) - **Estrazione da `Stabili.mdb`**: - `AC_Foglio` -> `foglio` (es. `404`) - `AC_partic1` / `AC_partic2` -> `particella` (es. `98`, `96`, `49`) - `AC_urb_cat` -> `sezione` (es. `H501`) - `Catasto_comune` -> `codice_comune` (es. `Roma`, `H501`) - `Catasto_PR` -> `provincia` (es. `RM`) - **Gestione Sezioni Catastali Multiple / Palazzine**: - Negli stabili articolati o supercondomini (es. Milizie 3 / 0021 con Palazzina D in altra sezione/particella), la configurazione avanzata dello stabile conserva l'array `altri_riferimenti_catastali`. - Ciascun riferimento sezionale o di palazzina specifica `descrizione`, `foglio`, `particella`, `sezione`, `subalterno`, consentendo l'aggancio diretto alle rispettive unità immobiliari. ## 5. Tabelle Millesimali da Legacy (`tabelle` e `dett_tab` in `singolo_anno.mdb`) - **Tabella definizioni**: `tabelle` con campi `cod_tab`, `des_tab`, `totale`. - **Tabella dettagli ed attribuzione**: `dett_tab` con campi `cod_tab`, `id_cond`, `cond_inquil`, `mm`. - **Regola di collegamento**: - `tabelle.cod_tab` si lega a `dett_tab.cod_tab`. - `dett_tab.id_cond` si lega tassativamente a `condomin.id_cond` dell'unità immobiliare per quella specifica gestione. - `dett_tab.cond_inquil` (`'C'` Condomino, `'I'` Inquilino) attribuisce i millesimi (`mm`) al soggetto titolare. ## 6. Principio di Deterministicità Assoluta (Regola Commercialista) - **Divieto di Fallback o Date Fittizie**: È tassativamente vietato inventare date fittizie (es. `01/01/2000` o `01/01/2026` ripetute) o stimare ruoli non presenti negli archivi MDB. - **Trattamento dati mancanti**: Se una relazione o una data di decorrenza non è presente negli archivi consolidati, il sistema deve riportare unicamente le gestioni storiche certe (es. `Gestioni 0004, 0005, 0909, 0912, 0913, 0914`) oppure restituire `BLOCCO_DATI`. I dati devono essere certificabili e certi al 100%.