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

0 رأی
میانگین بازدید روزانه 0.0631 بازدید
با سلام
چطور میشه بر روی تخصیص فعالیت بر اساس 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,402 امتیاز)
انتخاب شده در 1 سال قبل توسط m.heidari

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

0 رأی
1 جواب میانگین بازدید روزانه 0.0738 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.151 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0946 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.1368 بازدید
سوال 1 سال قبل در تالار کامپیوتر و اینترنت توسط nirvana (99 امتیاز)
0 رأی
1 جواب میانگین بازدید روزانه 0.8556 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.8858 بازدید
+2 رأی
1 جواب میانگین بازدید روزانه 0.4293 بازدید
0 رأی
2 جواب میانگین بازدید روزانه 0.3797 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.262 بازدید
+1 رأی
0 جواب میانگین بازدید روزانه 0.2372 بازدید
کانال تلگرام جواب یاب
...