Microsoft Excel

Microsoft Excel

martedì 6 gennaio 2015

Scrivere uno "Schema di Contratto" con l’aiuto di Excel e “Excel Power Query”


Nella realizzazione di Opere Pubbliche e nell’edilizia in genere, lo “Schema di Contratto” disciplina i rapporti tra Committente e Esecutore riguardo ai lavori da realizzare. Lo Schema di Contratto regola anche i rapporti tra Committente e Esecutore riguardo alle clausole di esecuzione dei lavori e agli obblighi dell’esecutore, se questi non sono regolati dal Capitolato Generale. Quest’ultimo, se redatto, deve essere allegato allo “Schema di Contratto”, del quale costituisce parte integrante.
Supponiamo che un Contract Manager venga incaricato di redigere uno “Schema di Contratto” per un’opera edile.
Necessario che il C.M. conosca i riferimenti normativi quali il Codice Civile; il Dlgs. 163/2006, “Codice dei contratti pubblici relativi a lavori, servizi e forniture”; il Decreto del Presidente della Repubblica 5 ottobre 2010, n. 207, “Regolamento di esecuzione ed attuazione del decreto legislativo 12 aprile 2006, n. 163”; e il “Capitolato Generale” decreto ministeriale 19 aprile 2000, n. 145.
Il Codice e il Regolamento disciplinano (il primo) e regolamentano (il secondo) tutta la procedura, dalla programmazione di un’opera al collaudo finale. La parte (più) relativa alla esecuzione del Contratto è la Parte II, titolo I, capo V e titolo III capo I del Codice e la Parte II, titolo VII e titolo VIII, IX, X, del D.P.R. 207/2010. L’art. 43 del D.P.R. 207/2010 definisce i contenuti dello “Schema di Contratto”:
Lo schema di contratto contiene, per quanto non disciplinato dal presente regolamento e dal capitolato generale, se menzionato nel bando o nell’invito, le clausole dirette a regolare il rapporto tra stazione appaltante ed esecutore, in relazione alle caratteristiche dell'intervento con particolare riferimento a:
a) termini di esecuzione e penali;
b) programma di esecuzione dei lavori;
c) sospensioni o riprese dei lavori;
d) oneri a carico dell’esecutore;
e) contabilizzazione dei lavori a misura e a corpo;
f) liquidazione dei corrispettivi;
g) controlli;
h) specifiche modalità e termini di collaudo;
i) modalità di soluzione delle controversie.
Lo “Schema di Contratto” deve dunque contenere i punti elencati nel sopracitato art.43 nonchè tutti gli obblighi dell’esecutore riguardo ai lavori da eseguire. Il Contract Manager deve “estrapolare” tutto questo dalla Normativa e “riassumere” tutto in un documento completo di una ventina di pagine circa.
Per prima cosa consiglio di leggere il file allegato perché possiamo chiarire alcuni aspetti che devono essere presenti nei contratti.
Per redigere un documento del genere è necessario conoscere la Normativa e avere esperienza.

Per “estrapolare” i dati seguire la seguente procedura:
1.       Importare in Excel il testo della legge, in modo che ogni cella di Excel contenga un singolo articolo del Codice degli Appalti.
Per fare questo operare nel modo seguente:
1.1   Istallare l’add-in di Excel “Power Query” (per Excel 2010, 2013)
1.2   Cercare su Internet un file xml della legge aggiornata. Io ad esempio ho esportato il file xml da www.normattiva.it
1.3   Salvare il file xml in una cartella del vs. computer
1.4   Nella barra degli strumenti di Excel Power Query → Recupera Dati Esterni →  Da file → Da xml

Il file xml è un file di testo che contiene dati. I dati sono “strutturati” utilizzando apposita sintassi.
Questa struttura permette ai file xml di essere utilizzati per scambiare dati tra le più diverse tipologie di programmi.
Il file xml importato contiene tutta la normativa. Una volta “destrutturato” il dato con “Excel Power Query”, avremo ogni articolo della legge in una diversa cella di excel. Vediamo come arrivare a questo.
 


 
1.5  Interroghiamo la tabella (cioè un insieme strutturato di dati) procedendo come nell'immagine

Otteniamo un’altra serie di tabelle che dobbiamo continuare a interrogare nello stesso modo.
 

1.6  Interroghiamo la tabella “Legge.articolato.capo”: si ottiene il sommario della legge e delle altre tabelle sotto “Legge.articolato.capo.articolo”. Terminando adesso la query otteniamo per risultato il caricamento di 40 celle di excel contenenti il sommario della legge.

Proseguendo invece la query e interrogando la tabella “Legge.articolato.capo.articolo” si ottiene il caricamento di 273 celle di excel con il numero progressivo dei 257 articoli della legge e altre tabelle sotto “Legge.articolato.capo.articolo”.

Continuiamo ad interrogare la query fino ad interrogare le tabelle della colonna “Legge.articolato.capo.articolo.comma.corpo.http://www.w3.org/HTML/1998/html4.p.Element:Text” sotto riportate.
Risultato della query è l’intera legge in celle di Excel.
2.     Verifichiamo se il Contratto che abbiamo redatto è completo. Un Contratto completo deve sicuramente contenere tutti i rapporti tra esecutore e appaltatore. Per cercare nella legge tutti gli articoli con la parola “esecutore” seguire la procedura:
2.1   Rinominare la colonna che contiene il testo della legge. 

2.2 Aggiungere una nuova colonna personalizzata, “FindString” → inserisci nella formula colonna personalizzata: each Text.Contains ([Testodellalegge], "esecutore") → ogni cella della colonna “FindString” contiene VERO o FALSO a seconda che l’art. contenga o meno la parola “esecutore”.



  2.3   Modificare il tipo di dato della colonna “FindString” che deve diventare un tipo logico → selezionare la colonna → selezionare “logico” da tipo di dati tabella nella barra multifunzione

  2.4   Aggiungiamo una nuova colonna personalizzata, con la formula: each if not [FindString]  then "NOTFOUND" else [Testodellalegge]



             2.5   Il risultato finale è del tipo



  
Per finire alcune note:
1. ho omesso, per brevità, il codice completo associato alla query.
2.  la precisione dipende dal file xml importato (dalla sua struttura).
3.  Ho inteso solo mostrare un modo di procedere: per la verifica del Contratto la procedura va applicata in primis con il regolamento e ripetuta per più “parole chiave”.

Da notare infine che adesso disponiamo di tutto il Codice e il Regolamento in Excel formato tabella. Questo sarà molto utile per il ns. C.M.

Buon Lavoro
Daniele