Comparaison des Dates dans un composant WebPart Affichage de données pour construire un indicateur de performance clé WSS

Note: Cela a été d'abord affiché au www.endusersharepoint.com ici: http://www.endusersharepoint.com/2009/11/02/Comparing-dates-in-a-Data-View-Web-part-to-build-a-WSS-KPI-in-SharePoint/.

C'est encore un autre blog post sur la comparaison des dates dans XSL dans un WebPart Affichage de données dans SharePoint.

C'est mon scénario:

  • J'ai une liste personnalisée.
  • Le but de l'entreprise de la liste est de soutenir l'idée d'un nouvel employé et de ses tâches à remplir dans 7 jours de départ de l'emploi.
  • Ils sont dans une « zone d'avertissement » après 4 jours si ils n'ont pas terminé ces tâches.
  • Je veux créer un tableau de bord simple qui montre verte lorsqu'ils ont terminé soit la tâche ou si elles ont plus de 4 jours pour la terminer.
  • Je veux que le tableau de bord pour montrer jaune si ils sont dans la zone d'avertissement.
  • Je veux montrer rouge si ils n'ont pas terminé la tâche après la date d'échéance.

J'ai emprunté Cet article à Marc Anderson blog (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) pour obtenir la logique de comparaison et Cet article à www.endusersharepoint.com pour les idées de base derrière le tableau de bord (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) écrit par Toni Frankola.

Vous devriez lire les blogs de soutien, mais la mise en œuvre va comme ceci:

  1. Créer un type de contenu (colonnes + CT)
  2. Créer une liste personnalisée et l'associer avec le type de contenu.
  3. Créer une page de composants WebPart.
  4. Ajouter la liste personnalisée de la page de composants WebPart.
  5. Ouvrez la page dans le SPD.
  6. Convertir la liste en un DVWP.
  7. Modifier le XSL pour générer les bits de tableau de bord.

J'ai deux dates: une date de mise en garde et une date d'échéance. Pour comparer des dates, mon xsl effectue les opérations suivantes:

 
 <XSL:choisir>
 
 <!-- Quand Manuel et politique sont signés, Nous sommes verts indépendamment des dates. -->
 <XSL:Lorsque test="@Employee_x0020_Handbook_x003F_ = 1 @ Security_x0020_Policies = 1">
 <img SRC= "/ _layouts/images/KPIDefault-0.GIF" AltNe = "aucun problèmes"/>
 <un href= "/ HumanResources, listes, nouvel employé Checklist/EditForm.aspx?ID ={@ ID}&amp;Source = / HumanResources/Shared Documents/nouvelle embauche Dashboard.aspx"> [Edit]</un>
 </XSL:Lorsque>
 
 <!-- Indicateur d'émission ambre si nous sommes au-delà de la date de mise en garde. -->
 <XSL:Lorsque test= « ddwrt:FormatDateTime(chaîne(ddwrt:Aujourd'hui()), 1033, « AAAAMMJJ ») &gt;= ddwrt:FormatDateTime(chaîne(@ TaskDueDate), 1033, « AAAAMMJJ »)">
 <img SRC="/_layouts/images/KPIDefault-2.gif" Alt= En souffrance »"/>
 <un style= "border: 0px" href= "/ HumanResources, listes, nouvel employé Checklist/EditForm.aspx?ID ={@ ID}&amp;Source = / HumanResources/Shared Documents/nouvelle embauche Dashboard.aspx"> [Edit]</un>
 </XSL:Lorsque>
 
 <!-- Afficher indicateur rouge si nous sommes passés à la date d'échéance. -->
 <XSL:Lorsque test= « ddwrt:FormatDateTime(chaîne(ddwrt:Aujourd'hui()), 1033, « AAAAMMJJ ») &gt;= ddwrt:FormatDateTime(chaîne(@ Warning_x0020_Date), 1033, « AAAAMMJJ »)">
 <img SRC="/_layouts/images/KPIDefault-1.gif" Alt= "Warning"/> 
 <un href= "/ HumanResources, listes, nouvel employé Checklist/EditForm.aspx?ID ={@ ID}&amp;Source = / HumanResources/Shared Documents/nouvelle embauche Dashboard.aspx"> [Edit]</un>
 </XSL:Lorsque>
 
 <!-- Si nous obtenons ici, Nous sommes plus tôt que la date de mise en garde, Nous sommes tellement verts. -->
 <XSL:autrement>
 <img SRC= "/ _layouts/images/KPIDefault-0.GIF" AltNe = "aucun problèmes"/>
 <un href= "/ HumanResources, listes, nouvel employé Checklist/EditForm.aspx?ID ={@ ID}&amp;Source = / HumanResources/Shared Documents/nouvelle embauche Dashboard.aspx"> [Edit]</un>
 </XSL:autrement>
 
 </XSL:choisir>

Quelques points clés d'en haut:

  • J'ai essayé de comparer les dates sans utiliser la fonctionnalité ddwrt et obtenu nulle part. Je ne comprends toujours pas que. Ils dates affichées correctement, mais les deux">« et »<"les comparaisons toujours échoués. En fin de compte, ddwrt est venu à mon secours (Merci, encore une fois, Marc).
  • J'affiche également une [Edit] lien vers l'article. Je l'ai fait principalement pour que j'ai pu facilement tester ceci dehors. Le lien lui-même peut être utile à quelqu'un essayant de figurer dehors.
  • C'est implémenté dans SharePoint online et fonctionne parfaitement.
  • Les images que je référence dans le répertoire _layouts (/_layouts/images/KPI…) sont disponibles de la boîte dans mon environnement donc ils sont probablement disponibles pour vous aussi.

Voici une capture d'écran de ce qu'il ressemble pour moi:

image

</fin>

S'abonner à mon blog.

Me suivre sur Twitter à http://www.twitter.com/pagalvin

Laisser une réponse

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *