פתרון ללא-קוד: הצגת הימים מאז פריט רשימת SharePoint השתנה לאחרונה

פתרון ללא-קוד: הצגת הימים מאז פריט רשימת SharePoint השתנה לאחרונה

הערה:  אנו מעוניינים לספק לך את תוכן העזרה העדכני ביותר במהירות האפשרית, בשפה שלך. דף זה תורגם באמצעות אוטומציה והוא עשוי לכלול שגיאות דקדוק או אי-דיוקים. מטרתנו היא כי תוכן זה יהיה שימושי עבורך. האם תוכל לספר לנו אם המידע הועיל לך, בחלק התחתון של דף זה? לנוחותך, הנה המאמר באנגלית .

9/20/2011 3 01 בלילה

על-ידי עופר Joyce, LANtek

הערה: מאמר זה מהווה חלק אוסף של פרסומים מתוך ארבע שנים של הבלוג לקבל את נקודת עבור משתמשי קצה של SharePoint.

מבט כולל: התאמה אישית גיול דוחות עם לא קוד

אחד של פריטי פונקציונליים המבוקש לעתים קרובות באתר SharePoint הוא דוח התיישנות עבור פעילויות או פריטי רשימה. במילים אחרות, כמה ימים/חודשים מכיל אותו עבר מאז פריט רשימה זה שונה לאחרונה?

במשטח זה נראה כי בקשה פשוט מאוד. אחרי הכל, יש לנו התאריכים עבור הפריטים שנוצר או שונה, יש לנו היכולת לאחסון תאריכים מותאמים אישית כאשר שינויים מסוימים לפריטים שתתרחש דרך מקבלים האירוע. אנו יש לחשב עמודות שבו אנו יכולים לכלול נוסחאות דמויית Excel כדי לעבוד עם מידע שלנו. כך נראה כמו הצעת די ישירות קדימה. אנו בחר שדה תאריך, יצירת עמודה מחושבת, ולאחר מכן בצע נוסחה משהו כמו [DateField]-[היום]. אה, זה לא לכן מהירה זאת! בתור מי ניסה משימה זו "פשוט" יודעת, מנסה להשתמש משהו כגון [היום] בבעיות הגורמים העמודה המחושבת. מנסה להוסיף [היום] לתוך שלך מחושב תיבת הנוסחה של העמודה, תקבל הודעת שגיאה משהו כמו זו:

הודעת שגיאה

מדוע מדובר? ובכן, לו לעשות עם האופן החישוב עמודות מחושבות.

בתור דוגמה, בוא נוסחה פשוטה:

= IF ( [Column1] < = [Column2], "אישור", "לא אישור")

כל זה אומר הוא אשר אם Column1 קטן או שווה ל- Column2, לאחר מכן להציג אישור, אחרת תצוגה Not OK. זהו נוסחאות בסיסיות טיפוסי למדי עבור עמודה מחושבת והופך אותה של ההנחה בסיסי אודות פריט רשימה המכילה עמודות אלה: הערכים עבור Column1 ואת Column2 לעולם לא תהיה אפשרות לשנות מבלי אירוע עדכון פריט רשימה.

נכון, עמודות מחושבות יבצע רק חישוב מחדש כאשר הרשימה מעודכן (או ליצור) מכיוון שהם מבוססים על ההנחה שהמידע שאותו אתה מחשב כלול בפריט עצמו. פעולה זו יוצרת בעיה כאשר אתה מנסה להשתמש משהו שמשתנה תלוי השדות של הפריט, כגון התאריך של היום.

כעת ניתן היה בפגישה שבו הם החליט כי זוהי הדרך המחושבים עמודות בדרך כלל יפעלו כהלכה, עם זאת, אם ניתן היה להפוך של guess מושכלות שניתן בדרך כלל מבוססים על ההנחה כי הם פועלים באופן זה לקבלת ביצועים. דמיין אם היו לך רשימה של מספר פריטים אלפים, שכל אחד מהם הכלול עמודה מחושבת נחוצים של עדכון "חי". בדרך כלל פירוש הדבר אשר מנגנון מסוים, אולי משימת שעון עצר, יצטרך לחזור שוב ושוב עד כל פריט הכלול עמודה מחושבת מעת לעת ולעדכן את הערך שלו. פעולה זו היתה אפשרות מאוד לגזול במונחים של ביצועים מכיוון עם פריסות גדולות יותר משימה זו עשויה ללא הרף להיות פועל שינוי דברים. זוהי רק guess שלי, אך שהיא מבצעת למדי מעט מתאים אם אתה סבור בנוגע לכך.

קיימות כמה הצעות צפה בשוק פתרונות דומים הכרוכות הונאת כדי ב- SharePoint כדי לקבל ערך היום על-ידי יצירת עמודה בשם היום, לאחר מכן הוספתו לפקודה הנוסחה שלך ולאחר מכן למחוק אותה. אלה הן כל היטב ולבנות טוב, אך זכור מה אני אמר אודות במועד העדכון של עמודות מחושבות. ערך זה תשנה רק כאשר הפריט מתעדכן שמשמעותו שערכי ה-בקרוב יהיו שגויים, במיוחד במקרה של חישוב יום.

ניתן שהוצגו לאחרים באמצעות JavaScript מתוחכם כדי לכתוב את הערכים לדף. פעולה זו עשויה להתאים גם, אך אני די שטח categorically מול script הלקוח כאשר הוא יכול להימנע.

יישום:

אז מה ניתן לעשות? עמודות מחושבות הם מחוץ השאלה עבור פונקציות "נדיפות" הנקראים לכן, כגון היום. קיימת אפשרות כי אנו יכול לפתח קוד מותאם כלשהו כדי לטפל זו עבור לנו כמו עמודות מחושבות, משימת שעון עצר, או לתזמן תהליך כדי להגיע ולעדכן כל פריט יחיד שמצריך בוצע חישוב זה. אשר מקרב לנו בחזרה בעיית ביצועים שניתן המוזכרות הפיסקה האחרונה עם זאת, וזהו בנוסף פתרון brittle יהיה ספציפי מאוד האתר/הרשימה/לעמודה הנדון. מעל סוגיות שני אלה, בדרך כלל גם עליך לעבור לאתר של nerdy guy, כגון בעצמי, אשר יודעים כיצד קוד ולשכנע לו לפתח פתרון זה עבורך. אך אין דרך קלה יותר!

אם יש לך זכויות כדי ליצור שדות ועריכה של דפים באתר שלך, ויש לך מעט ידע XSLT ויצירת תצוגות, באפשרותך להציב יחד תבנית של XSL ניתן לכלול בתצוגת רשימה ולאחר המדמה באופן יחשב ערך שלך בכל פעם שבקשת העמוד. תרחיש זה מסיר בעייתי שלנו על ביצועים ולאחר אינו דורש קוד מותאם אישית שפותח ואחסון שנפרס באמצעות פתרון.

מושלם. אז וכיצד אנו לבצע זאת?

  1. צור או בחר את השדה שישמשו כמקור שלנו. עליו להיות סוג תאריך.

  2. יצירת שדה שלנו שישמשו כמציין מיקום עבור הערך במהלך חישוב.

  3. הוסף שני שדות אלה לסוג תוכן והוסף סוג תוכן זה לרשימה.

  4. יצירת תצוגה של רשימה זו המכילה הן את טבלת המקור וגם את מציין המיקום של עמודות.

  5. העלאת תבנית XSL אל ספריית סגנונות.

  6. הגדר את המאפיין "קישור XSL" עבור Web Part של תצוגת רשימה באמצעות ממשק המשתמש.

  7. הצלחת!

בוא סיור מקרה שימוש של דוגמה, ולהנחות באמצעות היישום. הלקוחות שלנו רצוי תצוגה של רשימה שלהם הראשי בדרך כלל המורים אותם משך הזמן פריט רשימה ספציפית היה שאוחסן היושב ליד המצב שלה. רשימה זו הכלול אתר מותאם אישית תוכן סוג נגזר מסוג הפריט ואת נוספת לרשימה. אירעה כבר גורם מקבל של אירועים במקום לוכד בכל פעם לשדה מצב בפריט הרשימה היה השתנה ושמרת אותו תאריך עמודה בשם "לשנות מצב תאריך". כל זה אינו נדרש, חיווט ניתן לעשות עם כל אחד מהשדות תאריך (לבעיה זו פשוט כך שלנו יישום אך הרגש חופשי ניסיונות). הפעולות המינימליות שתזדקק הוא שדה תאריך מקור ושדה מציין המיקום שלך כדי להשהות את החישוב (מידע נוסף על כך בהפיסקה הבאה) נוספים לרשימת שלך, למרות המציעה שתשתמש עמודות אתר וסוגי תוכן של אתר, במקרה שברצונך לעשות בו שימוש חוזר פתרון זה באחרים מ ערכי ace באתר שלך.

כך יש לנו שלנו תאריך מקור אנו יכולים להשתמש בו בחישוב שלנו מול התאריך של היום. כעת נוכל ליצור עמודת אתר מותאמת אישית לשימוש כגורם מכיל ערך מחושב שלנו. במקרה זה ניתן לבחור לשימוש עמודה מחושבת מאז לא תהיה אפשרות להיות שונה בכרטיסיה החדשה או לערוך פריט טפסים, אך ניתן לבחור לתצוגה בתצוגות מאז אנו ואינך מעוניין למשתמשים להזין ערכים שרירותי על עמודה זו. הסיבה לכך יכולה להיות מבלבל לגבי מדוע הוא אינו מוצג תצוגות, וכן הלאה.

לאחר שקיבלנו עמודת אתר שלנו, אנו באפשרותך להוסיף אותה לסוגי תוכן שלנו שבו ייעשה שימוש ברשימה שלנו. בשלב הבא, אנו זקוקים ליצירת שלנו התצוגה שבה מאוחר יותר להתאמה אישית עם XSLT שלנו. ודא שאתה יוצר תצוגה רגילה המכילה עמודת התאריך המקור ואת שלך עמודה מחושבת חדשה שישמשו כמציין מיקום עבור הערך המחושב.

אנו כעת כוללת הכל המקום שבו אנו ידרשו לתמיכה שלנו דוח התיישנות מותאם אישית. כל נשאר יוצר תבנית XSL שלנו, העלאה שלו לספריית סגנונות של האתר, ולקשר אותו שלנו תצוגת רשימה. התבנית XSL שאנו נשתמש עומדת כך שיכיל מסוימים סימונים רגילה שנוצר על-ידי SharePoint ליצירת התצוגה וכן משלנו סימון מותאם אישית המשמש כדי לעקוף חלקים מסוימים של כך ולחשב שלנו הערך הרצוי עבור לנו.

הגשת אשראי שבו הגיע אשראי, התבניות XSL עבור ביצוע החישובים בפועל אני משתמש עבור פתרון זה שסופקו באדיבות על-ידי "swirch" בפורומים MSDN:
http://social.msdn.microsoft.com/Forums/en-US/ sharepointcustomization/רצף תגובות/aeda905b-9bc6-40c4-bd22-21306c5cb0d2 /

הורד את גליון הסגנונות של XSL (aging.zip) יש שמרתי יחד הממוקמת כאן:
https://OneDrive.live.com/?cid=c262e8e2d59a86d9&permissionsChanged=1&id=C262E8E2D59A86D9! 104

לפתוח כך בעורך טקסט המועדפים שלך תראה המון סימונים SharePoint XSL normal לעיבוד התצוגות, אם לשמור גלילה מטה אל קו 357 תראה התחלת התבניות המותאמות אישית שלא ניתן להוסיף הסימונים, temp לראשונה כעת "DateDiff" מאוחר ואחריו "לחשב-יוליאני-day" ואת "FieldRef_printTableCell_EcbAllowed.Days_x0020_At_x0020_Status". אלה הן שלנו תבניות שלוש להפוך ולאחר להציג חישובים שלנו בתצוגות שלנו. אם בכוונתך להשתמש שמות שדות שונים ממה שצוין לעיל במאמר זה, יהיה עליך לעבור תבניות אלה ולהחליף וכל ההפניות לשמות אחרים. זכור, זה שמומלץ לשימוש בשם הפנימי של השדה לא שם התצוגה.

לאחר שווידאת שהתבנית תהיה מוכן לעבור, נווט אל ספריית סגנון להעלות אותו תחת התיקיה "גליונות סגנונות XSL" מכן להעתיק למטה הקישור לקובץ. פעולה זו מאפשר לנו בקלות לבצע בו שינויים מאוחר יותר, או להוסיף אותו חלקים שונים של האתר כפי אנו נא.

בשלב הבא, עבור אל רשימת שלך ולאחר מכן בחר את התצוגה שיצרת מוקדם יותר במאמר זה. מהדף "פעולות אתר" תפריט לחץ על "ערוך דף".

הפקודה 'ערוך דף' בתפריט 'פעולות אתר'

אתר את Web Part של תצוגת רשימה בדף ופתח את תפריט Web Part על-ידי לחיצה החץ הפונה כלפי מטה הקטן בפינה העליונה שמאל. מתפריט זה, בחר "עריכת Web Part".

עריכת פקודה של Web Part בתפריט Web Part

פעולה זו תפתח תפריט של ה-Web Part בצד שמאל של חלון הדפדפן.

תפריט Web Part

לחץ על סימן החיבור עבור "שונות" המקטע ואתר את המאפיין "קישור XSL".

המאפיין 'קישור XSL' בתפריט Web Part

הדבק קישור לקובץ XSL בספריה סגנונות שהועתקו למטה קודם לכן (זו יכולה להיות קישור יחסי או מוחלט).

קישור קובץ XSL מודבק

לחץ על "אישור" כדי לשמור את השינויים ולאחר מכן לחץ על לחצן 'הפסק עריכה' ברצועת הכלים "Page" בראש הדף.

לחצן 'הפסק עריכה' בכרטיסיה 'דף'

אם כל מה היה מוגדרת כהלכה כעת אתה אמור לראות מספרים בעמודה "ימים במצב" שלך.

העמודה 'ימים במצב' מציגה מספר

והנה לבסוף, מה הוא ייראה כמו עם כמה בדיקת נתונים של תאריכים שונים:

דוח התיישנות מציג נתוני בדיקה

סיכום:

אותו קיימת: דרך מעוצב בצורה יפה, יציב ובשמירה טוב יותר ליצירת דוח התיישנות ב- SharePoint., להשלים עם יישום ללא קוד פשוט. יש בדיוק כמה פוטנציאליות יישומים מלבד לזו מקרה שאנו לסייר השימוש כאן. התרחיש הנפוץ אחר עבור סוג זה של דוח הוא הוספתו אל רשימת משימות כך שתוכל לראות כמה זמן שעברו מאז פעילות נוצר במבט חטוף.

ליהנות!

-עופר

עופר Joyce, LANtek

הערות

שלבים חסר
10/8/2012 3:51 AM
אישור ניתן במעקב השלבים, אך יש משהו חסר - כיצד ה-XSL לדעת באיזה תאריך יש להשתמש, או השדה כדי להוסיף את הימים מאז לתוך? קשה אותו כאשר הם נענו שלבים.

ללא-קוד, מסכים!
8/30/2012 12 בלילה
אני מסכים - אינך חושב זו סופרת באמת כקוד"לא".
Interestingly, עד כמה screwup של SharePoint, יש לי עמודה מחושבת העבודה באמצעות היום … אינך בטוח כיצד או מדוע מאחר אין אפשרות לקבל אותו הביצוע שוב, אך הוא עובד וכבר עדיין.

עמודה מחושבת הנוסחה לימים"בכל מצב"?
5/2/2012 7:39 AM
עופר - מהו הנוסחה שבה השתמשת עבור עמודת אתר מחושבת "ימים במצב" (עמודה מציין מיקום) שלך? היה "= היום"?

SharePoint 2007
2/12/2011 היא 29 AM
כעת ניתן לא ניסית להחיל פתרון זה SharePoint 2007, אך שאני רוצה אליו. למרבה הצער אין מאפיין XslLink קרוב לפני השטח ב- web part באמצעות ממשק המשתמש.

פרסם נהדר
30/11/2011 9:53 AM
שלום,
הצבה נהדר.
אני משתמש ב- SharePoint 2007.
אין לי מקטע שונות כפי שצוין לעיל.
יש לך שלבים עבור תצורה SP2007?
תודה.

הנדון: פתרון ללא קוד: הצגת הימים מאז פריט רשימת SharePoint האחרון השתנה
10/11/2011 8:24 AM
כריס Hi.
חיפוש נהדר!
i אני אשתמש נבחן מה שהצבת hopefully בהמשך היום ובדוק אם i להפוך פתרון זה חזקה מעט יותר.
שאני שמח שאהבו ההצבה ושאני מאוד שמח היתה לך אפשרות למצוא תבנית התאריך אירופאיות פתרון. :)
-עופר

פתרון עבור תבניות תאריך אירופאיות
10/11/2011 6:45 AM
Hi עופר שוב,
לידיעתך, ניתן למצוא פתרון לבעיה ניתן שצוין קודם לכן בדף זה.
https://sharepointbydummies.wordpress.com/2011/07/13/possible-work-around-to-date-format-issue-sharepoint-2010/

תבניות תאריך אירופאיות
7/10/2011 3:59 AM
עופר Hi,
זוהי תודה פתרון מוצלח ורק על סוג הדבר ניתן מעולם שהושקע האחרון יומיים מחפש! עם זאת יש לי בעיה עם אותו מעט והיה בתקווה שהיתה עזור לי.
ניתן מעולם שונה מעט שלך קוד calcultate מספר הימים עד משהו קורה, ולא מאז, על-ידי מעבר המשתנים בשורה האחרונה של הפונקציה "DateDiff";

< xsl:value-של בחר = "$JulianToday - $JulianStartDate" >< / xsl:value-של >

עם זאת באפשרותי בלבד להגיע אותו caclulate ההבדל כראוי מחצית השעה. אז לדוגמה עם תאריך זה (עיצוב dd/MM/yyyy);

30/12/2011

הוא מחשב כראוי, אך עם תאריך זה (באותה תבנית)

12/10/2011

הוא מחשב בתור if אם 10-דצמ-2011 במקום 12-Oct-2011.
ניסיתי פשוט החלפת למיקומים הערכים חודש ויום במשתנה "JulianStartDate", כך;

< xsl: שם עם הפרמטר = "Month" select="substring(ddwrt:FormatDateTime(string($StartDate), 1033, 'yyyyMMdd'), 7, 2)" / >
< xsl: שם עם הפרמטר = בחר "Day" = "מחרוזת משנה (ddwrt:FormatDateTime (מחרוזת ($ StartDate), 1033, 'yyyyMMdd'), 5, 2) "/ >

ופעולה זו פתרון הבעיה עם התאריך השני, אך שהיה מכן שגוי עבור התאריך הראשון!
ניתן ניסיתי גם לשנות FormatDateTime מתקשר ערכי Lcid אירופאיות ותווים השינויים שונים האחרון פרמטר של FormatDateTime (למשל ddMMyyyy, MMddyyyy) עם התאמות המתאים מחרוזת המשנה פרמטרים לפי מיקום מבלי הצלחה.
ניתן במידה ניכרת מעריכים כלשהו עצה באפשרותך להציע.
תודה,
כריס

ללא-קוד
9/21/2011 4:27 AM
אינך חושב כי XSL עומד בדרישות כפתרון "ללא-קוד", בשם הכרת XSL השפה אינה עבור כולם - אך הוא אינו כרוכות תיכנות. מלבד אשר: פתרון נחמד, תודה!

שפר את הכישורים שלך ב- Office
סייר בהדרכה
קבל תכונות חדשות לפני כולם
הצטרף למשתתפי Office Insider

האם מידע זה היה שימושי?

תודה על המשוב!

תודה על המשוב! נראה שכדאי לקשר אותך לאחד מנציגי התמיכה של Office.

×