Kodsuz çözüm: bu yana SharePoint liste öğesi son değiştirildiği gün görüntüleme

Kodsuz çözüm: bu yana SharePoint liste öğesi son değiştirildiği gün görüntüleme

Önemli : Bu makale makine çevisidir. Bkz. yasal uyarı. Bu makalenin İngilizce sürümüne buradan ulaşabilirsiniz.

20/9/2011 3:01 PM

LANtek Justin Joyce göre

Not : Bu makalede, SharePoint son kullanıcılar için dört yıllar noktası alın blog gönderileri topluluğu bir parçasıdır.

Genel Bakış: Özel kod olmadan raporları yaşlandırma

Bir SharePoint sitesi çok istenen işlevsel parçalarını görevlerin veya liste öğelerini yaşlandırma raporu biridir. Başka bir deyişle, kaç gün/ay bulunur bu liste öğesi son değiştirilme beri edildi?

Yüzey üzerinde bu çok basit bir istek görünüyor. Sonuçta, biz oluşturulan ve değiştirilen öğeler için tarihleri var, ne zaman bazı değişiklikler öğeler için Olay alıcıları aracılığıyla gerçekleşir özel tarihler depolama yeteneği sunuyoruz. Biz hesaplanan sütunları biz bizim bilgileri ile çalışmak için Excel benzeri formülleri nerede içerebilir. Bu oldukça doğrudan iletme bir teklifi gibi görünüyor. Biz tarih alanını seçin, hesaplanan sütun oluşturma ve sonra formül [DateField] – satırlarını boyunca [Bugün] bir şeyler. Burada sürpriz, değil nedenle hızlı olsa bile! Bu "Basit" görevi çalıştı herkes, [Bugün] gibi bir hesaplanan sütun nedenleri sorunlarını kullanmaya çalışıyor bilir. [Bugün], hesaplanan eklemeyi deneyin sütunun formül kutusu verir gösterilene benzer bir hata iletisi:

Hata iletisi

Neden bu mu? Geldi ile yapmak sahip hesaplanan sütunları hesaplanma şeklini.

Örnek olarak basit bir formül geçirelim:

= Eğer ( [Sütun1] < [Sütun2], "Tamam", "Tamam değil" =)

Tüm bu Sütun1 Sütun2, eşit veya küçükse, ardından Tamam görüntüleme olduğuna ilişkin, aksi halde Tamam değil görüntüleme. Bu oldukça tipik temel bir formülün bir hesaplanan sütunun ve bu sütunlar içeren liste öğesi hakkındaki temel bir varsayımını kolaylaştırır: Sütun1 ve Sütun2 değerleri hiçbir zaman liste öğesini güncelleştir olaya olmadan değiştirme imkanınız olur.

Hesaplanan sütunlar yalnızca yeniden hesaplar listesi (oluşturulan veya güncelleştirildiğinde) doğru olan bu yana hesaplama bilgileri öğede bulunan oldukları varsayılır. Bağımsız olarak bugünün tarihi gibi öğenin alanlarını değişen bir şey kullanmaya çalışırken bu sorun oluşturur.

Şimdi ben nerede bunlar bu dayalı performans için bu şekilde işlevi olduğunu varsayalım bir tahmin yapmak varsa, hesaplanan sütunları, Bununla birlikte, işlev biçimini olduğuna karar toplantıdaki edilemedi. Birkaç binlik öğelerin listesini varsa, her biri "canlı" güncelleştirme gerekli bir hesaplanan sütunun içerdiği düşünün. Bu, bazı düzeneği anlamına gelir, belki de bir zamanlayıcı işi sahip o hesaplanan sütuna every kadar sık yer alan ve değeri güncelleştirme her öğe yinelemek. Daha büyük dağıtımları ile bu işi sürekli çalıştıran öğeleri değiştirme çünkü ve bu aşırı performans açısından yükünü artırmasının tersine. Benim tahmin olan, ancak hakkında düşünüyorsanız oldukça bir boyutta anlamlı bir hale getirir.

Bugün değeri ilk Bugün, adlandırılmış bir sütunu oluşturma sonra formülü ekleme sonra silmeden kabul etmek için SharePoint'te şekilde kandırma kapsayan dışarıdan kayan benzer çözümleri için bazı öneriler vardır. Bunlar, tüm çok iyi, ancak hesaplanan sütunlar güncelleştirildiğinde ne yapmalıyım hakkında belirtilmektedir unutmayın. Öğeyi değerlerinizi yakında özellikle bir gün hesaplama söz konusu olduğunda yanlış olur anlamına gelen güncelleştirildiğinde bu değeri yalnızca değiştirir.

Başkalarının gördünüz değerleri sayfasına yazmak için akıllı JavaScript kullanma. Bu de çalışır, ancak ben büyük ölçüde kaçınılması olduğunda categorically istemci komut dosyası karşı.

Uygulama:

Peki ne yapmalı? Hesaplanan sütunları soru bugün gibi nedenle çağrılan "geçici" işlevler için oturumunu olur. Biz, bunun için bize bir hesaplanan sütun gibi Zamanlayıcı işi yapılıyor için bazı özel kod geliştirebilir veya gelen ve yapılan bu hesaplama gereken her tek öğe güncelleştirme işlemi zamanlanan mümkündür. Bu bize geri son paragrafta olsa bile sözü performans sorunu getirir ve ayrıca site/listesi/sütun için söz konusu çok özel olabilecek kırılır çözüm demektir. Bu iki kaygılar üzerine gidin, kod ettikten sizin için bu çözümü geliştirmek için ona tıklatmaya nasıl bilen bir nerdy guy, kendim gibi bulmak gerekir. Ancak, daha kolay bir yolu var!

Sitenizdeki sayfaları alanları oluşturmak ve düzenlemek için haklara sahip ve biraz XSLT ve görünümleri oluşturma hakkında bilgi varsa, liste görünümünde eklenebilir ve faithfully sayfa istenen her zaman, değeri hesaplar bir XSL şablonu birlikte koyabilirsiniz. Bu senaryo bizim önemli performans artışı kaldırır ve bir çözüm dağıtılan ve geliştirilen için özel kod gerektirmez.

Mükemmel. Peki nasıl Bunu yapmak istersiniz?

  1. Oluşturma veya bizim kaynağı olarak görecek alanı seçin. Bu tarih türünü olmalıdır.

  2. Hesaplanan değeri için yer tutucu görevini görecek bizim bir alan oluşturun.

  3. Bu alanları her ikisi de bir içerik türüne eklemek ve bu içerik türü listeye ekleyin.

  4. Hem kaynak hem de yer tutucu sütunları içeren bu listenin görünümünü oluşturma.

  5. XSL şablonu stilleri kitaplığına yükleyin.

  6. Liste Görünümü Web Bölümü kullanıcı Arabirimi aracılığıyla "XSL Bağlantısı" özelliğini ayarlayın.

  7. Başarılı!

Haydi bir örnek kullanım durumu keşfetme ve uygulaması aracılığıyla yol. Bizim müşteri ne kadar süreyle durumunu belirli bir liste öğesini oturan bunları bildirir kendi ana listesi görünümünü çevrilmiyorsa. Bu listeyi yer alan bir özel site içerik türü öğesi türünden türetilmiş ve listesine eklenir. Oluştu zaten bir olay alıcı her zaman bu durum alanında liste öğesinde yakalayan bir yerde değiştirdiğiniz ve bu tarihten "Durum tarihi değiştirildi" adlı bir sütun olarak kaydedilir. Bu kablolaması gerekli değildir ve herhangi bir tarih alanı ile yapılabilir (bunu yalnızca bu nedenle bu durumun oluştuğu bizim uygulaması ama kullanım denemek ücretsiz). İhtiyacınız olanlar sade en az kaynak tarih alanı ve ben, bu çözüm başka yerlerde sitenizde yeniden kullanmak istediğiniz durumlarda site sütunlarını ve site içerik türlerini kullanma önermek rağmen (hakkında daha fazla bilgi bu konuda bir sonraki paragrafa), listenize hesaplamaya tutmak için yer tutucu alanı gerekir.

Bu nedenle bizim hesaplama bugünün tarihini karşı kullanabileceğiniz bizim kaynağı tarih gerekir. Şimdi biz bizim hesaplanan değeri için kapsayıcı olarak kullanmak için özel site sütunu oluşturabilirsiniz. Bu durumda yeni üzerinde değiştirilmesi veya öğesi formları düzenlemek mümkün olmayacaktır ancak biz kullanıcılar bu sütun için rasgele değerleri girmek istemiyorsanız bu yana görünümlerinde görüntülenmesi için seçilebilen bu yana bir hesaplanan sütun kullanma seçtiniz. Neden bu görüntülenmez görünümleri, vb. için farklı kafa karıştırıcı olabilir.

Şimdi biz bizim site sütunu olduğuna göre biz bunu kullanılacak bizim içerik türlerine listemizde ekleyebilirsiniz. Ardından, daha sonra özelleştirilmiş bizim görünümü ile bizim XSLT oluşturma geçmelisiniz. Kaynak tarih sütununuz ve hesaplanan değeri için yer tutucu görevini görecek, yeni bir hesaplanan sütun içeren bir Standart Görünüm oluşturduğunuzdan emin olun.

Biz şimdi her şeyi bizim Özel yaşlandırma raporu desteklemek için gerektirmektedir yerinde vardır. Tüm kalır oluşturarak sitenin stili kitaplığa yükleme ve bizim liste görünümü bağlama bizim XSL şablonu. Bu belirli bölümlerini geçersiz kılmasına ve bize için bizim istediğiniz değeri hesaplamak için kullanılan kendi özel biçimlendirme yanı sıra görünümü oluşturmak için bazı normal SharePoint tarafından oluşturulan biçimlendirme içeren biz kullanarak XSL şablonu olacaksa.

Kredi kredi son nerede vererek, ben için bu çözümü kullanarak fiili hesaplamalar yapmak için XSL şablonları graciously MSDN Forum "swirch" tarafından sağlanan:
http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomization/thread/aeda905b-9bc6-40c4-bd22-21306c5cb0d2/

Birlikte burada bulunan ben koyma XSL stil sayfası (aging.zip) indirin:
https://OneDrive.live.com/?cid=c262e8e2d59a86d9&permissionsChanged=1&id=C262E8E2D59A86D9! 104

Bu satır için işaretlemeyi ekledim özel şablonları başlangıcını görürsünüz 357 aşağı kaydırma tutmak istiyorsanız, görünümleri işlemek için normal SharePoint XSL Biçimlendirme fazlasıyla görürsünüz, sık kullanılan metin düzenleyicisinde açmadan, "DateDiff" şablonu olmayı ilki takip edilen "hesaplama Jülyen-günlük" ve "FieldRef_printTableCell_EcbAllowed.Days_x0020_At_x0020_Status" tarafından. Yapma ve bizim hesaplamalar bizim görünümde gösterilecek şablonlarımızı üç alanlarıdır. Bu makalede belirtilenden farklı bir alan adları kullanmasını kullanacaksanız, bu şablonları gidin ve diğer adları olan başvuruları değiştirin gerekecektir. , Bunun için görünen ad alanı iç adını kullanmak istediğiniz unutmayın.

Bir kez memnun şablonu gidin, Stil Kitaplığı'na gidin ve "XSL stil sayfaları" klasörü altında karşıya sonra dosyaya bağlantı kopyalamak hazır olup olmadığını. Bu kolayca daha sonra değişiklik kurmamıza izin vermek veya biz Lütfen gibi site farklı bölümlerini ekleyin.

Ardından, listenize gidin ve bu makalede daha önce oluşturduğunuz görünümü seçin. "Site eylemleri" "Düzenle sayfasında" menüsünü tıklatın.

Site Eylemleri menüsünde Sayfayı Düzenle komutu

Sayfada, Liste Görünümü Web bölümünü bulun ve sağ taraftaki üst köşesindeki küçük Aşağı dönük oka tıklayarak Web Bölümü menüsünü açın. Bu menüden "Web Bölümünü Düzenle" seçin.

Web Bölümü menüsünde Web Bölümünü Düzenle komutu

Bu Web bölümünün sağ taraftaki tarayıcı pencerenizin menüsünde yukarı açar.

Web Bölümü menüsü

+ "Çeşitli" için bölümünü tıklatın ve "XSL Bağlantısı" özelliğini bulun.

Web Bölüm menüsünde XSL Bağlantısı özelliği

XSL dosyanızı kitaplığınızdaki stilleri aşağı daha önce kopyaladığınız ilişkilendir Yapıştır (mutlak veya göreli bağlantı olabilir).

yapıştırılan XSL dosya bağlantısı

Değişikliklerinizi kaydetmek için sayfanın en üstünde "Sayfa" Şerit "Düzenlemeyi Durdur'u" düğmesine tıklayın "Tamam"'ı tıklatın.

Sayfa sekmesinde Düzenlemeyi Durdur düğmesi

Her şeyin doğru bir şekilde yapılandırıldıysa, sayıları "Gün en durum" sütununuzun görmelisiniz.

Gün en Durum sütununda sayı görüntüleme

Ve son olarak, burada ne bunu bazı ile test verilerini çeşitli tarih gibi görünebilir:

Test verilerini görüntüleyen Yaşlandırma Raporu

Özet:

Var olan: yaşlandırma raporu SharePoint. oluşturmak için güzel biçimlendirilmiş, güçlü ve daha iyi performansı gösteren bir yol basit bir Kodsuz yapıyı tamamlayın. Bu, kullanım durumu biz bulunan burada oldukça birkaç olası uygulamaları birini yanı sıra sahiptir. Bir görevi bir bakışta oluşturulduktan sonra ne kadar süredir görebilmeniz için bu tür bir rapor için başka bir yaygın senaryo bir görevler listesi eklendiğini.

Keyfini çıkarın!

--Justin

Justin Joyce, LANtek

Açıklamalar

Eksik adımlar
8/10/2012 3:51 AM
Tamam ı adımları izlediyseniz ancak bulunmalıdır bir şey eksik - nasıl XSL bilmesi kullanılacak tarihi veya bu yana gün içinde eklemek için alan? adımları yanıtsız zaman nefret edin.

Kodsuz, kabul!
30/8/2012 12:12 PM
kabul ediyorum - bu gerçekten sayar "kodu olarak" edeceğini düşünmüyorsunuz.
İlginçtir ki, bazı SharePoint screwup, bugün kullanarak... çalışma hesaplanan sütunu sahibim emin değil nasıl veya neden çünkü bunu yeniden yapmak için erişemiyorlar, ancak yine de varsa ve çalışma efekttir.

Formül "Gün" Durum sütunu hesaplanan?
5/2/2012 7:39 AM
Justin - "Gün en durum" hesaplanan site sütunu (yer tutucu sütun) için kullanılan formül nedir? Haline "Bugün ="?

SharePoint 2007
2/12/2011 11:29 AM
ben için arıyorsunuz ancak şu anda ben SharePoint 2007, bu çözüm uygulamak istediniz değil. Ne yazık ki UI aracılığıyla web bölümü'nde ortaya XslLink özellik yok.

Mükemmel gönderi
30/11/2011 9:53 AM
Merhaba,
mükemmel gönderi.
SharePoint 2007 kullanma.
Yukarıda belirtildiği gibi çeşitli bölüm olması gerekmez.
SP2007 yapılandırma adımları var?
Teşekkür ederiz.

Yeniden: Kodsuz çözüm: bu yana SharePoint liste öğesi son gün görüntüleyen değiştirilmiş
11/10/2011 8:24 AM
yüksek Chris.
mükemmel Bul!
i ne, Umarım daha sonra bugün gönderilen bir göz atalım gidiyorum ve i bu çözüm biraz daha güçlü yapabileceğiniz varsa konusuna bakın.
ettiğim gönderiyi beğendiğinizi ve ettiğim Avrupa tarih biçimine bir çözüm olarak bulamayan çok memnun memnun. :)
-Justin

Avrupa tarih biçimleri için çözüm
11/10/2011 6:45 AM
yüksek yeniden Justin
Bilginize, ben sözü edilen daha önce bu sayfada; soruna yönelik bir çözüm bulunan ben
https://sharepointbydummies.wordpress.com/2011/07/13/possible-work-around-to-date-format-issue-sharepoint-2010/

Avrupa tarih biçimleri
7/10/2011 3:59 AM
yüksek Justin
bu gerçekten iyi bir çözüm teşekkürler ve sıralama öğenin yalnızca ben aradığınız son iki gün harcanan! Bununla birlikte, biraz bir sorun yaşıyorum ve bana yardımcı olabilecek umarak.
Kodunuzu calcultate, beri yerine, bir şey kadar olan gün sayısı için biraz değiştirmiş tarafından değişkenleri "DateDiff" işlevinin; son satırın geçiş yapma

< başlıklı-seçin = "$JulianToday - $JulianStartDate" >< / başlıklı-birini >

ancak ben yalnızca bu fark zamanın doğru yarısı için caclulate elde edebilirsiniz. Bu tarih (biçim gg/aa/yyyy); dolayısıyla örneğinin ile

30/12/2011

düzgün ancak bu tarihle (aynı biçimi) hesaplar

10/12/2011

olarak hesaplar 10 Ara 2011 ise Eğer 12 Eki 2011 yerine.
denedim basitçe böyle; "JulianStartDate" değişkeninde gün ve ay değerleri konumlarını değiştirme

< xsl: ile parametre adı "Ay" select="substring(ddwrt:FormatDateTime(string($StartDate), 1033, 'yyyyaagg' =), 7, 2)" / >
< xsl: ile parametre adı "Gün" select="substring(ddwrt:FormatDateTime(string($StartDate), 1033, 'yyyyaagg' =), 5, 2)" / >

ve bunu sonra ilk tarihini yanlış ancak bu sorun ikinci tarihi düzeltilebilir!
De alt dize konumsal parametreleri olmadan başarı uygun ayarlamalar Avrupa LCID ve son parametre çeşitli değişiklikleri FormatDateTime (örneğin ddMMyyyy, MMddyyyy) birini kullanmak için FormatDateTime aramaları değiştirmeden denedim.
miyim büyük ölçüde herhangi bir öneri sunmak için önemlidir.
Teşekkürler,
Chris

Kodsuz
21/9/2011 4:27 AM
XSL XSL dili değil herkes için - programlama içermeyen ancak anlama olarak bir "Kodsuz" Çözüm olarak kabul edilmemektedir edeceğini düşünmüyorsunuz. Bu yanı sıra: iyi çözüm, teşekkürler!

Not : Makine Çevirisi Yasal Uyarısı: Bu makale, insan müdahalesi olmadan bir bilgisayar sistemi tarafından çevrilmiştir. Microsoft bu makine çevirilerini İngilizce bilmeyen kullanıcıların Microsoft ürünleri, hizmetleri ve teknolojileriyle ilgili içeriklerden yararlanmasına yardımcı olmak için sunar. Bu makale makine çevirisi olduğundan sözcük, cümle dizilimi ve gramer hataları içerebilir.

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Office Insider Programına Katılın

Bu bilgi yararlı oldu mu?

Görüşleriniz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×