SharePoint: تختفي قيم الأعمدة المحسوبة عند تحرير عنصر القائمة. أيه أفكار؟

StackOverflow https://stackoverflow.com/questions/1094628

  •  11-09-2019
  •  | 
  •  

سؤال

لدي عمود محسوب في قائمة SharePoint 2007 مخصصة، مع الصيغة التالية:

=CONCATENATE("IR-",[ID],"-",LEFT(UPPER([Title]),25))

إذا تم إنشاء عنصر في القائمة، فكل شيء على ما يرام، ومع ذلك، عند تحديث عنصر [ID] لم يعد في العمود المحسوب لهذا العنصر.

لذلك، عند الإبداع: "IR-40-Thetitleishere"، ولكن بعد تحرير، هو "IR - Thetitleishere".

أي شخص لديه بعض نظرة ثاقبة لماذا سيكون هذا يحدث؟

هل كانت مفيدة؟

المحلول

أؤكد السلوك المذكور أعلاه. سيتم مسح أي إضافة / تحرير جزء [معرف]. إذا قمت بتحرير العمود في القائمة وتحديث الصيغة، فسوف يقوم بتحديث جميع عناصر القائمة لتكون صحيحة (حتى تقوم بتحرير على العنصر).

وجدت هذا المنشور الذي يذكر نفس المشكلة.

يبدو أن الحل الوحيد هو جعل سير عمل بسيط باستخدام مصمم SharePoint من شأنه تحديث حقل نصي في قائمتك.

نصائح أخرى

كان لدي مشكلة مماثلة لفترة من الوقت. من خلال مدونات وخبراء أخرى، اكتشفت أن العمود [ID] لا ينبغي استخدامه في عمود محسوب لأنه يعثر على الخراب ويسبب العديد من الأخطاء. آسف - إزالة عمود المعرف ويجب أن تكون على ما يرام.

هذا السؤال قديم قليلا، ولكن كان لدي نفس المشكلة ووجدت حلا لذلك. إنه إصلاح محدد جدا ولن يساعد الجميع - إنه ينطوي على استخدام JavaScript في جزء ويب محرر المحتوى لتحديث الحقل المحسوب.

هذا الموقع -- http://blog.pathtosharepoint.com/2008/09/01/using-calculated-columns-to-write-html/ - يعطي مثالا على كيفية استخدام JavaScript بنفس الطريقة التي استخدمتها .. الكتلة المهمة من التعليمات البرمجية هي أول حلقة. تتمثل هذه النقطة في الاستيلاء على عمود معرف المربع من القائمة وتحديث أي مجال محسوب يحتاج إلى المعرف.

في حالتي، كان لدي عنوان URL في حقل محسوب يطلب من المعرف كمعرف .. بالطبع لن يعمل بشكل طبيعي لأنه لا يمكنك وضع المعرف في حقل محسوب. ما فعلته هو أنني وضعت "؟ ID = NULL" في معلمة معرف عنوان URL الخاص بالحقل المحسوب الخاص بي، ثم استبدال ذلك مع المعرف الذي تم استرجاعه باستخدام JavaScript .. لذلك كلما تم تحميل الصفحة، ينطلق JS والتحديثات من عناوين URL للحصول على المعرف الصحيح.

أعلم أن هذا قديم جدا ولكن لم أتمكن من العثور على نسخة أحدث من السؤال في أي مكان آخر والإجابة أعلاه من Ferr لحل المشكلة بالنسبة لي ولكن ليس واضحا جدا لذلك اعتقدت أنني سأقوم بتحديثه.

يفترض هذا أنك تريد استخدام المعرف في إخراج HTML (على سبيل المثال داخل الرابط)، وأعتقد أن هذا شائع إلى حد ما.

باستخدام JavaScript من رابط PathTosharepoint، أضفت ما يلي للحصول على المعرف باستخدام بيان إذا كان السلامة:

if (HTMLregexp.test(CellContent)) {    //original pathtosharepoint line
   if (NodeSet[i].parentNode.getAttribute("iid")){
      var SPID = NodeSet[i].parentNode.getAttribute("iid").split(",")[1];
      CellContent = CellContent.replace("SPIDReplace", SPID)
   }
NodeSet[i].innerHTML = CellContent;   //original pathtosharepoint line

يتم وضع هذا في حلقة أثناء الإصلاح الأخير في وقت الكتابة. يعمل هذا بالنسبة لي في SharePoint 2010. ملاحظة: قم بتضمين السلسلة "SpidReplace" في عمودك المحسوب للحصول عليه لاستبداله بمعرف العنصر.

صفحة Pathtosharepoint: http://blog.pathtosharepoint.com/category/calculated-columns/Pathtosharepoint: http://pathtosharepoint.com/downloads.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top