شرط گذاری بر روی قابلیت History

0 رأی
میانگین بازدید روزانه 0.0722 بازدید
با سلام
چطور میشه بر روی تخصیص فعالیت بر اساس History در activiti شرط گذاشت. به این معنی که ما در ابتدای فرآیند فعالیتی داریم که بر اساس شرایطی به نقش های مختلف در یک سازمان تخصیص داده می‌شود. اما می خواهیم زمانی که فرآیند برای دفعات بعد به این فعالیت بازگشت، تخصیص فعالیت بر اساس شرایط اولیه نباشد و به سمتی تخصیص یابد که قبلا این فعالیت را انجام داده است.
این فعالیت بیش از یک ورودی دارد و میخواهیم بر روی هر یک از این ورودی ها شرط گذاری کنیم که کدام یک از History استفاده کند و کدام یک بر اساس History نباشد.

با تشکر از توجه شما
سوال 9 ماه قبل در تالار کامپیوتر و اینترنت توسط m.heidari (6 امتیاز)

1 جواب

0 رأی
 
بهترین جواب

شرط فعالسازی را می‌توانیم با این سناریو تعریف کنیم:

  1. در مسیرهای منتهی به User Task موردنظر که میخواهیم از آن مسیر History غیرفعال شود، متغیری تعریف و مقداردهی کنیم.
  2. در شرط فعالسازی History از آن متغیر استفاده کرده و History را غیرفعال کنیم.

نکته: در صورتی که فرآیند تا به حال به User Task موردنظر نرسیده باشد، معیار History به صورت خودکار ignore می‌شود. بنابراین نیازی به درنظرگرفتن این حالت نیست.

مثال: فرض کنید میخواهیم در Task 1 از History استفاده کنیم. که وقتی از مسیر a به Task 1 می‌رسیم، History غیرفعال باشد وگرنه فعال باشد:

  • روی یال a یک Execution Listener از نوع Script برای ایجاد متغیر ignoreTask1History با مقدار true ایجاد می‎کنیم.
execution.setVariable('ignoreTask1History', true);
  • در فیلد Activation Condition از History در تخصیصِ کار Task 1، مقدار عبارت زیر را قرار می‌دهیم. دقت کنید: وجودنداشتن ignoreTask1History: فعال‌بودنِ History.
${!execution.hasVariable('ignoreTask1History') || !ignoreTask1History}
  • در Task 1 یک Task Listener از نوع Script برای false کردن مقدار متغیر ignoreTask1History اضافه می‎کنیم؛ این مرحله لازم است، زیرا می‎خواهیم از سایر مسیرها History فعال باشد. توجه: در تعریف Script، مقدار event باید برابر create باشد تا این مقداردهی با رسیدن به task بلافاصله انجام شود.
task.execution.setVariable('ignoreTask1History', false);

جواب 9 ماه قبل توسط mofarn (1,342 امتیاز)
انتخاب شده در 9 ماه قبل توسط m.heidari

سوال های مشابه

0 رأی
1 جواب میانگین بازدید روزانه 0.0926 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1544 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.1234 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.1750 بازدید
سوال 9 ماه قبل در تالار کامپیوتر و اینترنت توسط nirvana (72 امتیاز)
0 رأی
0 جواب میانگین بازدید روزانه 7.437 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 1.677 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.4843 بازدید
+1 رأی
0 جواب میانگین بازدید روزانه 0.4951 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.4251 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.2941 بازدید
کانال تلگرام جواب یاب
...