سؤال

أواجه مشكلة تتعلق بسير عمل SharePoint وقائمة المهام المرتبطة بها.

لديّ 2 من مهام سير العمل المخصصة التي أنشأناها لمنتجاتنا. يستخدم كلاهما قائمة المهام نفسها التي تحتوي على نوع محتوى مخصص يرث من نوع محتوى المهمة.

الآن لدي حالة تم فيها حذف سير عمل قيد التشغيل عبر القائمة أو المستند ، وهذا يؤدي إلى مهام يتيمة.

أرغب في الكتابة فوق "قوائم المهام" حدث onDeleting ، بحيث يمكن للمستخدمين تنظيف مهامهم حتى لا تحتوي على مهام يتيمة غير ضرورية. لذا فإن حذف العنصر الخاص بي يشبه هذا

public override void ItemDeleting(SPItemEventProperties properties)
{
   SPListItem currentListItem = properties.ListItem;
}

المشكلة هي أنه عندما أذهب إلى وضع التصحيح والتحقق من حقل currentListItem.workflows.count ، فإنه دائمًا ما يكون ذلك 0. لا يهم أي سير العمل الذي أبدأ به أو المهمة التي أنظر إليها ، فإن spworkflowcollection هو دائمًا فارغ :(

كنت أتساءل عما إذا كان هذا قد يكون مرتبطًا بخلل في سير العمل المخصص لدينا حيث لا يتم توصيله بشكل صحيح (لكنه ينتهي بشكل صحيح ويتم حذف المهام عند إنهاء سير العمل) أم أنظر إلى هذا الطريق الخطأ؟

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

المحلول

ال currentListItem لديك في النطاق هنا هو عنصر المهمة نفسه ، وليس عنصر القائمة الذي يعمل عليه سير العمل. المهمة لا لديك سير عمل يركض ضدها ، لذلك من المتوقع عدد الصفر.

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

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