42
ISSN 2239-5172 La rendicontazione dei progetti europei nel Settimo Programma Quadro Un sistema integrato web-based e la proposta di integrazione con il sistema informativo CNR Luigi Mazari Villanova [email protected] Consiglio Nazionale delle Ricerche Dipartimento Terra e Ambiente Roma, 11 luglio 2011 DTA/04-2011

La rendicontazione dei progetti europei nel Settimo Programma Quadro

Embed Size (px)

DESCRIPTION

Un sistema integrato web-based e la proposta di integrazione con il sistema informativo CNR

Citation preview

Page 1: La rendicontazione dei progetti europei nel Settimo Programma Quadro

ISSN 2239-5172

La rendicontazione dei progettieuropei nel Settimo Programma

QuadroUn sistema integrato web-based e la proposta di integrazione con ilsistema informativo CNR

Luigi Mazari [email protected]

Consiglio Nazionale delle RicercheDipartimento Terra e Ambiente

Roma, 11 luglio 2011

DTA/04-2011

Page 2: La rendicontazione dei progetti europei nel Settimo Programma Quadro

Ringrazio Pier Francesco Moretti, Rodolfo Carloni, Giuseppe Cavarret-ta ed Enrico Brugnoli che hanno permesso, ognuno per differenti motivi, larealizzazione di quanto riportato in questo rapporto.

Dipartimento Terra e Ambiente Scritto e curato daP.le Aldo Moro 7 - 00185Tel. 06 4993 3836 - Fax. 06 4993 3887 Luigi Mazari Villanovadta.cnr.it

Page 3: La rendicontazione dei progetti europei nel Settimo Programma Quadro
Page 4: La rendicontazione dei progetti europei nel Settimo Programma Quadro

Indice

1 Due esempi di rendicontazione FP7: COPAL ed ERA-ENVHEALTH 31.1 La rendicontazione del tempo-uomo . . . . . . . . . . . . . . 41.2 Il computo dei totali e il form C . . . . . . . . . . . . . . . . . 61.3 Vantaggi del procedimento descritto e passi da fare . . . . . 10

2 Il prototipo dimostrativo 132.1 il Responsabile Scientifico: gestione del progetto . . . . . . . 132.2 il Ricercatore: Imputazione di tempo uomo . . . . . . . . . . 172.3 Il Responsabile Amministrativo: gestione amministrativa del

progetto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3 Conclusioni 26

4 riferimenti 27

A Listato dello script di rendicontazione 29

Page 5: La rendicontazione dei progetti europei nel Settimo Programma Quadro

Introduzione

La rendicontazione, in particola-re dei progetti europei, e una seriedi azioni semplici che coinvolgonol’interazione di differenti attori.

Nel presente documento si de-scrive come nel corso degli ultimitre anni all’interno del Dipartimen-to Terra e Ambiente si e operato perschematizzare le figure che operanonei progetti finanziati su fondi ester-ni, in particolare quelli del 6th e 7thFrame Program (FP6 e FP7).

Fino allo scorso decennio, i fon-di che pervenivano agli Enti di Ri-cerca da parte degli Enti vigilantierano sufficienti a coprire le spesedi funzionamento (la cosiddetta hardmoney) ma anche le voci di spesadelle attivita piu pertinenti alla Ri-cerca, come ad esempio l’acquisto eil mantenimento di strumentazione(soft money).

Queste modalita di finanziamen-to sono divenute tanto piu comunie necessarie per le attivita di ricer-ca tanto sono diminuite negli ultimianni le fonti interne di finanziamen-to. La partecipazione ad iniziativedi finanziamento a bando, sia nazio-nali che internazionali, e diventatacosı una necessita sempre piu pres-sante per poter finanziare quelle at-tivita di ricerca strumentale che nonavrebbero dunque trovare spazio.

Tale necessita spinge i ricercato-ri a organizzarsi e a collaborare conle piu importanti istituzioni di ricer-ca a livello europeo, e come conse-guenza abbiamo che il numero diprogetti finanziati aumenta negli an-ni, e con esso il posizionamento delCNR a livello europeo. Le proposteprogettuali che partecipano ai bandinazionali e internazionali sono sem-pre meglio piu composte, non so-lo collazioni di documenti, ma verie propri progetti di ricerca, con ve-ri partenariati che collaborano con ilCNR sempre piu spinto a fare fron-te comune, grazie alle attivita di coe-sione e coordinamento proprie deiDipartimenti.

La differente attitudine dei Ri-cercatori verso la proposta proget-tuale e la sua rendicontazione e ine-vitabilmente collegata alla differen-te tipologia di lavoro che le due fa-si richiedono. La fase di propo-sta di progetto prevede delle azio-ni di difficile standardizzazione, conil contatto e la ricerca dei partner,la scelta della migliore opportunitadi finanziamento, la programmazio-ne delle attivita di ricerca. La rendi-contazione invece, una volta stabili-te le regole dettate dalla fonte di fi-nanziamento, e sempre uguale a sestessa, quanto piu distante ci pos-

Page 6: La rendicontazione dei progetti europei nel Settimo Programma Quadro

INDICE

sa essere dalla ricerca. Questo difet-to e anche un pregio quando a unastandardizzazione si fa seguire unaautomazione dei processi, offrendouna semplificazione delle procedureper richiedere il rimborso delle spe-se sostenute e soprattutto del tempouomo.

Il lavoro descritto nel presentereport riporta, nel primo Capitolo, ilprotocollo che nel corso degli ultimitre anni e stato concepito e che razio-nalizza i processi di rendicontazio-ne in una serie di passaggi “offline”,consistenti in fogli di calcolo preim-postati che poi vengono raccolti dalResponsabile Scientifico.

Viene poi proposto nel Capi-

tolo 2 un avanzamento tecnologi-co, che utilizza una pagina web alposto dei fogli di calcolo, e raffi-na ulteriormente mantiene la sche-matizzazione presentata nel Capi-tolo 1. Unendo le competenzetecnico-informatiche presenti negliuffici della amministrazione centraledel CNR, quelle gestionali presentisia nell’amministrazione centrale siadelocalizzate in ognuno degli Istitutidella rete, e quelle piu propriamen-te di Ricerca propria della rete degliIstituti del CNR, si potra avere unaconcreta semplificazione nella ren-dicontazione dei progetti europei enon.

2

Page 7: La rendicontazione dei progetti europei nel Settimo Programma Quadro

Capitolo 1

Due esempi di rendicontazioneFP7: COPAL edERA-ENVHEALTH

L’ufficio del Dipartimento Terrae Ambiente e attivamente coinvol-to sin dal loro avvio in due pro-getti del Settimo Programma Qua-dro (o Seventh Frame Program, FP7)dell’Unione Europea (UE):

• COmmunity heavy-PAyloadLong endurance InstrumentedAircraft for Tropospheric Resear-ch in Environmental and Geo-Sciences - COPAL, un prepara-tory phase per i progetti nellaRoadmap ESFRI del 2006;

• Coordination of national en-vironment and health resear-ch programmes – Environmentand health ERA-NET - ERA-ENVHEALTH, un Eranet ri-guardante le aree ambiente esalute.

E emersa da subito l’esigenza diavere un sistema integrato di rendi-contazione che permettesse il riscon-tro puntuale delle tempo-uomo im-

piegato nei due progetti. Tale esi-genza era dovuta, oltre alla necessitadi razionalizzare il flusso di infor-mazioni legate al processo di rendi-contazione, anche al coinvolgimen-to nei due progetti di Responsabi-li Scientifici non facenti parte dellostaff di Dipartimento, afferenti a dueIstituti della rete scientifica.

Il lavoro di integrazione e se-lezione delle informazioni rilevan-ti e stato, come sempre avviene, af-finato nel tempo, modificando, direndicontazione in rendicontazione,il metodo e la forma con i qua-li venivano richieste e aggregate leinformazioni.

Nel presente capitolo viene de-scritto quanto realizzato e utilizzatoper effettuare le rendicontazini finoa tutto il 2010.

Page 8: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 1. DUE ESEMPI DI RENDICONTAZIONE FP7: COPAL ED

ERA-ENVHEALTH

1.1 La rendicontazionedel tempo-uomo

La prima ipotesi di modellodi rendicontazione per ERA-ENVHEALTH risale alla fine delprimo anno di attivita.

Nell’estate 2009 si propone ai Ri-cercatori coinvolte nel progetto unacartella excel che comprende i datisalienti del progetto: un foglio cheelenca i Work Package (WP, Figura1.1), uno che elenca i task (Figura1.2) e uno che elenca i deliverables (Fi-gura 1.3). Per i WP sono indicati,oltre al titolo, i mesi di inizio e difine delle attivita, come previsti nelDocument Of Work (DOW) del pro-getto, con l’indicazione dei mesi uo-mo rendicontabili da parte del CNRnell’ambito del progetto. In manieradel tutto analoga vengono riportati ititoli dei i task in Figura 1.2, i perio-di di attivita in mesi dall’inizio delprogetto, e se vi siano attivita CNRassociate (VERO o FALSO nella co-lonna “mesi CNR”). Per i deliverablesviene invece indicato il solo mese diconsegna.

Al Ricercatore viene richiesto diriempire il foglio di cui si puo ve-dere un esempio in Figura 1.4 con leore dedicate al progetto, indicate nelgiorno e sul task specifico. Si chiedeinoltre, con un menu a scelta mul-tipla, di specificare se il lavoro siastato svolto in ufficio, in riunione, inmissione o in una riunione effettuatadurante una missione.

Cio e fondamentale ai fini dellacorretta rendicontazione delle spe-se. Se impegnato in una riunione,potra essere rimborsato il costo di

utilizzo dell’aula, ma solo avendoil verbale firmato da tutti i parteci-panti. Se in missione, ci sara ne-cessita di avere agli atti il modu-lo di rimborso spese con scorpora-ta l’IVA (che non puo essere rendi-contata). Se in riunione e in mis-sione, sara necessario avere entram-be le documentazioni. In ognunodei casi precedenti, le informazionidovranno essere coerenti con quan-to riportato nel cartellino del dipen-dente, una copia del quale dovra es-sere conservata negli atti del proget-to. Per ogni giorno, la casella rela-tiva a ciascun task assume un diffe-rente colore a seconda del suo stato:se una casella e grigia, il task non eattivo in quel giorno; se e gialla, eattivo ma non ci sono mesi di per-sonale CNR finanziati; se e verde, eattivo con mesi-uomo CNR finanzia-ti. Dall’esperienza viene che, soprat-tutto nei progetti ERA-NET, il tempouomo finanziato e largamente infe-riore a quanto richiesto per portarea termine gli obiettivi posti dal pro-getto. E quindi frequente e comuneindicare lavoro svolto anche in tasknei quali non vi sia finanziamentoprevisto, ma che richiedano attivitaCNR per essere portati a termine nelmigliore dei modi. Questo permet-te di rappresentare correttamente al-l’UE lo sforzo profuso nelle attivitaal di la del finanziamento dato.

A partire dai dati sul progetto(Figure 1.1, 1.2, 1.3), e da quelli sulleore svolte inseriti dal Ricercatore (Fi-gura 1.4), viene generato il Gantt delprogetto (in Figura 1.5 un esempioGantt basato su Copal). Riporta l’e-lenco dei task, che nel progetto con-siderato sono l’unita di rendiconta-

4

Page 9: La rendicontazione dei progetti europei nel Settimo Programma Quadro

1.1. LA RENDICONTAZIONE DEL TEMPO-UOMO

Figura 1.1: WP di ERA-ENVHEALTH: stralcio del foglio di calcolo distribuitoa tutti i Ricercatori coinvolti nel progetto con i dettagli dei relativi WP.

Figura 1.2: Task di ERA-ENVHEALTH: stralcio del foglio di calcolo distri-buito a tutti i Ricercatori coinvolti nel progetto con i dettagli dei relativitask.

5

Page 10: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 1. DUE ESEMPI DI RENDICONTAZIONE FP7: COPAL ED

ERA-ENVHEALTH

Figura 1.3: Deliverables di ERA-ENVHEALTH: stralcio del foglio di calcolodistribuito a tutti i Ricercatori coinvolti nel progetto con i dettagli dei relativideliverables.

zione. Per ognuno viene mostratol’andamento temporale delle attivitacon lo stesso codice colore descrittoin precedenza.

Ogni cella rappresenta, quandopresenti, il totale delle ore che ilRicercatore ha indicato per tale ta-sk nel mese. In questo modo epossibile con una sola occhiata con-trollare quanto inserito nel foglio direndicontazione giornaliero

1.2 Il computo dei totali eil form C

Le regole di rendicontazione euro-pea prevedono che il legale rappre-sentate di ogni partner del proget-to firmi l’Annex IV del Grant Agree-ment (GA), o form C, che attesta perogni periodo di rendicontazione lespese sostenute e di cui si richiede ilrimborso.

Il form e di solito predisposto dalcoordinatore del progetto, secondo idati che richiede ai partner con sca-denze temporali fissate. I dati ri-chiesti sono relativi a cio di cui si ri-chiede il rimborso, quindi il tempo-uomo nel progetto, le spese di mis-sione, quelle per l’acquisto di appa-recchiature o di organizzazione deiconvegni dove previste.

Una volta ottenute le informa-zioni orarie dei Ricercatori, organiz-zate secondo lo schema presenta-to nel paragrafo precedente, manca-no solo due informazioni: il costoorario del personale coinvolto e lapercentuale di overhead del CNR adapplicare alla rendicontazione.

Per il costo orario, e compito delresponsabile amministrativo richie-dere all’ufficio competente dell’Am-ministrazione Centrale la certifica-zione del costo orario dei dipenden-

6

Page 11: La rendicontazione dei progetti europei nel Settimo Programma Quadro

1.2. IL COMPUTO DEI TOTALI E IL FORM C

Figura 1.4: Esempio di scheda che il Ricercatore puo compilare con le ore la-vorative dedicate alle attivita del progetto. Si puo notare la differente colora-zione delle caselle, indice di un differente stato del task per il giorno indicato(come riportato nella legenda in alto), e la modalita con la quale si possono in-dicare le differenti “causali” relative all’attivita giornaliera (ad es. il 7 ottobre2009 il Ricercatore e stato impegnato 8 ore in una missione collegata ad unariunione del progetto).

7

Page 12: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 1. DUE ESEMPI DI RENDICONTAZIONE FP7: COPAL ED

ERA-ENVHEALTH

Figura 1.5: Gantt di Copal: questo foglio di calcolo presenta la situazione ag-gregata per mese e per task delle ore di attivita inserite dal Ricercatore. Le4+8 ore di attivita riportate per il task 1.3 di Figura 1.4 sono qui aggregati esommati nella casella relativa al 24simo mese (12 ore totali).

ti coinvolti nel progetto. Si e prefe-rito richiedere tale certificazione inmaniera separata per ogni progettoanche nei casi in cui la stessa perso-na sia coinvolta nello stesso periodosu piu attivita FP7. Cio permette diavere documentazione originale in-dipendente per ogni progetto, cosache permettera, dopo il termine delprogetto, di poter sostenere un au-dit da parte della commissione conun set completo di documentazione.

Per l’overhead, e una percentualeche viene fornita, per ogni anno, conuna circolare a tutte le strutture delCNR.

Avendo tutti i dati a disposizio-ne, e stato progettato un appositoscript in Python (il cui listato e ripor-tato per intero in Appendice A) perprodurre automaticamente il rendi-conto. Si tratta di uno script da lineadi comando, con una interfaccia dicui viene riportato in Figura 1.6 unesempio: lanciato con gli argomentiin Figura, unitamente ai file di rendi-contazione di ogni unita di persona-

le coinvolta e a quello che riporta ilcosto orario del personale, produrranel file rend.xls tutto il necessario perla rendicontazione del tempo uomo.

In rend.xls si trovano gli importirendicontabili su ogni singolo task.In Figura 1.7 un esempio tratto dalprimo anno di rendicontazione delprogetto Era-Envhealth.

In alto si possono vedere i tre ri-sultati della elaborazione: il totaledelle ore uomo del personale coin-volto, il totale dei mesi uomo e iltotale dei costi uomo. Ognuno diquesti valori e calcolato dinamica-mente per ogni singolo task. Piu inbasso si presentano solo le prime ri-ghe della serie di tabelle riassunti-ve, una per ogni dipendente, che ri-portano le informazioni relative alleore impiegate e al costo orario, perpoter controllare in ogni momentoil buon funzionamento dei calcoliautomatici.

Particolare attenzione va ripostaal calcolo dei mesi-uomo a partiredalle ore lavorate. Il personale in

8

Page 13: La rendicontazione dei progetti europei nel Settimo Programma Quadro

1.2. IL COMPUTO DEI TOTALI E IL FORM C

$ python rendeur.py --path= [..]/Progetti_Internazionali_DTA/ERA_ENVHEALTH/ERA-ENV\ amministrazione/secondo_anno/24mese/ --prog_name=ENVHEALTH--start_date=01-09-2009%$

path = [..]/Progetti_Internazionali_DTA/ERA_ENVHEALTH/ERA-ENVamministrazione/secondo_anno/24mese/

path_dest = ./name_dest = rend.xlsprog_name = ENVHEALTHyear = secondstart date = 01-09-2009I parametri sono corretti?[y,n]

Figura 1.6: esempio di reale utilizzo della interfaccia da riga di comando deltool di sintesi dei differenti fogli compilati dai Ricercatori.

Figura 1.7: stralcio tratto dal file rend.xls, risultato dello script rendeur.py, eutilizzato per inviare al coordinatore i dettagli per la redazione del form C.

9

Page 14: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 1. DUE ESEMPI DI RENDICONTAZIONE FP7: COPAL ED

ERA-ENVHEALTH

ruolo da meno di tre anni ha un dif-ferente numero di ore annuali (1491contro 1477), e cio comporta che pertali dipendenti si debbano calcolare124 ore al mese totali, mentre per undipendente in ruolo da piu di tre an-ni si dovranno calcolare 123 ore almese totali.

E infine compito del Responsa-bile Scientifico valutare la congruitadel risultato dell’unione di tutti ipiani di lavoro delle varie personipartecipanti al progetto, e inviarele informazioni al coordinatore nellemodalita da lui richieste. Sara poi ilcoordinatore a preparare il form C ea inviarlo al Responsabile Legale perla firma.

Una delle modifiche piu recential metodo di rendicontazione derivadalla necessita che i Ricercatori sigli-no, insieme al Responsabile Scienti-fico, l’elenco delle ore lavorate nelprogetto. A tale fine e stato estesolo script che ora produce automati-camente una serie di documenti informato rich text format (rtf ) conte-nenti il dettaglio completo dei taske delle ore divise nei giorni nei qua-li il Ricercatore ha lavorato sul pro-getto. I documenti sono predispostiper essere stampati e firmati da cia-scun dipendente e dal responsabilescientifico.

In Figura 1.8 viene riportato loschema dei passaggi logici con iquali a oggi procediamo ogniqual-volta sia necessario effettuare unarendicontazione in un progetto FP7.

1.3 Vantaggi del proce-dimento descritto epassi da fare

Il primo vantaggio del procedimen-to descritto e certamente la mi-glior definizione dei compiti diogni figura (“chi fa cosa”), ottenu-ta razionalizzando la procedura direndicontazione.

Si e fornito uno strumento chepossa essere compilato autonoma-mente dai Ricercatori, giorno pergiorno, dando la possibilita di ave-re una panoramica semplice dellosviluppo temporale del progetto.

Si e fornita infine una modalitadi aggregazione delle informazionisemplice e rapida, che mette insiemedati provenienti da fonti differenti eli mette a disposizione in tempi ra-pidi al Responsabile Scientifico, cheha solo l’onere di raccogliere i formdai vari attori del progetto.

Ci sono tre passi fondamentaliche devono essere effettuati per pas-sare dalla soluzione proposta, peralcuni versi semi-artigianale, ad unapplicativo che possa essere fornitoa tutta la rete di ricerca del CNR.

• la procedura di rendicontazio-ne deve essere disponibile on-line; avere un servizio deloca-lizzato accessibile da internet etanto piu una esigenza quantoil lavoro dei Ricercatori si svol-ge sempre piu in campagne diricerca fuori sede e in missioneo in sedi di lavoro differenti;

• collegato con i differenti da-tabase del personale gia pre-sente nel CNR; un paradigma

10

Page 15: La rendicontazione dei progetti europei nel Settimo Programma Quadro

1.3. VANTAGGI DEL PROCEDIMENTO DESCRITTO E PASSI DA FARE

Azioni che si eseguono ogni

rendicontazione

Compilazione periodicadelle ore svolte

scriptrendeur.py

xlsorario

fogliocertificazioneore

totalirendicontabiliper task

ResponsabileAmministrativo

ResponsabileScientifico

ResponsabileLegale

Ricercatori

tabella costiorari

Coordinatore

Form C:viene inviato firmato al Coordinatore

Tutti i fogli-tempi firma-ti dai Ricercatori e confermati dal Respon-sabile Scientifico ven-gono archiviati

Figura 1.8: schema del processo che porta alla produzione del form C. Glioggetti nei riquadri si distinguono a seconda del colore di sfondo: in az-zurro i differenti attori; in verde i documenti intermedi; in arancio i prodot-ti descritti in questo capitolo e funzionali alla procedura; in viola i prodottidell’elaborazione.

11

Page 16: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 1. DUE ESEMPI DI RENDICONTAZIONE FP7: COPAL ED

ERA-ENVHEALTH

della programmazione e Don’tRepeat Yourself (DRY), “non ri-peterti”; sono gia disponibiliin banca dati le informazionisull’orario giornaliero dei di-pendenti del CNR; collegan-dole alla rendicontazione, sipotrebbe avere un immediatoriscontro della correttezza del-la compilazione del foglio ora-rio personale (ad esempio evi-tando errori materiali di im-putazione come ore lavoratesul progetto in giorni di fe-rie); sarebbe possibile inoltreinterfacciare in maniera diret-ta i costi del personale alle orerendicontate;

• collegato con il sistema di au-tenticazione gia in uso nelCNR: il CNR ha un sistemacentralizzato di autenticazio-ne per accedere a molte de-

gli applicativi online che of-fre, dal server di posta elet-tronica, alla possibilita di vi-sionare i cedolini degli stipen-di, alla redazione dei Piani diGestione Preliminari e Gestio-nali; ogni dipendente con lamedesima utenza e passwordpuo accedere a tutti questi por-tali; per evitare al massimola proliferazione di password,e utile che anche un ipoteti-co servizio di rendicontazioneutilizzi questa autenticazionecentralizzata.

Nel prossimo capitolo verra descrit-to un prototipo funzionante che pos-sa essere semplicemente replicatocon gli strumenti utilizzati dagli Uf-fici dell’Amministrazione Centralee integrato con le differenti banchedati del CNR.

12

Page 17: La rendicontazione dei progetti europei nel Settimo Programma Quadro

Capitolo 2

Il prototipo dimostrativo

Obiettivo di questo prototipo eduplice:

• in prima istanza si intendeschematizzare tutte le fasi del-la rendicontazione del tempouomo all’interno dei progetti“tipo FP7”. Questo compren-de la messa a sistema dellaprofilazione delle utenze, in-dividuando le differenti figurepreviste nel progetto e razio-nalizzando i compiti di ognu-na di esse, e la produzionedi report sintetici automaticiche a partire dalla strutturadel progetto e dai dati di tem-po uomo e finanziari (costomensile dei dipendenti, etc.)compone la documentazionenecessaria per audit finali;

• parallelamente verranno evi-denziate le possibili integra-zioni con il Sistema Informati-vo per la Gestione delle Lineedi Attivita (SIGLA), volte siaa snellire il lavoro amministra-tivo, con come beneficio ulte-riore la certificazione dei da-ti forniti da SIGLA, sia all’uti-

lizzo del sistema di credenzialicentralizzate.

Per descrivere quanto realizzato ladescrizione seguente prendera inconsiderazione le azioni disponibi-li alle tre differenti figure: il Ricer-catore, il Responsabile Scientifico, ilResponsabile Amministrativo.

2.1 il ResponsabileScientifico: gestionedel progetto

La figura del Responsabile Scientifi-co e quella che ha i maggiori onerinella gestione del progetto, ne gesti-sce e controlla i dati, e ha il com-pito di produrre le rendicontazionidel tempo uomo impiegato nelle at-tivita del progetto, in relazione aifinanziamenti previsti nel progettostesso.

Il presente framework presentadunque ad un utente che sia respon-sabile di un dato progetto due azionispecifiche, descritte nei prossimi pa-ragrafi: la gestione dei dati sinteticidi progetto e della rendicontazione.

Page 18: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 2. IL PROTOTIPO DIMOSTRATIVO

Figura 2.1: schermata di inserimen-to dati sintetici di progetto. Il Re-sponsabile Scientifico puo modifi-care/inserire i dati descrittivi delprogetto. Questi comprendono ladenominazione (Name), e l’acroni-mo (acronym), il coordinatore (Coor-dinator), la data di inizio (start date),la durata in mesi (duration in mon-ths), il codice di GA (GA contractnumber). I campi successivi inveceriguardano la partecipazione CNRal progetto, con l’indicazione dellefigure con responsabilita legate alprogetto (scientifica, CNR sc resp;legale, CNR lg resp; amministrati-va, CNR adm resp), e del personalecoinvolto nelle attivita.

Dati sintetici di progetto

I dati salienti per un progetto sonomostrati in Figura 2.1.

In primo luogo vengono richiestii dati descrittivi, la denominazionecon l’acronimo relativo, il coordina-tore, la data di inizio e la durata, einfine il numero del GA. Con questielementi e possibile individuare uni-vocamente un progetto FP7, che e loscopo della presente trattazione.

Nel caso si voglia estendere ilsistema di rendicontazione qui de-scritto ad altre tipologie di proget-to, sara sufficiente aggiungere altretipologie di informazioni. Ad esem-pio un campo “project type” po-tra dare la possibilita di seleziona-re la tipologia di progetto, permet-tendo al Responsabile Scientifico diindicare se il progetto sia finanzia-to in ambito FP7 oppure nell’ambitodel programma MED del program-ma di collaborazione transnazionaledella UE, o nell’ambito di un proget-to PON cofinanziato dal Fondo eu-ropeo di sviluppo regionale per leRegioni Convergenza.

Per ogni differente tipologia po-tra essere prevista una serie di infor-mazioni piu specifiche che verra uti-lizzata nel seguito per la produzionedi form e report utili alla rendicon-tazione. Ad esempio per i proget-ti FP7 una informazione necessaria eil numero del GA, mentre nelle pro-poste PON 2007-2013 e il codice diproposta.

14

Page 19: La rendicontazione dei progetti europei nel Settimo Programma Quadro

2.1. IL RESPONSABILE SCIENTIFICO: GESTIONE DEL PROGETTO

Figura 2.2: questo schema presentala visualizzazione sintetica dei da-ti inseriti dal Responsabile Scienti-fico nella schermata in Figura 2.1.In piu presenta la possibilita (per ilResp. Scientifico) di aggiungere iWP e i task del Progetto.

I dati inseriti vengono mostrati in-fine in una schermata riassuntiva,che gli utenti coinvolti nel proget-to possono attraverso l’url /pro-

ject data/manage/acronimo, di cuiun esempio e mostrato in Figura 2.2.

A

B

Figura 2.3: moduli di inserimentodati di WP (A) e task (B). Per en-trambi vengono richiesti il codiceidentificativo (Code), la denomina-zione (Name), il partner responsa-bile (Resp) e la durata (Duration).Per il WP si puo inoltre specifica-re la tipologia di attivita (Coordi-nation, Management, Other), per iltask il WP che lo contiene. E infi-ne possibile aggiungere un nuovopartner di progetto selezionando(add partner)

In secondo luogo vengono ri-chiesti i dati specifici che riguardanoil personale CNR che partecipa al-le attivita del progetto. E qui che ilResponsabile Scientifico puo indica-re quali Ricercatori avranno la possi-bilita di inserire ore lavorate nel pro-getto, ed e qui che viene indicato chi

15

Page 20: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 2. IL PROTOTIPO DIMOSTRATIVO

sia il Responsabile Amministrativodel progetto.

integrazione conLa scelta del personale da in-dicare come impegnato nelprogetto testo potra esse-re effettuata attingendo al-la banca dati del personaleCNR

Una volta inseriti i dati genera-li, il Responsabile Scientifico puo in-serire i dettagli dei differenti WP(Figura 2.3, A) e Task (Figura 2.3,B) sui quali poi verra effettuata larendicontazione.

Le informazioni per registrareun WP o un task sono molto simi-li: il codice (ad es 2 per un WP o 2.1per un task), il nome del WP/task,l’istituzione che ne ha la responsa-bilita e la durata in mesi dall’iniziodel progetto. Il codice e volutamen-te lasciato come testo libero in mododa permettere l’inserimento dei soliWP/task rilevanti per la rendiconta-zione. I restanti dati richiesti sonoil tipo di attivita per il WP, a sceltafra coordinamento, gestione e altro.Questa scelta si riflette nelle percen-tuali che verranno applicate in fasedi rendicontazione.

integrazione conla banca dati dei progetti chesi viene a creare potra es-sere utilizzata per etichetta-re sin dal primo inserimentonel sistema contabile le fattu-re e i mandati di pagamen-to, semplificando quindi latracciatura delle spese e larendicontazione finale.

Figura 2.4: Esempio di dettagliodella rendicontazione del Ricerca-tore A, ottenuto cliccando sul no-me “A” nella schermata in Figura2.5. Vengono quindi mostrate tuttele ore di A per l’anno considerato,somma delle 5.67 ore sul WP2, del-le 1.67 ore sul WP5 e delle 5.67 oresul WP6. Se invece nella scherma-ta in Figura 2.5 si fosse selezionato,ad es., il totale delle ore svolte sulWP5, si sarebbe ottenuta una pagi-na con solamente la prima delle ri-ghe della tabella riportata in questaFigura.

Rendicontazione

Il Responsabile Scientifico puo acce-dere alla schermata riassuntiva deltempo imputato dai ricercatori nel-le attivita relative a ogni anno diprogetto, Figura 2.5.

Puo in questo modo verificarequanto inserito dai Ricercatori e dalui stesso, consultando i dati orariaggregati per WP e task, e, in ag-giunta, i costi relativi alle ore di la-voro svolto per WP. Questi deriva-no dalla somma dei dati orari inse-riti dai Ricercatori e pesati dai co-sti mensili inseriti dal ResponsabileAmministrativo del progetto. Quan-do queste informazioni non siano

16

Page 21: La rendicontazione dei progetti europei nel Settimo Programma Quadro

2.2. IL RICERCATORE: IMPUTAZIONE DI TEMPO UOMO

disponibili, il sistema al posto del to-tale di costo imputabile mostrera lastringa snp (salary not present).

Ogni dato della pagina di ren-dicontazione annuale e un collega-mento ipertestuale ad una paginacon un elenco di tutti i dati utilizza-ti per ottenerlo (Figura 2.4). Questofornisce la possibilita di controllaree verificare quanto inserito eviden-ziando tutti i passaggi del calcoloche viene effettuato per la produrrela rendicontazione.

Il bottone in fondo alla Figura2.5 permette la “chiusura” della pos-sibilita di imputazione di ore perl’anno considerato. Il Responsabi-le Scientifico, una volta che riten-ga corretto in tutte le sue parti ilprospetto annuale di attivita, puocongelare la rendicontazione (freezethe rendicontation). I Ricercatori nonavranno piu possibilita di alterarele ore considerate, ne di aggiunger-ne di nuove per l’anno e il proget-to trattati. Questo assicura che i da-ti siano definitivi e da la certezza alResponsabile Scientifico che il per-sonale coinvolto non alteri, volon-tariamente o per errore, quanto giainserito.

Figura 2.6: Una volta chiusa la ren-dicontazione, al posto del pulsan-te freeze the rendicontation (cfr. Fig.2.5), compaiono i due pulsanti infigura, che permettono la riapertu-ra della rendicontazione e la pro-duzione dei fogli di presenza dafirmare.

A valle della cristallizzazione

delle ore imputate, compaiono dueulteriori possibilita a sostituire ilpulsante freeze the rendicontation,mostrate in Figura 2.6.

La prima permette il downloaddi un documento in formato rtf con ifogli firma di tutti i Ricercatori coin-volti nel progetto. Ogni Ricercato-re dovra quindi convalidare le orelavorate firmando in calce all’elen-co di sua competenza, unitamente auna analoga firma del ResponsabileScientifico che certifica cosı la con-gruita della imputazione. Un esem-pio di foglio firma relativo ai datimostrati in Figura 2.4 e mostrato inFigura 2.7.

La seconda permette la riaper-tura del periodo di rendicontazio-ne. In questo modo potranno nuo-vamente essere imputate nuove atti-vita o modificate quelle gia inserite,prima della definitiva chiusura. Co-me per la precedente, questa e unaoperazione di stretta competenzadel Responsabile Scientifico.

2.2 il Ricercatore: Im-putazione di tempouomo

La principale azione che puo esseresvolta con un account da Ricercatorenel framework proposto e l’imputa-zione oraria del tempo dedicato alleattivita del progetto.

Ogni Ricercatore indicato dal re-sponsabile scientifico come coinvol-to nel progetto, come descritto nelcapitolo precedente, e che ha svoltoattivita correlate al progetto stesso,puo inserire il dettaglio delle attivita

17

Page 22: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 2. IL PROTOTIPO DIMOSTRATIVO

Figura 2.5: schermata riassuntiva della rendicontazione annuale. Le tre tabel-le rappresentano, dall’alto, le ore imputate su ogni task da ogni ricercatore, leore imputate su ogni WP da ogni Ricercatore, il costo uomp per WP di ogni ri-cercatore. Delle ultime due informazioni sono disponibili anche i totali. Ognidato aggregato e ogni cognome e un link attivo alla relativa pagina dinami-ca (Figura 2.4) che riporta, per verifica, tutte le informazioni utilizzate per ilcalcolo.

18

Page 23: La rendicontazione dei progetti europei nel Settimo Programma Quadro

2.2. IL RICERCATORE: IMPUTAZIONE DI TEMPO UOMO

Figura 2.7: esempio di time-sheet prodotto automaticamente dal sistema a val-le della chiusura della rendicontazione annuale. E un documento che elencatutte le ore di attivita svolta nel progetto da parte di ogni Ricercatore, chedovra firmarlo unitamente al Responsabile Scientifico.

19

Page 24: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 2. IL PROTOTIPO DIMOSTRATIVO

orarie svolte per ogni progetto inclu-so nel framework in maniera moltosemplificata.

Accedendo all’url /pro-ject data/user/my time/, vienemostrato l’elenco dei giorni nei qua-li il Ricercatore ha gia inserito ore diattivita (Figura 2.8). In ogni riga vie-ne mostrato il giorno, i progetti suiquali e stata inserita l’attivita e il to-tale delle ore imputate. Per facilitarel’inserimento dei dati e possibile fil-trare i record mostrati sia per inter-vallo di date (filter days by date), siaselezionando un periodo collegatoalle attivita di un progetto (filter daysby project). Ad esempio in Figura2.8 vengono mostrate tutte le ore in-serite dal Ricercatore A nel periododi attivita del progetto C preso adesempio.

Analogamente a quanto avvie-ne per la pagina di rendicontazio-ne, cliccando su un giorno viene mo-strato in una differente pagina web ildettaglio delle ore inserite per quelgiorno (Figura 2.9, A). Da qui e pos-sibile modificare le ore gia inserite(il link modify accanto alle ore che sivogliono modificare), o aggiungernedi nuove (add new entry in fondo).Similmente, si puo aggiungere unarendicontazione oraria direttamentedalla lista generale dei giorni, sele-zionando l’analogo link add new en-try in fondo alla tabella (Figura 2.9,B).

Tutte le precedenti azioni porta-no ad una schermata analoga a quel-la mostrata in Figura 2.9, C. Nel casosi tratti di modifica di ore preceden-temente inserite, il modulo sara pre-compilato con le informazioni me-morizzate. Nel caso di nuovo inseri-

mento, il modulo sara vuoto, ripor-tando nel campo Date il giorno pre-sente nel caso si provenga dalla listadi giorni, o il giorno selezionato nelcaso si provenga dalla lista delle oredi un particolare giorno.

integrazione conAiutare la compilazione ri-portando la rilevazione del-la presenza ricavata dal car-tellino orario informatizza-to accanto al modulo diinserimento di attivita svolte.

Ogni parte dell’interfaccia e vol-ta a minimizzare l’inserimento didati gia inseriti da parte dell’uten-te. Un esempio e proprio nelle fa-si di aggiungere nuove ore, mostratein Figura 2.10. Poniamo il caso che ilRicercatore abbia bisogno di inserireun set di ore lavorate in giorni ravvi-cinati, sempre per il medesimo pro-getto e per il medesimo task. Unavolta inserite le ore per il primo gior-no (Figura 2.10, A), e sufficiente se-lezionare modify, modificare i campinecessari (ad esempio il giorno, o leore, oppure il task se necessario), ecliccare su Add new Entry. In que-sto modo con pochi passaggi e pres-soche immediato aggiungere nuoveore rendicontate.

2.3 Il Responsabile Am-ministrativo: gestio-ne amministrativa delprogetto

Il personale amministrativo delCNR non puo rendicontare ore di

20

Page 25: La rendicontazione dei progetti europei nel Settimo Programma Quadro

2.3. IL RESPONSABILE AMMINISTRATIVO: GESTIONE AMMINISTRATIVA DELPROGETTO

Figura 2.8: elenco di attivita svolte. In questa pagina ogni utente registrato alportale puo consultare l’elenco orario della propria attivita svolta. E possibilefiltrare l’elenco per data (filter days by date o per progetto filter days by project.

A

B

C

Figura 2.9: inserimento di attivita svolta. Si possono indicare nuove ore apartire dalla schermata di dettaglio del giorno (A), o direttamente dal’elen-co di tutte le ore di attivita inserite (B): selezionando add a new entry si potraaccedere al modulo di inserimento di nuove attivita (C). E possibile indica-re il giorno nel quale l’attivita e stata svolta, il progetto e il relativo task, latipologia di attivita e le ore complessive.

21

Page 26: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 2. IL PROTOTIPO DIMOSTRATIVO

A

B

Figura 2.10: inserimento di un nuovo intervallo di attivita svolta attraversola modifica di ore gia inserite. In questa immagine viene mostrato come siapossibile aggiungere nuove ore di attivita svolta utilizzando le informazio-ni gia inserite. Per aggiungere, ad es., ulteriore attivita relativa al WP 1.2 delprogetto C rispetto a quanto gia inserito e mostrato nel riquadro A, si puo sele-zionare modify: si aprira una schermata che presenta i dati relativi gia inseriti;modificando quanto necessario (ad esempio solamente il giorno, per inserire5 ore di attivita sul WP 1.2 per un giorno differente) e selezionando Add newEntry, verra lasciata inalterata la rendicontazione originaria, e ne verra creatauna nuova.

22

Page 27: La rendicontazione dei progetti europei nel Settimo Programma Quadro

2.3. IL RESPONSABILE AMMINISTRATIVO: GESTIONE AMMINISTRATIVA DELPROGETTO

attivita svolta nel progetto. Questoperche il costo del personale ammi-nistrativo e considerato come partedei costi di infrastruttura nel calcolodell’overhead conseguente alla rendi-contazione secondo il simplified me-thod utilizzato dal CNR in FP7, comeindicato ad esempio nella circolaren. 16/2011. In tale circolare vienecomunicata l’incidenza delle spesegenerali dell’Ente per i progetti FP7e pari al 68,46% per l’anno 2009.

Il ruolo che assume percio il re-sponsabile amministrativo e di in-terfaccia con l’ufficio del personaleper quel che riguarda i costi del per-sonale coinvolto. In Figura 2.11 vie-ne mostrata una tabella di esempioche il Responsabile Amministrativoha il compito di compilare. Il perio-do considerato include tutti gli annidel progetto.

integrazione conIl costo uomo mensile po-tra essere automaticamen-te ricavato dalla banca da-ti del personale, che raccol-ga i dati dell’Ufficio Tratta-mento Economico del Perso-nale e dell’ufficio Spesa per ilPersonale

Anche in questo caso semplice-mente selezionando una cifra gia

immessa o un mese dove ancora nonsia stato imputato alcun costo, siapre un modulo che permette di in-serire i dati rilevanti, come mostra-to ad esempio in Figura 2.12 per ilmese di novembre 2008.

Altra azione di competenza delresponsabile Amministrativo e l’in-serimento degli overhead annuali delCNR. E prevista una tabella che il re-sponsabile amministrativo puo con-sultare e modificare all’url finan-cial data/overheads/, e nella qualee possibile inserire la percentuale dioverhead e i riferimenti delle circolariCNR che ogni anno aggiornano ta-le percentuale in base al rendicon-to finanziario dell’anno a cui fannoriferimento (Fig. 2.13).

E possibile aggiungere e modifi-care i dati presenti nella tabella, e in-serire, per gli anni dei quzali non siadisponibile il dato definitivo, la per-centuale temporanea riferita all’an-no precedente. Questo e previstogia nelle circolari CNR e permette direndicontare il tempo uomo anchequando non sia disponibile il datoaggiornato, rimandando a successi-ve correzioni quando il dato correttovenga pubblicato. La colonna e tem-poraneo? indica, quando impostataa “True”, proprio questa evenienza,dell’utilizzo temporaneo dell’ultimodato percentuale disponibile.

23

Page 28: La rendicontazione dei progetti europei nel Settimo Programma Quadro

CAPITOLO 2. IL PROTOTIPO DIMOSTRATIVO

Figura 2.11: sintesi del costo mensile di un Ricercatore nel progetto C. Il Re-sponsabile Amministrativo del Progetto C ha accesso alla schermata sinteti-ca che mostra il costo mensile per tutti i mesi nei quali il progetto e attivo.La richiesta del costo del dipendente viene effettuata solamente per i mesinei quali sono state effettivamente svolte delle attivita, e questo puo esse-re semplicemente stabilito dal Responsabile Scientifico tramite la pagina direndicontazione di Figura 2.5.

Figura 2.12: modulo di inserimento del costo mensile dei Ricercatori. Il Re-sponsabile Amministrativo puo inserire il costo uomo relativo ai Ricercatoricoinvolti nel Progetto indicando oltre al costo uomo (Cost) l’anno (Year) e ilmese (Month) a cui il costo fa riferimento.

24

Page 29: La rendicontazione dei progetti europei nel Settimo Programma Quadro

2.3. IL RESPONSABILE AMMINISTRATIVO: GESTIONE AMMINISTRATIVA DELPROGETTO

Figura 2.13: Elenco delle percentuali di overhead del CNR negli anni. Il Re-sponsabile Amministrativo del progetto puo modificare ed aggiungere nuoveinformazioni a mano a mano che vengono pubblicate ufficialmente dagli or-gani CNR preposti. Fra le informazioni utili che si possono inserire, anche illink alla circolare CNR che riporta il calcolo effettuato per la determinazionedella percentuale.

25

Page 30: La rendicontazione dei progetti europei nel Settimo Programma Quadro

Capitolo 3

Conclusioni

Quanto riportato nel presente report evidenzia che con una accurata ca-tegorizzazione delle necessita di rendicontazione dei differenti progetti econ la definizione precisa delle figure che sono necessarie allo svolgimentodel progetto, la rendicontazione di un progetto europeo e in particolare deltempo-uomo ad esso associato diventa una operazione semplice che coin-volge i Ricercatori e il personale Amministrativo per operazioni semplici eben definite.

E stato poi realizzato un prototipo che evidenzia la necessita di integra-re una piattaforma di rendicontazione con quanto l’amministrazione cen-trale ha gia disponibile in termini di risorse informatiche e di banche dati.Quando questa integrazione sara realizzata, la rendicontazione diventerauna delle operazioni di routine offerte da pacchetto di software di gestionedel CNR, e questo permettera di poter focalizzare l’attenzione nuovamentealle attivita di ricerca, piuttosto che alla loro rendicontazione.

Page 31: La rendicontazione dei progetti europei nel Settimo Programma Quadro

Capitolo 4

riferimenti

• http://cordis.europa.eu/fp7/home_it.html: tutte le infor-mazioni sulle call aperte e passate e sui progetti approvati in ambitoFP7 sono disponibili nel portale del Servizio Comunitario di Informa-zione in materia di Ricerca e Sviluppo (CORDIS);

• http://www.era-envhealth.eu/: portale del progetto ERA-ENVHEALTHdi cui il DTA-CNR e partner;

• http://www.eufar.net/copal: portale del progetto COPAL dicui il DTA-CNR e partner;

• http://python.org/: sito di riferimento per il linguaggio di pro-grammazione Python, utilizzato per sviluppare la parte software delpresente progetto, utilizzando in particolare:

– https://www.djangoproject.com/: framework web che per-mette la creazione dinamica di pagine web con possibilita diinterfaccia a database con il modulo di object-relational mapping(ORM);

– http://south.aeracode.org/: modulo python che esten-de le capacita di modifica di database costituiti in Django;

– http://pyrtf.sourceforge.net/: modulo python che per-mette la generazione automatica di documenti in formato rtf.

• http://www.latex-project.org/: sistema di impaginazione ba-sato su Tex e con una sintassi semplice, utilizzato per comporre ilpresente documento.

Page 32: La rendicontazione dei progetti europei nel Settimo Programma Quadro

Elenco delle figure

1.1 WP di ERA-ENVHEALTH . . . . . . . . . . . . . . . . . . . . 51.2 Task di ERA-ENVHEALTH . . . . . . . . . . . . . . . . . . . 51.3 Deliverables di ERA-ENVHEALTH . . . . . . . . . . . . . . . 61.4 Scheda di rendicontazione oraria . . . . . . . . . . . . . . . . 71.5 Gantt di Copal . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.6 esempio di interfaccia da riga di comando . . . . . . . . . . . 91.7 stralcio tratto dal file rend.xls, risultato dello script rendeur.py,

e utilizzato per inviare al coordinatore i dettagli per la reda-zione del form C. . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.8 schema del processo che porta alla produzione del form C . 11

2.1 schermata di inserimento dati sintetici di progetto . . . . . . 142.2 visualizzazione dei dettagli del progetto . . . . . . . . . . . . 152.3 moduli di inserimento dati di WP (A) e task (B) . . . . . . . . 152.4 Esempio di dettaglio di rendicontazione . . . . . . . . . . . . 162.6 Pulsanti di riapertura rendicontazione e di produzione dei

fogli firma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.5 schermata riassuntiva della rendicontazione annuale . . . . 182.7 esempio di time-sheet . . . . . . . . . . . . . . . . . . . . . . . 192.8 elenco di ore di attivita svolte . . . . . . . . . . . . . . . . . . 212.9 inserimento di un nuovo intervallo di attivita svolta. . . . . . 212.10 inserimento di un nuovo intervallo di attivita svolta attra-

verso la modifica di ore gia inserite. . . . . . . . . . . . . . . 222.11 sintesi del costo mensile di un Ricercatore nel progetto C . . 242.12 modulo di inserimento del costo mensile dei Ricercatori . . . 242.13 Elenco delle percentuali di overhead del CNR negli anni. . . . 25

Page 33: La rendicontazione dei progetti europei nel Settimo Programma Quadro

Appendice A

Listato dello script direndicontazione

Si riporta il listato dello script che riunisce i fogli excel prodotti da tut-ti i ricercatori e compone la rendicontazione annuale, come descritto nelCapitolo 1.

#!/usr/bin/python# -*- coding: utf-8 -*-import os, sys, time, glob, libxml2

from optparse import OptionParserparser = OptionParser()

import xlwtfrom xlutils.copy import copyfrom xlrd import open_workbook, cellname, colname,

empty_cell, xldatesys.path.append(sys.path[0]+os.sep+"mods")from excel_append import *from datetime import datefrom PyRTF import *

print_all=Falseepoch = date(1900,1,1)

contract_number={"ENVHEALTH": 219337,"COPAL": 212205}

project_name={"ENVHEALTH":"Coordination of nationalenvironment and health research programmes - Environmentand health ERA-NET",

"COPAL":"COmmunity heavy-PAyload Longendurance Instrumented Aircraft forTropospheric Research in Environmental andGeo-Sciences"}

Page 34: La rendicontazione dei progetti europei nel Settimo Programma Quadro

APPENDICE A. LISTATO DELLO SCRIPT DI RENDICONTAZIONE

def write_personal_txt(_C_, xlrd_io, task_supp):

__file = file(path_dest+_C_+'-'+'personal_sheet.txt','w')

#print 'Project '+ prog_name+'\n'+ _year+'rendicontation year\nPerson involved inactivities: ' + _C_+'\n'

__file.write('Project '+ prog_name+ _year+'rendicontation year\nPerson involved inactivities: ' + _C_+'\n'+'\n')

# analizzo meglio il contenuto dell'excelfor s in xlrd_io.sheets():

if "dati FORMricercatore" in s.name:#print 'day\t\ttask\thours\ttypology'__file.write('day\t\ttask\thours\ttypology\

n')for row_i in range(s.nrows):

if s.cell(row_i,1).value is not '' ands.cell(row_i,1).value != 'data'

and s.cell(row_i,1).value != 'Task':

#il prossimo ciclo lo devo fare a passidi due: se ho ore, stampo una rigacon: task, data, ore e causalifor col_i in range(task_supp, s.

ncols, 2):if s.cell(row_i,col_i).value is

not '':__date = xldate.

xldate_as_tuple(s.cell(row_i,1).value,0)

__file.write(str(__date[2])+'/'+str(__date[1])+'/'+str(__date[0])+'\t'\+s.cell(6,col_i).value+

'\t'\+str(s.cell(row_i,col_i

).value)+'\t'+ str(s.cell(row_i,col_i+1).value).replace('\n','')+'\n')

__file.close()

def write_personal_rtf(_C_, xlrd_io, task_supp):

DR = Renderer()doc = Document()ss = doc.StyleSheetsection = Section()

30

Page 35: La rendicontazione dei progetti europei nel Settimo Programma Quadro

doc.Sections.append( section )section.append('Project Acronym: '+ prog_name)if prog_name in project_name:

section.append('Project Title: "'+project_name[prog_name]+'"' )

if prog_name in contract_number:section.append("Grant Agreement N. "+ str(

contract_number[prog_name]))section.append( _year+' year, starting on the '+

_start_date)section.append('Person involved in activities: ' +

_C_)section.append('')

# analizzo meglio il contenuto dell'excelfor s in xlrd_io.sheets():

if "dati FORMricercatore" in s.name:#print 'day\t\ttask\thours\ttypology'section.append(str('day\t\ttask\thours\

ttypology\n'))for row_i in range(s.nrows):

if s.cell(row_i,1).value is not '' ands.cell(row_i,1).value != 'data'

and s.cell(row_i,1).value != 'Task':

#il prossimo ciclo lo devo fare a passidi due: se ho ore, stampo una riga

con: task, data, ore e causalifor col_i in range(task_supp, s.

ncols, 2):if s.cell(row_i,col_i).value is

not '':__date = xldate.

xldate_as_tuple(s.cell(row_i,1).value,0)

section.append(str(str(__date[2])+'/'+str(__date[1])+'/'+str(__date[0])+'\t'\+s.cell(6,col_i).value+

'\t'\+str(s.cell(row_i,col_i

).value)+'\t'+ str(s.cell(row_i,col_i+1).value).replace('\n','')+'\n'))

section.append('')section.append('')section.append('Date and Signature')

31

Page 36: La rendicontazione dei progetti europei nel Settimo Programma Quadro

APPENDICE A. LISTATO DELLO SCRIPT DI RENDICONTAZIONE

section.append('')section.append('')section.append('')section.append('Date and Signature of the

Scientific Coordinator')

DR.Write( doc, file(path_dest+_C_+'-'+'personal_sheet.rtf','w') )

def costi_uomo (file):# apre il file con i costi uomo e restrituisce un

dizionario dic_ore fatto cosi: {Cognome:{data:costo,data:costo,[...]},[...]}

if os.path.exists(path.replace('\\','')+'costogiornaliero.xls'):costi=open_workbook(file)

else:return 'NULL'

dim=0dic_ore={}

for s in costi.sheets():if "costo" in s.name:

for col_i in range(1,s.ncols):dic_temp={}for row_i in range(2,s.nrows):

dic_temp[s.cell(row_i,0).value]=s.cell(row_i,col_i).value

dic_ore[s.cell(1,col_i).value]= dic_tempreturn dic_ore

def tabellina(foglio,cognome, sep_x, offset, dic_ore,prog_name,task_list, date_format,other_format, task_supp):#intestazionefoglio.write(sep_x+offset,1,cognome)

dim=1# numero taskfor i in task_list:

foglio.write(sep_x+offset+1,dim,i)dim=dim+1

#variabile che dipende dal numero di task nel progettoif prog_name=='COPAL':

task_supp=24 #COPALelif prog_name=='ENVHEALTH':

32

Page 37: La rendicontazione dei progetti europei nel Settimo Programma Quadro

task_supp=16 #EnvHealth

#mesidim=1 #cicla sulle righefor _D_ in range(0,13):

if _D_ + start_date[1] > 12:data_excel=date(start_date[0]+1,start_date[1]+

_D_-12,start_date[2])else:

data_excel=date(start_date[0],start_date[1]+_D_,start_date[2])

foglio.write(sep_x+dim+offset+1,0,data_excel,date_format)

dim_2=0 #cicla sulle colonne

if _D_<12:for j in task_list:

foglio.write(sep_x+dim+offset+1,dim_2+1,xlwt.Formula('SUMPRODUCT( ('+

cognome+'!$B$10:$B$1470>='+cellname(sep_x+dim+offset+1,0)+')*('+cognome+'!$B$10:$B$1470<'+cellname(sep_x+dim+offset+2,0)+')*('+cognome+'!$'+colname(task_supp+dim_2*2)+'$10:$'+colname(task_supp+dim_2*2)+'$1470))')

,other_format)dim_2=dim_2+1

if dic_ore != 'NULL' and data_excel.toordinal()-epoch.toordinal()+2 in dic_ore[cognome]:foglio.write(sep_x+dim+offset+1,dim_2+1,

dic_ore[cognome][data_excel.toordinal()-epoch.toordinal()+2],other_format)

elif dic_ore != 'NULL':print data_excel.toordinal()-epoch.

toordinal()+2, data_excel.toordinal(),epoch.toordinal()

dim=dim+1#foglio.write(dim,0,"totali")

def facctutt(path,path_dest,name_dest,prog_name, _year):#variabile che dipende dal numero di task nel progettoif prog_name=='COPAL':

task_supp=24 #COPALelif prog_name=='ENVHEALTH':

33

Page 38: La rendicontazione dei progetti europei nel Settimo Programma Quadro

APPENDICE A. LISTATO DELLO SCRIPT DI RENDICONTAZIONE

task_supp=16 #EnvHealth

###############################################################

# elenco di cognomi############################################

# leggo i file nella cartella e dai nomifile tiro fuorii cogn #

if os.path.isdir(path):lista = filter(lambda x: (prog_name+'_' in x and '.

xls' in x) , os.listdir(path))if print_all:

print lista

cognomi = [i[i.find("_")+1:i.find("_",i.find("_")+1)] for i in lista]

if print_all:print cognomi

################################################################

# sui file: copio il foglio di rendicontazione e leggoi task ed i deliverables##

del_list=[] #lista deliverablestask_list=[] #lista task

date_format=xlwt.easyxf("borders: top 0x1, bottom 0x1,left 0x1, right 0x1;",num_format_str='dd/mm/yyyy')

other_format=xlwt.easyxf("borders: top 0x1, bottom 0x1,left 0x1, right 0x1;")

wb = xlwt.Workbook()for _C_ in cognomi:

xlrd_io= open_workbook(path+prog_name+'_'+_C_+'_'+_year+'_year.xls')

foglio=wb.add_sheet(_C_)dim=0#copio il fogliofor s in xlrd_io.sheets():

if "dati FORMricercatore" in s.name:for row_i in range(0,s.nrows):

for col_i in range(0,s.ncols):foglio.write(dim+row_i, col_i,

s.cell(row_i,col_i).value)

34

Page 39: La rendicontazione dei progetti europei nel Settimo Programma Quadro

#non ho la lista dei task: ne approfitto e laprendo da qui

if task_list == [] and "dati-task" in s.name:for row_i in range(5,s.nrows):

task_list.append(s.cell(row_i,0).value)task_list.sort()

write_personal_rtf(_C_, xlrd_io, task_supp)if print_all:

print task_list# il risultato e' uno xls in wb con un foglio per

persona ####### dal primo foglio che mi capita prendo anche la lista

di task##

#############################################################

# costi orari! #dic_ore = costi_uomo (path+'costo giornaliero.xls')if print_all:

print dic_ore

# foglio riassuntivo##########################################

foglio=wb.add_sheet("totali")

totali_mesi_uomo=['']*len(task_list)totali_ore_uomo= ['']*len(task_list)totali_costi_uomo= ['']*len(task_list)

sep_x= 16 #righe fra l'inizio della tabella e quellodella successiva

passo = 0 #posizione tabella attualeoffset = 4 #riga di inizio prima tabellafor _C_ in cognomi:

if print_all:print "scrivo la tabellina per", _C_

#faccio la tabellinatabellina(foglio,_C_,passo,offset, dic_ore,

prog_name,task_list, date_format,other_format,task_supp)

#calcolo dei totalifor i in range(0,len(task_list)):

num_ore=123totali_ore_uomo[i]+='SUM('+cellname(2+offset+

passo,1+i)+':'+cellname(13+offset+passo,1+i)+')+'

35

Page 40: La rendicontazione dei progetti europei nel Settimo Programma Quadro

APPENDICE A. LISTATO DELLO SCRIPT DI RENDICONTAZIONE

totali_mesi_uomo[i]+='SUM('+cellname(2+offset+passo,1+i)+':'+cellname(13+offset+passo,1+i)+')/'+str(num_ore)+'+'

totali_costi_uomo[i]+='SUMPRODUCT('+cellname(2+offset+passo,1+i)+':'+cellname(13+offset+passo,1+i)+';'+cellname(2+offset+passo,len(task_list)+1)+':'+cellname(13+offset+passo,len(task_list)+1)+')+'

passo = passo+ sep_x

#trascrizione dei totaliriga=0dim=0foglio.write(riga,0,'totale ore uomo',other_format)for tot in [i[0:-1] for i in totali_ore_uomo]:

foglio.write(riga,1+dim,xlwt.Formula(tot),other_format)

dim+=1

riga+=1dim=0foglio.write(riga,0,'totale mesi uomo',other_format)for tot in [i[0:-1] for i in totali_mesi_uomo]:

foglio.write(riga,1+dim,xlwt.Formula(tot),other_format)

dim+=1

riga+=1foglio.write(riga,0,'totale costi uomo',other_format)

dim=0for tot in [i[0:-1] for i in totali_costi_uomo]:

foglio.write(2,1+dim,xlwt.Formula(tot),other_format)

dim+=1#

##############################################################

wb.save(path_dest+name_dest)

if __name__ == "__main__":# imposto e leggo le opzioni da linea di comando

###########

36

Page 41: La rendicontazione dei progetti europei nel Settimo Programma Quadro

parser.add_option("--path", action="store", type="string", dest="path",

help="path containing xls'")parser.add_option("--path_dest", action="store", type="

string", dest="path_dest",help="path where the resulting xls is

saved")parser.add_option("--name_dest", action="store", type="

string", dest="name_dest",help="name of the resulting xls")

parser.add_option("--prog_name", action="store", type="string", dest="prog_name",

help="name of the project (COPAL orENVHEALTH)")

parser.add_option("--year", action="store", type="string", dest="_year",

help="year of rendicontation (first,second, etc)")

parser.add_option("--start_date", action="store", type="string", dest="_start_date",

help="rendicontation start date (DD-MM-YYY)")

(options, args) = parser.parse_args()

path="./"if options.path:

path = options.path

path_dest="./"if options.path_dest:

path_dest = options.path_dest

name_dest='prova.xls'if options.name_dest:

name_dest = options.name_dest

prog_name='COPAL'if options.prog_name:

prog_name = options.prog_name

if prog_name == 'ENVHEALTH':start_date=[2008,9,1] #EnvHealth

_year = 'second'if options._year:

_year = options._year

_start_date = "01-01-2010"

37

Page 42: La rendicontazione dei progetti europei nel Settimo Programma Quadro

APPENDICE A. LISTATO DELLO SCRIPT DI RENDICONTAZIONE

if options._start_date:_start_date = options._start_date

start_date = [int(i) for i in _start_date.split('-')]start_date.reverse()#print _start_date, start_date

print '\npath = '+path+'\npath_dest = '+path_dest+'\nname_dest = '+name_dest+'\nprog_name = '+ prog_name+'\nyear = '+ _year+'\nstart date = '+ _start_date

resp=raw_input('I parametri sono corretti?\n[y,n]')if resp=='y':

facctutt(path.replace('\\',''),path_dest.replace('\\',''),name_dest,prog_name, _year)

38