Confrontando le date in una Web Part visualizzazione dati per costruire un KPI WSS

Nota: Questo è stato prima inviato presso www.endusersharepoint.com qui: http://www.endusersharepoint.com/ 2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.

Questo è ancora un altro blog post sul confronto fra date in XSL in una web part Visualizzazione dati in SharePoint.

Questo è il mio scenario:

  • Ho un elenco personalizzato.
  • Affari l'elenco mira a sostenere l'idea di un nuovo dipendente e proprie mansioni per essere completato entro 7 giorni di iniziare il lavoro.
  • Essi sono in una "zona di avvertimento" dopo 4 giorni se non hanno completato questi compiti.
  • Voglio creare un dashboard semplice che Mostra verde quando sia hanno completato l'attività o se hanno più di 4 giorni per completarlo.
  • Voglio il cruscotto per mostrare giallo se sono nella zona di avvertimento.
  • Voglio mostrare rosso se non hanno completato l'attività dopo la data di scadenza.

Ho preso in prestito da in questo articolo a Di Marc Anderson Blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) per ottenere la logica di confronto e in questo articolo a www.endusersharepoint.com per le idee di base dietro il cruscotto (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) scritto da Toni Frankola.

Si consiglia di leggere il Blog di supporto, ma l'implementazione è questa:

  1. Creare un tipo di contenuto (colonne + CT)
  2. Creare un elenco personalizzato e associarlo con il tipo di contenuto.
  3. Creare una pagina web part.
  4. Aggiungere l'elenco personalizzato per la pagina web part.
  5. Aprire la pagina in SPD.
  6. Convertire l'elenco in un DVWP.
  7. Modificare il XSL per generare i bit di dashboard.

Ho due date: una data di avviso e una data di scadenza. Confrontare le date, mio xsl esegue le seguenti operazioni:

 
 <xsl:scegliere>
 
 <!-- Quando politica e manuale sono firmati, Siamo verdi indipendentemente dalle date. -->
 <xsl:Quando test="@Employee_x0020_Handbook_x003F_ = 1 e @Security_x0020_Policies = 1">
 <img src= "/ layouts/immagini/KPIDefault-0.GIF" ALTNon = "problemi"/>
 <un href= "/ HumanResources/liste/nuovo dipendente Checklist/EditForm.aspx?ID ={@ ID}&amp;Fonte = / HumanResources/condiviso documenti/nuovo noleggio Dashboard.aspx"> [Modifica]</un>
 </xsl:Quando>
 
 <!-- Indicatore visualizza ambra se siamo oltre la data di avviso. -->
 <xsl:Quando test= "ddwrt:FormatDateTime(stringa(ddwrt:Oggi()), 1033, 'yyyyMMdd') &gt;= ddwrt:FormatDateTime(stringa(@TaskDueDate), 1033, 'yyyyMMdd')">
 <img src="/_layouts/images/KPIDefault-2.gif" ALT= "Scaduti"/>
 <un stile= "border: 0PX" href= "/ HumanResources/liste/nuovo dipendente Checklist/EditForm.aspx?ID ={@ ID}&amp;Fonte = / HumanResources/condiviso documenti/nuovo noleggio Dashboard.aspx"> [Modifica]</un>
 </xsl:Quando>
 
 <!-- Visualizza indicatore rosso se noi stiamo passati la data di scadenza. -->
 <xsl:Quando test= "ddwrt:FormatDateTime(stringa(ddwrt:Oggi()), 1033, 'yyyyMMdd') &gt;= ddwrt:FormatDateTime(stringa(@Warning_x0020_Date), 1033, 'yyyyMMdd')">
 <img src="/_layouts/images/KPIDefault-1.gif" ALT= "Attenzione"/> 
 <un href= "/ HumanResources/liste/nuovo dipendente Checklist/EditForm.aspx?ID ={@ ID}&amp;Fonte = / HumanResources/condiviso documenti/nuovo noleggio Dashboard.aspx"> [Modifica]</un>
 </xsl:Quando>
 
 <!-- Se arriviamo qui, Siamo precedente rispetto alla data dell'avviso, quindi siamo verde. -->
 <xsl:in caso contrario>
 <img src= "/ layouts/immagini/KPIDefault-0.GIF" ALTNon = "problemi"/>
 <un href= "/ HumanResources/liste/nuovo dipendente Checklist/EditForm.aspx?ID ={@ ID}&amp;Fonte = / HumanResources/condiviso documenti/nuovo noleggio Dashboard.aspx"> [Modifica]</un>
 </xsl:in caso contrario>
 
 </xsl:scegliere>

Alcuni punti chiave da sopra:

  • Ho provato a confrontare le date senza utilizzare la funzionalità di ddwrt e ho trovato nulla. Non ho ancora capito che. Essi date visualizzate correttamente, ma entrambi">"e"<"i confronti sempre fallito. Alla fine, ddwrt è venuto in mio soccorso (Grazie, ancora una volta, Marc).
  • Anche io sto visualizzando un [Modifica] collegare all'elemento. Ho fatto principalmente questo modo che ho potuto testare facilmente questo fuori. Il link stesso può essere utile a qualcuno che sta cercando di capirlo.
  • Questo è implementato in SharePoint online e funziona bene.
  • Le immagini di che riferimento nella directory layouts (/layouts/immagini...) sono disponibili fuori dalla scatola nel mio ambiente quindi pure sono probabilmente disponibili per voi.

Ecco una schermata di quello che sembra per me:

image

</fine>

Iscriviti al mio blog.

Seguimi su Twitter a http://www.twitter.com/pagalvin

Lasciare una risposta

L'indirizzo email non verrà pubblicato. i campi richiesti sono contrassegnati *