آموزش تنظیم قوانین کسب‌وکار در بیزاجی | فرآیند درخواست سفر

آموزش Define Expression و Activity Action در Bizagi
بهینه‌سازی فرآیند درخواست سفر با قوانین کسب‌وکار
مدیریت خودکار تصمیمات سازمانی در بیزاجی


فرآیندهای کسب‌وکار بر اساس قوانینی اجرا می‌شوند که تضمین می‌کنند همه چیز مطابق با استراتژی‌ها، اهداف و ویژگی‌های سازمان پیش می‌رود. این قوانین در بیزاجی (Bizagi) به ما امکان می‌دهند منطق تجاری و شرایط فرآیندی را کنترل کنیم و از بهینه‌سازی و خودکارسازی فرآیندها بهره ببریم.

📌 چرا باید قوانین کسب‌وکار را در Bizagi تنظیم کنیم؟
✔ کاهش خطاها و تأخیرها در اجرای فرآیندها
✔ بهبود سرعت تصمیم‌گیری بر اساس اطلاعات از پیش تعیین‌شده
✔ خودکارسازی فرآیند درخواست سفر و اعمال شرایط خاص سازمانی

در بیزاجی، دو روش برای تنظیم قوانین کسب‌وکار وجود دارد:

1️⃣ Define Expression – کنترل مسیرهای فرآیندی در Gatewayها
2️⃣ Activity Action – اجرای خودکار عملیات هنگام ورود، ذخیره یا خروج از یک فعالیت

در ادامه، هر دو روش را با مثال عملی در فرآیند درخواست سفر بررسی خواهیم کرد.

انوع قوانین کسب و کار

نوع اول: Define Expression

در حالت Define Expression، ما مسیر هایی که از یک gateway به چندین راه تقسیم می‌شود را کنترل می‌کنیم. یعنی در یک gateway تحت چه شرایطی مسیر مورد نظر از آن gateway انتخاب شود. مسیر هایی که برای آن قانون گذاری نکرده ایم به رنگ زرد است و زمانی که قانون گذاریم می‌کنیم از رنگ زرد درمی‌آید.

کنترل مسیر های فرآیند “درخواست سفر”

برسی مسیر های “تایید شد؟”: وارد فرآیند خود در بیزاجی استودیو شوید و به قسمت business rules بروید. گزینه define expressions را کلیک کنید. در gateway های چند مسیره به قسمت “تایید شد؟” می‌رویم و پیکان “بله” را کلیک می‌کنیم.

بر1

پنجره ای جدید باز می‌شود که ما تعیین کنیم که انتخاب yes بر اساس چه رفتاری انتخاب شود. گزینه based on the result of an expression را کلیک کنید. فلش کنار گزینه new را بزنید و قسمت standard را انتخاب کنید.

بر2

ما می‌خواهیم تعیین کنیم که اگر فیلد تایید درخواست سفر در موجودیت درخواست سفر مقدار true داشت، مسیر yes ادامه پیدا کند. Expression این قانون را در تصویر زیر پیاده سازی کرده‌ایم. توجه داشته باشید نیازی به تایپ کردن XPath فیلدها نیست. تنها با کشیدن آن ها در پنجره Data Model در قسمت دلخواه XPath آن خودکار نوشته می‌شود.

بر4

اکنون تعیین قوانین مسیر “نه” در فرآیندمان است. بر روی آن کلیک کنید و در پنجره باز شده، گزینه else ار انتخاب می‌کنیم. یعنی اگر قانون جریان yes ما برقرار نبود، مسیر به صورت پیش فرض وارد جریان no می‌شود.

بر5

آنالیز مسیرهای “هتل یا پرواز نیاز است؟”: بر روی جریان yes کلیک کرده و در پنجره باز شده based on the result of an expression. فلش کنار گزینه new را بزنید و قسمت standard را انتخاب کنید. از آنجا که می‌خواهیم چندین قوانین داشته باشیم و اگر حتی یکی از آن دو عبارت معتبر باشد کل مسیر yes معتبر شود و ادامه مسیر را رود باید ما بین چند expression که خواهیم ساخت از or به جای and استفاده کنیم درنتیجه در پنجره manager expression در جلوی گزینه if آن را در any قرار می‌دهیم.

بر6

اگر فیلد هتل رزرو شود یا هواپیما رزرو شود به مقدار true باشد جریان yes ما معتبر می‌شود و ادامه می‌دهد. قوانین گفته شده به شکل زیر است:

بر7

برای جریان no نیز از حالت else استفاده می‌کنیم.

نوع دوم: activity action

در بیزاجی Activity Action یک قابلیت است که به ما امکان می‌دهد هنگام اجرای یک فعالیت (Activity) در یک فرآیند، یک عمل خاص را به‌طور خودکار انجام دهیم. این عملیات می‌تواند شامل موارد زیر باشد:

  1. On Enter – زمانی که کاربر وارد یک فعالیت می‌شود، اجرا می‌شود.
    • مثال: نمایش یک پیام خوشامدگویی یا مقداردهی اولیه به برخی فیلدها.
  2.  On Save – هنگام ذخیره فرم در فعالیت اجرا می‌شود.
    • مثال: بررسی اینکه تمام اطلاعات اجباری پر شده‌اند یا نه.
  3. On Exit – هنگام خروج از فعالیت اجرا می‌شود.
    • مثال: ارسال اعلان به مدیر در صورت تغییر اطلاعات درخواست.

در مثال های پایین ما از طریق activity action بسیاری از قوانین task های خود را تنظیم می‌کنیم.

تعیین زمان “تاریخ درخواست”

میخواهیم قوانینی برای تاریخ درخواست و متقاضی تعیین کنیم. در مرحله business rules، این بار بر روی activity actions کلیک میکنیم. به قسمت ثبت کردن درخواست سفر می‌رویم. در پنجره باز شده علامت + در قسمت on enter می‌زنیم.

بر9

سپس بر روی expression کلیک می‌کنیم. بر روی new بزنید و سپس اسمی برای آن تعیین کنید. بر روی کمان کلیک راست کنید و گزینه add expression بزنید. Ok را بزنید و بر روی expression جدید در صفحه دو بار کلیک کنید. اکنون در پنجره expression editor میخواهیم به دو فیلد از طریق XPath دسترسی پیدا کنیم. بر روی Data Model بزنید و در صفحه باز شده وارد موجودیت travel request شوید و فیلد “تاریخ درخواست” را انتخاب کنید.

بر10

اکنون ما XPath تاریخ درخواست سفر را ساخته‌ایم.

بر11

اکنون بر جلوی XPath یک = بگذارید و بعد از آن بر روی گزینه ی Function کلیک کرده و Today را انتخاب کنید.

بر12

در خط بعدی دوباره به Data Model بروید و در موجودیت travel request گزینه “متقاضی” را انتخاب کنید. دوباره یک = بگذارید و در قسمت دیگر Functions را کلیک کنید. در category وارد case creator user شوید و در بین گزینه ها User Id of the case creator را انتخاب کنید.

بر13

توجه داشته باشید در آخر هر خط از ; استفاده کنید.

بر15

سپس در هر دو پنجره ok را بزنید تا تغییرا ذخیره شوند.

محاسبه “درصد تایید شده”

در این قسمت می‌خواهیم درصد تایید شده را محاسبه کنیم. برای این کار وارد تسک “صدور پیش پرداخت سفر” می‌شویم و دوباره پنجره edit expression را در قسمت on enter همانند مرحله قبل بالا میاوریم و اسم آن را “محاسبه درصد تایید شده” می‌گذاریم. اکنون وارد Data Model می‌شویم و از موجودیت travel request، فیلد “درصد تایید شده” را انتخاب می‌کنیم. جلوی آن علامت = می‌گذاریم و سپس دوباره وارد Data Model می‌شویم و اکنون فیلد “کل پیش پرداخت” را انتخاب می‌کنیم. برای بدست آوردن درصد، ما آن را در 100 ضرب و بعد بر “کل درخواست شده” که دوباره با Data Model به آن دسترسی داریم، تقسیم می‌کنیم.

بر17

محاسبه “کل درخواست شده”

اکنون میخواهیم کاری کنیم که “کل درخواست شده” (کل هزینه درخواست شده)، به صورت خودکار محاسبه شود. وارد تسک “تایید درخواست سفر” شوید. و همانند دفعات قبل در قسمت on enter یک قانون جدید بگذارید و اسم آن را محاسبه کل درخواست شده بگذارید. در کمانه، expression جدید را همانند دفعات قبل بسازید و در صفحه جدید وارد Data Model شوید و فیلد کل “کل درخواست شده” را انتخاب کنید. جلوی آن یک = بگذارید.

بر18

سپس بعد از آن وارد Function شوید و کتگوری Data Navigation را انتخاب کنید و سپس تابع sum را انتخاب کنید.

بر19

اکنون در صفحه اصلی ما یک sum میبینیم که باید درون آن یک XPath تعریف کنیم به این معنی که ما میخواهیم چه عناصر کالکشنی باهم جمع شوند. در موقعیت ما، هدف جمع مقادیر در کالکشن مخارج است در نتیجه ما XPath را انتخاب کرده و Data Model را انتخاب کلیک می‌کنیم. سپس مسیر عکس زیر را انتخاب می‌کنیم.

بر21

توجه داشته باشید که داخل پرانتز sum نباید <> وجود داشته باشد و بیرون عبارت فقط باید یک <> وجود داشته باشد.

بر22

expression را ذخیره کنید و بیرون بیایید.

محاسبه کل  پیش پرداخت

دوباره وارد تسک “تایید سفر” می‌شویم و در قسمت On Enter یک Expression جدید با نام محاسبه کل پیش پرداخت می‌سازیم و در Data Model فیلد کل درخواست شده را انتخاب می‌کنیم و کنار آن = می‌گذاریم و دوباره از تابع sum استفاده می‌کنیم و در داخل XPath، کالکشن مخارج را انتخاب می‌کنیم و وقتی انتخاب شد دکمه Add Filter در پایین علامت مخارج را انتخاب می‌کنیم.

بر23

در صفحه جدید باید تعریف کنیم که فیلد “تایید شده؟” اگر مقدار True داشت، کالکشن مخارج انتخاب شود. عکس زیر این فیلتر را تعیین میکند.

بر24

سپس بعد از فیلتر گذاری، فیلد مقدار را انتخاب می‌کنیم و بیرون میاییم. Expression در آخر باید به شکل زیر باشد.

بر25

ساخت ایمیل رد درخواست خودکار

در مدل فرآیند وارد تسک “اطلاع عدم پذیرش” کلیک کرده و در قسمت On Enter با زدن گزینه + این بار قسمت e-Mail را انتخاب می‌کنیم.

بر26

در پنجره ی جدید گزینه to را انتخاب کنید و وارد موجودیت فرآیند Travel Request شوید و موجودیت متقاضی را پیدا کنید و در آن email را انتخاب کنید.

27

در قسمت subject عنوان را می‌نویسیم با یک case number که پویا است و بر اساس پرونده ای است که شکل می‌گیرد.

بر28

در نوشته زیر ما نام متقاضی را به سبک متغیر گذاشته ایم. همچنین فیلد توضیح که ناظر از قبل نوشته است را هم به صورت متغیر در متن گذاشته ایم. توجه داشته باشید که اگر فیلدی که متغیر است را میخواهید به متن اضافه کنید بر روی XPath Field کلیکک کنید و فیلد مورد نظر خود را پیدا کنید.

بر29

apply و save کنید و بیرون بیایید. اکنون ما تمام قوانین کسب و کار فرآیند”درخواست سفر” را پیکربندی کرده‌ایم. در مرحله بعد وارد قسمت تخصیص کار فرآیندمان می‌شویم.

🔹 در این راهنما یاد گرفتیم که چگونه قوانین کسب و کار را در بیزاجی برای فرآیند “درخواست سفر” تنظیم کنیم.
🔹 با استفاده از Define Expression و Activity Action، می‌توان فرآیندهای سازمانی را بهینه و خودکارسازی کرد.
🔹 برای آموزش تخصیص فعالیت ها در فرآیند درخواست سفر، اینجا کلیک کنید

سایر مقالات
ساخت فرم

Action and Validation

Action and Validation در نرم افزار بیزاجی در بیزاجی، Action and Validation دو بخش مهم برای مدیریت رفتار فرم‌ها و داده‌ها هستند. استفاده از Actionها و Validationها در بیزاجی به

ادامه مطلب »
مدل سازی فرایند

خطوط شنا (Swimlane)

Swimlane در مقالات قبلی مفصل راجع به فعالیت‌ها، رویدادهای بیزاجی و درگاه‌ها توضیح دادیم. حال برای مدل‌سازی فرایند به pool،  Lane و Milestone و ویژگی‌های آن می‏پردازیم. استخر یا مخزن

ادامه مطلب »