Rješenje ne zahtijevaju programiranje: prikaz dana nakon zadnje promjene stavke popisa sustava SharePoint

Rješenje ne zahtijevaju programiranje: prikaz dana nakon zadnje promjene stavke popisa sustava SharePoint

Važno :  Ovaj je članak strojno preveden. Pogledajteizjavu o odricanju od odgovornosti. Verziju ovog članka na engleskom potražite ovdje.

20/9/2011 3:01 PM

tako da ne Joyce, LANtek

Napomena : Ovaj je članak dio zbirke objava s četiri godine bloga dobiti točke za krajnje korisnike sustava SharePoint.

Pregled: Prilagođeno razdoblje izvješća bez koda

Jedna od često Tražena funkcionalni dijelove web-mjestu SharePoint je izvješće o dospijeće za zadatke i stavke popisa. Drugim riječima, koliko dana/mjeseci je su Budući da ova stavka popisa zadnje izmjene?

Na površini za to čini biti vrlo jednostavne zahtjev. Nakon što potpuno, imamo datuma za stavke koje su stvorene i mijenjati, imamo pohraniti prilagođeni datumi kada određene promjene stavki odvija putem primatelje događaja. Ne možemo ste izračunatih stupaca u kojem možete uključiti Excel nalik formule za rad s oglednim podacima. Čini se kao što je vrlo jednostavan broj. Ne možemo odaberite polje datuma, stvaranje izračunatog stupca, a zatim učinite formule nešto duž retke [DateField] – [Danas]. Ah, ne tako brzo kroz! Kao svatko tko ima pokušaj zadatak "jednostavne" zna, koristite otprilike ovako [Danas] u u izračunatom stupcu uzroka problema s. Pokušajte da biste umetnuli [Danas] vaše izračunati okvira formule stupca steći ćete poruku o pogrešci nešto ovako:

Poruka o pogrešci

Zašto je to? Dobro je s način izračunate stupce izračunavaju.

Pogledajmo o čemu jednostavne formule, primjerice:

= IF ( [Stupac1] < = [Stupac2], "U redu", "Nije u redu")

Sve to vas obavještava da je koji ako Stupac1 manja od ili jednako Stupac2, zatim prikazuju u redu, u suprotnom prikazuje nije u redu. Ovo je prilično uobičajeni jednostavnu formulu za izračunati stupac, a čini osnovni pretpostavci o stavci popisa koji sadrži ti stupci: vrijednosti za Stupac1 i Stupac2 nikad moći promijeniti bez događaja ažuriranje na stavci popisa.

Koji je desno, izračunati stupci će samo ponovni izračun dok na popisu je ažurirati (ili stvorili) jer oni pretpostavlja da se nalaze podaci su izračuna u samu stavku. Time ste stvorili problem kada pokušavate koristiti nešto što se mijenja neovisno o poljima stavke, kao što su današnji datum.

Sada se nije u sastanak u kojem su odlučili je li to način na koji se izračunava stupaca će funkcionirati, no ako morala bi se educated Procjena koje bi pretpostavlja funkcioniraju na taj način performanse. Zamislite ako vam se popis nekoliko stavki tisućica, od kojih svaka sadrži izračunati stupac koji je potrebno "uživo" ažuriranja. Koja bi srednja vrijednost koja neke mehanizam, možda mjerača, promijenile iteracija kroz sve stavke koje every tako često nalaze tu izračunatog stupca i ažuriranje njegovom vrijednošću. To može biti iznimno taxing pomoću performanse jer s veće implementacije ovaj zadatak možda stalno biti pokrenut i mijenjanje stvari. Koja je samo moje Procjena, ali će se vrlo malo odgovara ako mislite o njemu.

Postoji nekoliko prijedloga za slična rješenja nudi pluta koje obuhvaćaju tricking SharePoint u za prihvaćanje danas vrijednost tako da najprije stvorite stupac pod nazivom danas, a zatim dodavanje formulu, a zatim izbrišete. Te su sve dobro i dobro, ali ne zaboravite što mi rečeno o kada se ažuriraju izračunatih stupaca. Ta vrijednost će se promijeniti samo prilikom ažuriranja stavke što znači da se vrijednosti uskoro će biti netočan, posebice u slučaju dan izračuna.

Ste vidjeti drugima pomoću dobra JavaScript napišite vrijednosti na stranicu. To također radite, ali sam vrlo koliko categorically u odnosu na klijent skripte kada mogu se izbjegavati.

Implementacija:

Tako što učiniti? Izračunati stupci su iz pitanje za pa pod nazivom "promjenjive" funkcije kao što su danas. Moguće je smo da bi mogao razviti neke prilagođeni kod voditi brigu o tome bismo kao što su izračunati stupac, mjerača ili zakazivanje postupak dolaze i ažurirati svaki jednu stavku koju je potrebno taj izračun unijeli. Koje nam premješta natrag na problem performanse se spominju u zadnji odlomak kroz, a uz to je brittle rješenje koje će biti vrlo specifična za web-mjesta / / stupac popisa u pitanju. Pri vrhu te dvije opasnosti i promijenile da biste se pronaći u nerdy guy, kao što su sam, koji ne zna da biste kod, a uvjerite za razvoj rješenja za vas. No postoji jednostavniji način!

Ako imaju prava za stvaranje polja i uređivanje stranica na web-mjestu, a imate malo znanja o XSLT i stvaranje prikaza, možete postaviti zajedno XSL predloška koji mogu se uključiti u prikazu popisa i faithfully izračunavati vrijednosti svaki put kada se zatraži stranice. Scenarij uklanja naš složen pred performansama, a ne zahtijeva prilagođeni kod razviti i implementiran putem rješenje.

Savršen. Kako to ćemo učinite ga?

  1. Stvaranje i odaberite polje koje će poslužiti kao naš izvora. Mora biti u datumsku vrstu.

  2. Stvaranje naš polja koje će poslužiti kao rezervirano mjesto za vrijednost se izračunava.

  3. Oba ta polja dodali u vrstu sadržaja i dodavanje vrste sadržaja na popis.

  4. Stvaranje prikaza tog popisa koji sadrži stupce izvora i rezervirano mjesto.

  5. Prijenos predloška XSL u biblioteci stilova.

  6. Postavite svojstvo "XSL veza" web-dijela prikaza popisa putem korisničkog Sučelja.

  7. Uspjeh!

Pogledajmo Istraživanje slučaj primjer koristi i voditi kroz implementacije. Naše korisnike željeli prikaz svoj glavni popis koji želite recite im koliko određenu stavku popisa je prodao sjedi njezin status. Ovaj popis nalazi na prilagođenog sadržaja web-mjesta vrste izvedene iz vrsta stavke i dodati na popis. Došlo je već primatelj događaja na mjesto na kojem se pohranjuju svaki put kada to polje stanja na stavci popisa je promijenio i spremili taj datum na stupac koji se zove "Datum stanja mijenja". Ovaj linije nije potrebna, a možete napraviti pomoću bilo koje polje datuma (samo je tako da se to je naš implementaciju, ali dojam slobodno isprobajte). Gola minimum ćete je izvorno polje Datum i polje rezerviranog mjesta za vaše izračuna (više o tome u na sljedeći odlomak) dodali na popis, iako se predlaže koristite stupaca web-mjesta i vrste sadržaja web-mjesta, u slučaju da želite ponovno koristiti rješenje na drugim mjestima na web-mjestu.

Stoga imamo naš izvor datum koji koristimo u našem izračunu od današnjeg datuma. Sada možemo stvoriti stupac prilagođenog web-mjesta koji želite koristiti kao spremnik za naše izračunatom vrijednošću. U ovom slučaju koju sam odabrao da biste koristili izračunatog stupca jer nećete moći promijeniti za nove ili uređivanje stavke obrazaca, ali možete odabrati za prikaz u okviru prikazi jer smo ne želite da korisnici unos proizvoljne vrijednosti u stupac. Razlog može biti zbunjujuće kao zašto je ne koja se prikazuje u prikazima, itd.

Kada imamo stupac web-mjesta, ne možemo možete ga dodati u našem vrste sadržaja koji će se koristiti na našem popisu. Sljedeći je korak stvaranje naš prikaza koji se kasnije prilagoditi s oglednim XSLT-a. Provjerite je li stvoriti standardni prikaz koja sadrži stupac s datumima izvora i novi izračunati stupac koje će poslužiti kao rezervirano mjesto za izračunatom vrijednošću.

Sada imamo sve na mjesto na kojem će tražimo podržava naš prilagođenu dospijeće izvješća. Sve što ostaje stvara naš XSL predloška, prijenos u biblioteci stilova na web-mjesta i povezivanje s oglednim prikaza popisa. XSL predloška smo koristit će će sadržavati neke normalni oznaka SharePoint generira za generiranje prikaza, kao i našim prilagođene oznake koje se koriste za zanemarivanje određene dijelove ovog i izračunati naš željenu vrijednost za nam.

Održavanje odobrenja gdje je kreditne kartice, XSL predloške za obavljanje stvarni izračuna koji koristim za rješenja su također nudi "swirch" na forumima MSDN:
http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomization/thread/aeda905b-9bc6-40c4-bd22-21306c5cb0d2/

Preuzimanje XSL list stilova (aging.zip) koje ste postavili zajedno nalazi ovdje:
https://OneDrive.live.com/?cid=c262e8e2d59a86d9&permissionsChanged=1&id=C262E8E2D59A86D9! 104

Otvaranje to prema gore u uređivaču teksta omiljene vidjet ćete mnogo normalni SharePoint XSL oznake za prikaz prikaze, ako zadržati pomicanje prema dolje do redak 357 vidjet ćete početak prilagođene predloške koje dodali oznaku, prvoga se predložak "DateDiff" slijedi "izračun julijanskom-dana" i "FieldRef_printTableCell_EcbAllowed.Days_x0020_At_x0020_Status". To su naš tri predloške koje ćete napraviti i prikaz naše izračuni na našem načina. Ako namjeravate koristiti drugo polje naziva onom su ranije u ovom članku, morate proći kroz te predloške i Zamijeni sve reference na druge nazive. Imajte na umu za to će koji želite koristiti INTERNI naziv polja nije prikazano ime.

Kada ste zadovoljni predložak je spremna za otvorite, otvorite biblioteku stil i prijenos u mapi "XSL listova stila", a zatim kopirati dolje vezu na datoteku. To će nam jednostavno kasnije unijeli promjene u nju omogućuju ili ga dodati u različitim dijelovima web-mjesta kao što smo Imajte.

Zatim idite na popis i odaberite prikaz koji ste stvorili ranije u ovom članku. Izbornik s "Akcije web-mjesta" kliknite "Uredi stranicu".

Snimka zaslona za odabir primarnog uređaja

Na stranici se nalaziti na web-dijelu prikaz popisa i otvorite izbornik web-dijelova tako da kliknete na malu strelicu prema dolje dostupnog u gornjem desnom kutu. Na izborniku odaberite "Uredi web-dio".

Izgled SmartArt grafika

Otvorit će se izbornik web-dijela na desnoj strani prozora preglednika.

Slika gumba

Kliknite + za "Razno" sekcije, a zatim pronađite svojstvo "XSL veza".

XSL veza svojstva na izborniku web-dijelova

Zalijepite vezu XSL datoteka u biblioteci stilova koju ste kopirali dolje ranije (to može biti relativne i apsolutne veze).

Snimka zaslona s pločicom povijesti i više izravnih poruka. Propuštena je izravna poruka istaknuta.

Kliknite "U redu" da biste spremili promjene, a zatim kliknite gumb "Prekid uređivanja" na vrpci "Stranica" pri vrhu stranice.

Uređivanje gumb Zaustavi na karticu stranice

Ako sve nije ispravno konfigurirano sada vidjeti brojeve u stupcu na "Dana na stanje".

Dani na Status stupcem koji se prikazuje broj

I na kraju, Evo što izgledat će kao da se s nekim testiranje podataka različitih datuma:

Zastarjeli izvješća prikaz podataka za testiranje

Sažetak:

Došlo je: radi boljeg oblikovani, robusne i bolje predstavljanja način da biste stvorili izvješće o dospijeće u sustavu SharePoint ispunjen jednostavne implementaciju bez koda. To je prilično nekoliko potencijalne aplikacijama osim one korištenje slučaj smo istražili ovdje. Drugi uobičajeni scenarij za tu vrstu izvješća je prilaganja popis zadataka tako da možete vidjeti koliko je prošlo zadatka stvorena na prvi pogled.

Uživajte!

– Ne

Ne Joyce, LANtek

Komentari

Koraci koji nedostaju
8/10/2012 3:51 se
u redu iza koraka, ali moraju biti nešto nedostaje – kako XSL će znati koji datum da biste koristili ili polja da biste dodali dana od u? hate kada su Propušteni korake.

Bez koda dogovorili!
30/8/2012 12:12 poslije Podne
se slažete - se ne smatrate da to zaista broji kao "nema koda".
Interestingly, kroz neke screwup SharePoint imam rad izračunatog stupca pomoću danas... niste sigurni kako ili zašto jer ne mogu ga da biste ga ponovno učinili, no ona je i dalje there i radi.

Formula za "Dana u Status" izračunati stupac?
5/2/2012 7:39 se
radi – što je formula koje ste koristili za vaše "Dana na Status" izračunati stupac (stupac rezervirano mjesto)? To je "Danas ="?

SharePoint 2007
2/12/2011 11:29 se
trenutno se ne pokušali ste primijenili rješenja sustava SharePoint 2007 Međutim koju tražim na njega. Nažalost nema svojstva XslLink kada povučete na web-dijelu putem korisničkog Sučelja.

Sjajan objavu
30/11/2011 9:53 AM
pozdrav,
sjajno objavu.
koristim SharePoint 2007.
nemam sekcije različiti kao što je naznačeno iznad.
Imate li korake za SP2007 konfiguracije?
Zahvaljujemo.

Ukloni: Ne zahtijevaju programiranje rješenja: prikaz dana jer je zadnji put stavke popisa sustava SharePoint promijeniti
11/10/2011 8:24 se
Hi Chris.
sjajno Traži!
i ću razmotrite što ste objavili Međutim kasnije danas i potražite u članku ako i možete napraviti rješenje malo Robusniji.
pratim Drago sviđa objava i pratim vrlo Drago uspijete pronaći rješenje oblik Europske datuma. :)
– Ne

Rješenja za europske oblici datuma
11/10/2011 6:45:00
Hi ponovno ne
predmetom "informativno", I pronaći rješenje za taj problem I što je već rečeno na ovoj stranici
https://sharepointbydummies.wordpress.com/2011/07/13/possible-work-around-to-date-format-issue-sharepoint-2010/

Europska oblici datuma
7/10/2011 3:59 se
radi Hi
to je zaista dobrim rješenjem Hvala, a samo sortiranje stvar koje ste potrošeno zadnja dva dana tražite! Međutim pojavljuju se malo problema s njom i moguće je Nadam mi može pomoći.
koje ste promijenjen kod malo da biste calcultate broj dana do nešto što se događa, umjesto od, prebacivanjem varijabli u zadnji redak funkcija "DateDiff";

< xsl:value-od odaberite = "$JulianToday - $JulianStartDate" >< / xsl:value-od >

no sam samo moći pristupiti ga caclulate razlika pravilno polovicu vremena. Primjerice tako da s tog datuma (oblik dd/MM/gggg);

30/12/2011

izračunava ispravno, ali s datumom (isti format)

10/12/2011

izračunava kao if ako 10 Pro 2011 umjesto 12 Oct 2011.
Pokušao sam jednostavno promjene položaja vrijednosti dan i mjesec u varijablu "JulianStartDate", kao što je ovaj;

< xsl: naziv s parametarskog = "Mjesec" select="substring(ddwrt:FormatDateTime(string($StartDate), 1033,"GGGGMMDD"); 7; 2)" / >
< xsl: naziv s parametarskog = "Dan" select="substring(ddwrt:FormatDateTime(string($StartDate), 1033,"GGGGMMDD"); 5; 2)" / >

i to ispravili problem s drugog datuma, no bile zatim neispravna za prvi datum!
li i pokušao sam mijenjanja FormatDateTime pozive za korištenje Europske LCID-ova i razne izmijeniti posljednje parametru FormatDateTime (npr. ddMMyyyy, MMddyyyy) s odgovarajuće prilagođavanja podniz Pozicijske parametara bez uspjeh.
Će znatno Hvala sve savjete može ponuditi.
Hvala,
Chris

Bez koda
21/9/2011 4:27 se
li ne smatrate da se XSL preduvjete kao rješenje "bez koda", kao razumijevanje XSL jezik nije za sve – ali ga ne obuhvaćaju programiranje. Osim koji: bolje rješenje, Hvala!

Napomena : Izjava o odricanju od odgovornosti za strojni prijevod: ovaj je članak preveo računalni sustav bez ljudske intervencije. Microsoft nudi strojne prijevode da bi korisnicima koji ne razumiju engleski omogućio čitanje sadržaja o Microsoftovim proizvodima, uslugama i tehnologijama. Budući da je preveden strojno, članak možda sadrži pogreške u vokabularu, sintaksi ili gramatici.

Proširite svoje vještine
Istražite osposobljavanje

Jesu li vam ove informacije bile korisne?

Hvala vam na povratnim informacijama!

Hvala vam na povratnim informacijama! Čini se da bi vam pomoglo kad bismo vas povezali s nekim od naših agenata podrške za Office.

×