Sammenligne datoene i en webdel for datavisning til å bygge en WSS-KPI

Note: Dette var første postet på www.endusersharepoint.com her: http://www.endusersharepoint.com/2009/11/02/comparing-dates-in-a-data-View-Web-Part-to-Build-a-WSS-KPI-in-SharePoint/.

Dette er enda en annen blogginnlegg på sammenligning av datoer i XSL i en webdel for datavisning i SharePoint.

Dette er min scenario:

  • Jeg har en egendefinert liste.
  • Virksomheten hovedproduktet på listen er å støtte ideen om en nyansatt og sine oppgaver fullføres innen 7 dager starter jobben.
  • De er i en "Advarsel zone" etter 4 dager hvis de ikke har fullført oppgavene.
  • Opprett en enkel oversikt som viser grønne når de enten har fullført oppgaven, eller hvis de har mer enn 4 dager å fullføre den.
  • Jeg vil dashbordet for å vise gule hvis de er i sonen advarsel.
  • Jeg vil vise rød hvis de ikke har fullført oppgaven etter forfallsdatoen.

Jeg lånte fra Denne artikkelenMarc Andersons blogg (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) å få sammenligning logikken og Denne artikkelenwww.endusersharepoint.com for grunnleggende ideene bak dashbordet (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) Skrevet av Toni Frankola.

Du bør lese støtte blogger, men gjennomføringen går som dette:

  1. Opprette en innholdstype (kolonner + CT)
  2. Opprette en egendefinert liste og knytte den til innholdstypen.
  3. Opprette en webdel-side.
  4. Legge til egendefinerte listen webdel-siden.
  5. Åpne siden i SPD.
  6. Konvertere listen til et DVWP.
  7. Endre XSL for å generere dashboard biter.

Jeg har to datoer: en advarsel-dato og en forfallsdato. Sammenligne datoene, min xsl gjør følgende:

 
 <XSL:Velg>
 
 <!-- Når både handbook og politikk er signert, Vi er grønne uansett datoer. -->
 <XSL:når test="@Employee_x0020_Handbook_x003F_ = 1 og @Security_x0020_Policies = 1">
 <IMG src= "/ _layouts/bilder/KPIDefault-0.GIF" alt= "Ingen problemer"/>
 <en href= "/ HumanResources/lister/ny ansatt Checklist/EditForm.aspx?ID ={@ ID}&amp;Kilde = / HumanResources/delt leie dokumenter/nye Dashboard.aspx"> [Rediger]</en>
 </XSL:når>
 
 <!-- Vis rav indikator om vi forbi advarsel datoen. -->
 <XSL:når test= "ddwrt:FormatDateTime(streng(ddwrt:I dag()), 1033, 'ÅÅÅÅMMDD') &gt;= ddwrt:FormatDateTime(streng(@TaskDueDate), 1033, 'ÅÅÅÅMMDD')">
 <IMG src="/_layouts/images/KPIDefault-2.gif" alt= "Forfalt"/>
 <en stil= "grensen: 0px" href= "/ HumanResources/lister/ny ansatt Checklist/EditForm.aspx?ID ={@ ID}&amp;Kilde = / HumanResources/delt leie dokumenter/nye Dashboard.aspx"> [Rediger]</en>
 </XSL:når>
 
 <!-- Vis rød indikator hvis passerte vi forfallsdatoen. -->
 <XSL:når test= "ddwrt:FormatDateTime(streng(ddwrt:I dag()), 1033, 'ÅÅÅÅMMDD') &gt;= ddwrt:FormatDateTime(streng(@Warning_x0020_Date), 1033, 'ÅÅÅÅMMDD')">
 <IMG src="/_layouts/images/KPIDefault-1.gif" alt= "Advarsel"/> 
 <en href= "/ HumanResources/lister/ny ansatt Checklist/EditForm.aspx?ID ={@ ID}&amp;Kilde = / HumanResources/delt leie dokumenter/nye Dashboard.aspx"> [Rediger]</en>
 </XSL:når>
 
 <!-- Hvis vi får her, Vi er tidligere enn datoen advarsel, så vi er grønne. -->
 <XSL:ellers>
 <IMG src= "/ _layouts/bilder/KPIDefault-0.GIF" alt= "Ingen problemer"/>
 <en href= "/ HumanResources/lister/ny ansatt Checklist/EditForm.aspx?ID ={@ ID}&amp;Kilde = / HumanResources/delt leie dokumenter/nye Dashboard.aspx"> [Rediger]</en>
 </XSL:ellers>
 
 </XSL:Velg>

Noen viktige punkter ovenfra:

  • Jeg prøvde å sammenligne datoer uten å bruke funksjonen ddwrt og har ingen steder. Jeg fortsatt forstår ikke det. De datoene vises riktig, men begge">"og"<"sammenligninger alltid mislyktes. Til slutt, ddwrt kom til unnsetning (takk, på nytt, Marc).
  • Jeg er også vise en [Rediger] knytte til varen. Jeg gjorde hovedsakelig dette slik at jeg lett kunne teste dette ut. Selve koblingen kan være nyttig for noen prøver å finne ut.
  • Dette er implementert i SharePoint online og fungerer fint.
  • Bildene jeg referansen i _layouts-katalogen (/_layouts/bilder/KPI...) er tilgjengelig utenfor boksen i miljøet mitt så de er sannsynligvis tilgjengelig for deg også.

Her er et skjermbilde av hvordan det ser ut for meg:

image

</slutten>

Abonner på bloggen min.

Følg meg på Twitter på http://www.twitter.com/pagalvin

legg igjen et svar

e-postadressen din vil ikke offentliggjøres. Obligatoriske felt er merket *