ملاحظة: وهذا اﻷول موقع في www.endusersharepoint.com هنا: http://www.endusersharepoint.com/2009/11/02/comparing-dates-in-a-data-view-web-part-to-build-a-wss-kpi-in-sharepoint/.
وهذا بعد آخر بلوق وظيفة على مقارنة التواريخ في XSL في جزء ويب عرض بيانات في SharePoint.
هذا هو السيناريو بلدي:
- لدى قائمة مخصصة.
- الغرض من القائمة الأعمال دعم فكرة موظف جديد ومهامه تكتمل في غضون 7 أيام من بدء المهمة.
- فهي في منطقة "تحذير" بعد 4 يوما إذا كانوا لم تكتمل هذه المهام.
- أريد إنشاء لوحة معلومات بسيطة توضح الخضراء عند أما أنها أنجزت المهمة أو إذا كان لديهم أكثر من 4 أيام لإنجاز ذلك.
- أريد لوحة القيادة لإظهار الأصفر إذا كانوا في منطقة الإنذار.
- أريد إظهار اللون الأحمر إذا لم يكملوا المهمة بعد تاريخ الاستحقاق.
أنا اقترضت من هذه المقالة. وفي مارك أندرسون مدونة (http://mdasblog.wordpress.com/2008/02/19/comparing-dates-in-sharepoint-using-xsl/) للحصول على منطق المقارنة و هذه المقالة. وفي www.endusersharepoint.com للأفكار الأساسية وراء لوحة التحكم الرئيسية (http://www.endusersharepoint.com/2008/12/09/visual-indicators-for-the-masses-kpis-in-wss/) الكاتب طوني فرانكولا.
وينبغي أن تقرأ مدونات الداعمة, ولكن التنفيذ وغني عن مثل هذا:
- إنشاء نوع محتوى (الأعمدة + CT)
- إنشاء قائمة مخصصة وأقرانه بنوع المحتوى.
- إنشاء صفحة جزء ويب.
- إضافة قائمة مخصصة إلى صفحة جزء ويب.
- تفتح الصفحة في الحزب الاشتراكي الديمقراطي.
- تحويل القائمة إلى دفوب.
- تعديل XSL لتوليد البتات لوحة التحكم الرئيسية.
لدى هذين التاريخين: موعد إنذار وتاريخ الاستحقاق. لمقارنة مواعيد, بلدي xsl بما يلي:
<xsl:اختر> <!-- عندما وقع كل من الدليل والسياسة, نحن الخضراء بغض النظر عن من التواريخ. -->
<xsl:عندما اختبار="@Employee_x0020_Handbook_x003F_ = 1 و @ Security_x0020_Policies = 1"> <عرض وطلب src= "/_layouts/صور/كبيديفولت-0.GIF" alt= "أية مشاكل"/> <أ href= "/هومانريسورسيس/قوائم/نيو Checklist/EditForm.aspx الموظف?معرف ={@ معرف}&أمبير;المصدر =/هومانريسورسيس/تقاسم الوثائق/جديدة لتوظيف Dashboard.aspx"> [تحرير]</أ> </xsl:عندما> <!-- إظهار المؤشر العنبر إذا نحن في الماضي تاريخ الإنذار. -->
<xsl:عندما اختبار= "دورت:فورماتداتيتيمي(السلسلة(دورت:اليوم()), 1033, 'yyyyMMdd') >= دورت:فورماتداتيتيمي(السلسلة(@ تاسكدويداتي), 1033, 'yyyyMMdd')"> <عرض وطلب src="/_layouts/images/KPIDefault-2.GIF" alt= "Overdue"/> <أ نمط= "الحدود: 0مقصف" href= "/هومانريسورسيس/قوائم/نيو Checklist/EditForm.aspx الموظف?معرف ={@ معرف}&أمبير;المصدر =/هومانريسورسيس/تقاسم الوثائق/جديدة لتوظيف Dashboard.aspx"> [تحرير]</أ> </xsl:عندما> <!-- إظهار مؤشر أحمر إذا كنت مررنا تاريخ الاستحقاق. -->
<xsl:عندما اختبار= "دورت:فورماتداتيتيمي(السلسلة(دورت:اليوم()), 1033, 'yyyyMMdd') >= دورت:فورماتداتيتيمي(السلسلة(@ Warning_x0020_Date), 1033, 'yyyyMMdd')"> <عرض وطلب src="/_layouts/images/KPIDefault-1.GIF" alt= "تحذير"/> <أ href= "/هومانريسورسيس/قوائم/نيو Checklist/EditForm.aspx الموظف?معرف ={@ معرف}&أمبير;المصدر =/هومانريسورسيس/تقاسم الوثائق/جديدة لتوظيف Dashboard.aspx"> [تحرير]</أ> </xsl:عندما> <!-- وإذا حصلنا على هنا, نحن أقدم من تاريخ الإنذار, لذلك نحن الخضراء. -->
<xsl:خلاف ذلك> <عرض وطلب src= "/_layouts/صور/كبيديفولت-0.GIF" alt= "أية مشاكل"/> <أ href= "/هومانريسورسيس/قوائم/نيو Checklist/EditForm.aspx الموظف?معرف ={@ معرف}&أمبير;المصدر =/هومانريسورسيس/تقاسم الوثائق/جديدة لتوظيف Dashboard.aspx"> [تحرير]</أ> </xsl:خلاف ذلك> </xsl:اختر> |
عدد قليل من النقاط الرئيسية من أعلى:
- حاولت مقارنة مواعيد دون استخدام وظيفة دورت وحصلت في أي مكان. ما زلت لا أفهم أن. التواريخ المعروضة بشكل صحيح, ولكن كليهما ">"و"<"مقارنات دائماً فشل. وفي نهاية المطاف, دورت جاءت لإنقاذ بلادي (بفضل, مرة أخرى, مارك).
- وأنا أشعر بعرض أيضا [تحرير] ارتباط إلى عنصر. أنا فعلت هذا أساسا حيث أنه يمكن اختبار هذا الخروج بسهولة. الارتباط نفسها قد تكون مفيدة لشخص ما في محاولة لمعرفة ذلك.
- هذا وينفذ في SharePoint على شبكة الإنترنت ويعمل بشكل جيد.
- الصور أنا المرجعية في الدليل _ التخطيطات (/_ التخطيطات/صور/KPI…) تتوفر الخروج من المربع في بلدي البيئة حيث أنهم ربما المتاحة لك، وكذلك.
هنا لقطة شاشة في ما يبدو بالنسبة لي:
</نهاية>
اتبعني على التغريد في http://www.twitter.com/pagalvin