Tuesday, July 8, 2014

SharePoint 2013 - Filtrare per Eventi Ricorrenti senza i duplicati

La creazione di un evento ricorrente genera tante istanze dell'evento creato, quante sono le date configurate per la ricorrenza.

Esiste la possibilità di visualizzare tutti gli eventi, con le ricorrenze, tramite la vista Calendario e la vista Eventi Correnti.

La vista Tutti gli Eventi mostra invece gli eventi ricorrenti "Parent", quindi i soli item effettivamente inseriti, con la regola di ricorrenza.

Quando modifichiamo una istanza di una ricorrenza, possiamo decidere se modificare tutta la serie o il singolo elemento: scegliendo l'ultima opzione, viene creato un nuovo item (evento), con un suo id, con le stesse regole della ricorrenza, ma "slegato" dalla ricorrenza "Parent" originaria (pur mantenendo un collegamento interno).

Se vogliamo visualizzare solo gli eventi "Parent" originali, senza gli eventi modificati a partire dalla serie (come descritto sopra), dobbiamo filtrare la web part modifiicando, tramite il Designer, la CAML Query.

Identifichiamo il tag <View> e inseriamo nel tag <Query>, il seguente codice:

<Where><Neq><FieldRef Name="EventType"/><Value Type="Integer">4</Value></Neq></Where>

Questo esclude dalla visualizzazione gli eventi con EventType = 4, cioè quelli generati dalla modifica di una singola ricorrenza.