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

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

با تشکر از توجه شما
سوال 1 سال قبل در تالار کامپیوتر و اینترنت توسط 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);

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

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

0 رأی
1 جواب میانگین بازدید روزانه 0.0935 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.1349 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.140 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.1660 بازدید
سوال 1 سال قبل در تالار کامپیوتر و اینترنت توسط nirvana (84 امتیاز)
+2 رأی
1 جواب میانگین بازدید روزانه 0.8280 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.6186 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.3258 بازدید
+1 رأی
0 جواب میانگین بازدید روزانه 0.3263 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.2963 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.248 بازدید
کانال تلگرام جواب یاب
...