Networkآموزش

آشنایی با قوانین روتینگ و نحوه اعمال آن ها

در پست های قبل شما را با روند کاری روتینگ و جداول روتینگ آشنا کردیم. در این پست قصد داریم شما را با قوانین روتینگ و نحوه پیاده سازی آن ها آشنا کنیم. قوانین روتینگ که به عنوان قوانین اشتقاق یا مسیریابی نیز شناخته می شوند، گردش کار بین Task ها را در یک فرآیند کنترل می کنند. به عبارت دیگر، آن ها تعیین می کنند که اولین Task در یک فرآیند کدام است و چگونه یک Task به Task بعدی منتقل می شود و به همین ترتیب تا زمانی که فرآیند به پایان برسد.

قوانین روتینگ می توانند گردش کار را در یک مسیر واحد حرکت دهند یا گردش کار را به چندین رشته تقسیم کنند. این قوانین همچنین می‌ توانند شرایط را ارزیابی کنند تا تعیین کنند که چه Task هایی به عنوان Task های بعدی باشند و حتی گردش کار را به زیر فرآیند ها که گردش‌ های کاری جداگانه با مجموعه موارد خاص خود هستند، ارسال کنند.

انواع قوانین روتینگ

  • Sequential (ترتیبی): این قانون هنگامی که یک Task تکمیل می شود، گردش کار را مستقیماً به Task های بعدی منتقل می کند.
  •  Selectionنتخاب): این قانون به کاربر اجازه می دهد به صورت دستی Task های بعدی را برای انجام در فرآیند انتخاب کند.
  • Evaluation (ارزیابی): این قانون از یک شرط که یک عبارت درست یا نادرست در PHP است استفاده می کند تا تصمیم بگیرد که آیا گردش کار به Task های بعدی منتقل شود یا خیر.
  • Parallel (موازی چند شاخه): قانون روتینگ موازی چند شاخه، جریان کار را به دو یا چند Task موازی تقسیم می کند.
  • Parallel By Evaluation (ارزیابی موازی چند شاخه): قانون روتینگ ارزیابی موازی چند شاخه از یک شرط برای تصمیم گیری در مورد تقسیم گردش کار به دو Task موازی دیگر استفاده می کند.

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

  • پایان فرآیند: پایان فرآیند مشخص می کند که کجا باید گردش کار خاتمه یابد.
  • Task شروع: Task شروع مشخص می کند که یک فرآیند از کجا شروع شود.

اعمال قوانین روتینگ

برای اعمال قوانین روتینگ از نرم افزار ProcessMaker استفاده می شود. قوانین روتینگ برای وظایف خاصی اعمال می شود. در این نرم افزار برای اعمال یک قانون روتینگ برای یک Task، روی نمادی در نوار ابزار قوانین روتینگ کلیک کنید و در حالی که همچنان دکمه ماوس را نگه داشته اید، نماد را به سمت Task بکشید. دکمه ماوس را روی یک Task رها کنید تا قانون روتینگ به آن Task متصل شود.

آیکون های قوانین روتینگ

اکنون با ماوس قانون روتینگ را که به صورت یک نقطه اتصال قرمز نشان داده شده است، به Task بعدی بکشید، سپس روی Task بعدی رها کنید تا دو Task به هم متصل شوند.

اگر یک Task می تواند چندین مسیر را در این فرآیند به سمت پایین طی کند آن ها را نیز به هم متصل کنید.

اتصال قوانینی که چندین مسیر را به سمت پایین طی می کنند

برای تغییر یک قانون مسیریابی به نوع دیگری، به سادگی یک قانون مسیریابی را از نوار ابزار بکشید و آن را روی Task با یک قانون مسیریابی موجود رها کنید. وقتی از شما پرسیده شد “آیا مطمئن هستید که می خواهید قانون مسیریابی را تغییر دهید؟”، روی Accept کلیک کنید تا نوع قانون مسیریابی را تغییر دهید.

هنگامی که یک قانون مسیریابی Task ها را به هم متصل می کند، می توان آن را با کلیک بر روی نماد قانون مسیریابی در نقشه فرآیند یا با کلیک راست روی یک Task و انتخاب گزینه erivation Rules از منو ویرایش کرد.

Task شروع در قانون روتینگ

هر فرآیند باید حداقل یک Task شروع داشته باشد که نشان می دهد کدام Task باید فرآیند را شروع کند. برای این کار نماد Task شروع را از نوار ابزار به یک Task بکشید و رها کنید یا روی آن Task راست کلیک کنید و گزینه Properties را از منوی کشویی انتخاب کنید. در تب Definition، کادر Starting Task را علامت بزنید.

Starting Task

فرآیند ها می توانند چندین Task شروع و حتی چندین مسیر داشته باشند. به عنوان مثال، سازمانی ممکن است بخواهد فرایند فاکتور خود را در دو نقطه مختلف شروع کند. مثلا ابتدا با مشتری تماس گرفته شود یا ابتدا یک پیشنهاد ارسال شود. علاوه بر این، ممکن است بخواهد “فرایند فاکتور” را با یک مسیر کاری متفاوت در بخش مالی شروع کند. اگر بخش فروش این سازمان صورت حساب را مدیریت کند، Task متفاوتی نسبت به امور مالی انجام می شود.

اگر یک فرآیند دارای چندین Task شروع باشد، شخصی که شروع می کند می تواند انتخاب کند که کدام Task فرآیند را شروع می کند. در کادر کشویی، نام فرآیند و به دنبال آن نام Task شروع در پرانتز ارائه می شود.

تعیین Task شروع

پایان فرآیند در قانون روتینگ

همه فرآیند ها باید حداقل یک Task پایان فرآیند برای خاتمه دادن به فرآیند داشته باشند. هر فرآیندی می تواند چندین Task پایان داشته باشد. برای تبدیل یک Task به Task پایان، نماد مربوطه را از نوار ابزار به یک Task بکشید و رها کنید یا روی یک Task که دارای قانون روتینگ ارزیابی یا انتخاب است کلیک راست کرده و گزینه Derivation Rules را انتخاب کنید. برای افزودن یک قانون مسیریابی، روی پیوند جدید کلیک کنید، سپس در کادر باز شده، گزینه End of process را انتخاب کنید.

قانون روتینگ ترتیبی

با یک قانون روتینگ ترتیبی، گردش کار به طور خودکار به Task بعدی انتقال می یابد، بنابراین پس از اتصال Task ها، به پیکربندی خاصی نیاز نیست.

قانون روتینگ انتخاب

قانون روتینگ انتخاب به کاربر اجازه می دهد تا به صورت دستی انتخاب کند که کدام Task بعدی در گردش کار خواهد بود. پس از تکمیل یک Task، Task بعدی موجود به کاربر نمایش داده می شود و از او خواسته می شود یکی را انتخاب کند. برای مثال، در صورت ایجاد فرآیندی برای رسیدگی به صورت‌ حساب به دلار و یورو، می‌ توان از قانون مسیریابی انتخاب برای تصمیم‌ گیری در مورد صورت‌ حساب به دلار یا یورو استفاده کرد.

پس از افزودن قانون مسیریابی انتخاب، روی قانون مسیریابی دو بار کلیک کنید تا توضیحات را به قانون مسیریابی انتخاب اضافه کنید. این توضیحات به کاربر کمک می کند تصمیم بگیرد که کدام Task را انتخاب کند:

نحوه سفارشی کردن ظاهر توضیحات

این مورد از قوانین روتینگ به کاربران اجازه می‌دهد توضیحات را در HTML یا کد جاوا اسکریپت در نمای نهایی آن هنگام اجرا سفارشی‌ سازی کنند. برای این کار مراحل زیر را دنبال کنید:

1.روی نماد قانون مسیریابی selection کلیک کنید.

انتخاب Task که می خواهید توضیحات را برای آن سفارشی کنید

2.در این صفحه کد HTML را بعد از توضیحات اضافه کنید و فرآیند را اجرا کنید.

سفارشی کردن توضیحات در قوانین روتینگ

قانون روتینگ ارزیابی

قانون مسیریابی ارزیابی، از یک شرط برای تصمیم گیری در مورد این که آیا گردش کار به Task های بعدی منتقل می شود یا خیر استفاده می کند. اگر شرط، که یک عبارت PHP است، به درستی ارزیابی شود، گردش کار به Task بعدی منتقل می شود.

قانون مسیریابی ارزیابی معمولاً برای تصمیم گیری بین چندین کار استفاده می شود. اگر همه شرایط نادرست باشد، فرآیند هرگز تکمیل نمی شود. اگر همه شرایط درست باشد، گردش کار به تمام کار های بعدی منتقل می شود، که ممکن است چیزی نباشد که می خواهید. بنابراین، بسیار مهم است که شرایط را بسنجید و مطمئن شوید که نتایج غیر منتظره ای به همراه ندارند.

در مثال قبل فرآیند های صورت‌ حساب نیز می‌ تواند با یک قانون مسیریابی ارزیابی به جای یک قانون مسیریابی انتخاب اجرا شود. اگر یک فرم در Initiate Billing پر شود، کاربر می‌ تواند انتخاب کند که صورت‌ حساب به دلار یا یورو باشد.

انتخاب نمایش صورت حساب به دلار و یورو به کمک قانون روتینگ ارزیابی

انتخاب دلار یا یورو در متغیر Currency ذخیره می شود که می تواند در شرایط قانون مسیریابی استفاده شود. برای تعریف شرایط قانون مسیریابی ارزیابی روی هر Task روی نقشه فرآیند کلیک کنید و شرایط را اضافه کنید.

افزودن شرایط برای هر Task

دلایل بروز خطا در اجرای فرآیند با قانون روتینگ ارزیابی

اگر هنگام اجرای فرآیند با قانون مسیریابی ارزیابی، پیام خطای زیر را دریافت کردید، شرایطی را که تعریف کردید بررسی کنید.

پیام خطا

اگر یک شرط وجود داشته باشد، پس مشکل احتمالاً به این دلیل است که شرط حاوی یک متغیر تعریف نشده است. بنابراین باید بررسی کنید که متغیر وجود دارد یا خیر، با کلیک بر روی دکمه [@@] متغیر را در لیست متغیرهای موجود پیدا کنید. به یاد داشته باشید که نام متغیر ها در PHP به حروف بزرگ و کوچک حساس هستند.

اگر متغیر در فرم تعریف شده باشد، مشکل این است که مقادیری که در فرم وارد می شوند در متغیر ها ذخیره نمی شوند. برای این که به کاربران خود اجازه دهید داده های وارد شده خود را در فرم ذخیره کنند، یک دکمه Submit را اضافه کنید. برای یادآوری کاربران برای کلیک بر روی دکمه Submit، به تب Properties DynaForm Designer رفته و گزینه “Show Prompt” را برای Next Step Link انتخاب کنید. اگر می‌ خواهید که داده‌ ها به‌ طور خودکار در متغیر ها ذخیره شوند، بدون دردسر روی دکمه Submit، گزینه Save and Continue را انتخاب کنید.

قانون روتینگ موازی چند شاخه

این قانون گردش کار را به چندین رشته تقسیم می کند که همزمان کار می کنند. هنگامی که Task تکمیل شد، گردش کار رشته های فرعی مختلفی را در یک زمان شروع می کند.

قانون روتینگ موازی چند شاخه

هنگامی که قوانین موازی چند شاخه اضافه شدند، با دوبار کلیک کردن بر روی این قوانین روتینگ می توانید تصویر زیر را مشاهده کنید. در این صفحه می توان Task های موازی بیشتری را تعریف کرد.

تعریف Task های موازی

برای اینکه اطمینان حاصل شود که گردش کار تنها زمانی که هر Task موازی به پایان رسیده است ادامه می یابد، آن ها به یک Join موازی نیاز دارند. به همین دلیل مسیر اولین Task موازی تعریف شده را بکشید و رها کنید و به Task بعدی متصل کنید. این مرحله را برای هر Task که از قانون مسیریابی موازی چند شاخه استفاده می کند، تکرار کنید.

قانون روتینگ ارزیابی موازی چند شاخه

قانون روتینگ ارزیابی موازی چند شاخه به عنوان یکی از قوانین روتینگ پر کاربرد، قانون گردش کار را به چندین مسیر تقسیم می‌ کند و شرایط را برای هر یک از مسیر ها ارزیابی می‌ کند تا مشخص کند کدام مسیرها اجرا خواهند شد. یک مسیر تنها در صورتی اجرا می شود که شرط آن درست ارزیابی شود. اگر نادرست باشد، اجرا نمی شود، بنابراین مطمئن شوید که حداقل یکی از شرایط به درستی ارزیابی شود تا از خطا جلوگیری شود.

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

قانون روتینگ ارزیابی موازی چند شاخه

سخن پایانی

در این پست شما را با قوانین روتینگ و نحوه استفاده و اعمال آن ها روی Task ها و همچنین کاربردشان آشنا کردیم تا به کمک آن ها گردش کار را به راحتی بین Task ها کنترل کنید.

منبع: processmaker.com

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

دکمه بازگشت به بالا