آموزش توابع مورد استفاده در بیزاجی – قسمت اول

آموزش نوشتن Widget در بیزاجی- قسمت دوم
۱۷ فروردین ۱۳۹۹
مجازی سازی داده ها در بیزاجی
۵ خرداد ۱۳۹۹
آموزش نرم افزار بیزاجی

بیزاجی در یک دسته بندی کلی شامل دو شی مهم به نام های CHelper  و Me می باشد که در این سری از مقالات به بررسی این Object ها که بسیار پر کاربرد بوده و در نوشتن Business Rule ها به ما کمک خواهند کرد خواهیم پرداخت.

البته خود Me نیز شامل اشیای دیگری می باشد که در مقالات بعدی به آنها خواهیم پرداخت.

CHelper یک شیء(Object) است که شامل گروهی از توابع(Function) مورد استفاده برای انجام عملیات یا به دست آوردن اطلاعات در مورد اطلاعات غیر متنی(Non-contextualized) است. غیر متنی بودن بدان معنی است که این Function ها  لزوماً مربوط به Case  یا عنصر BPMN نیستند که در آن قانون(Rule ) اجرا شده است.

 

Methods

  1. abortProcess(ICAPIWorkItem, Int32, EProcessAbortOptions, String)

 

گاهی اوقات نیاز به اتمام(abort) یک فرآیند است. Bizagi تابعی را ارائه می دهد که می تواند موارد (Cases) و تمامی case های مرتبط با آنها را ار بین ببرد کند.

با استفاده از abort گزینه های زیر را می توانید انجام دهید:

۱- فرآیند و فرزندانش را متوقف کنید.

۲- فرآیند ، فرزندان ، والدین (Parents)و خواهران و برادران خود را متوقف کنید.

۳- روند فرایند والدین را متوقف کنید ،  فرایندی را که به عنوان پارامتر دریافت کرده است ، مستثنی می کند.(  یعنی خود آن کیس از بین نمیره.

جهت دریافت نرم افزار Bizagi فارسی؛ میتوانید با شماره ۰۹۲۲۲۴۶۸۱۰۴ تماس بگیرد؛ تیم کارشناسان BPM با تجارب ارزنده در طراحی، پیاده سازی ، پشتیبانی و مشاوره و آموزش  ؛ آمادگی دارد در سراسر کشور خدمات حرفه ای را در اختیار متقاضیان قرار دهد.

Syntax

CHelper.abortProcess(ICAPIWorkItem Me, int iCaseId, EProcessAbortOptions eAbortOptions, string sAbortReason)

 
Input Parameters
Type Name Description
ICAPIWorkItem Me This parameter is fixed
System.Int32 iCaseId The ID for the case to be aborted
EProcessAbortOptions eAbortOptions The type of operation you wish to execute. The available types are:

  • ۱- Abort the process and its children.
  • ۲- Abort the process, its children, parent, and siblings.
  • ۳- Abort the process’s parent process, its siblings and children excluding the process received as parameter.
System.String sAbortReason

 

A string where the abort reason is given

 

 

۲ ) ClearCaseAccess(ArrayList)

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

 

Syntax

CHelper.ClearCaseAccess(ArrayList idCases)

Parameters
Type Name Description
System.Collections.ArrayList idCases Array with idcases

برای لغو دسترسی به Case های  فرزندان Case فعلی ، باید دسترسی به case و فرزندان آن را پاک کنید و با استفاده از یک Expression ، به این کاربران دسترسی دهید.

در این مثال این مورد به صورت کامل توضیح داده شده است.

 

۳٫    getAssignedWorkItems(ICAPIWorkItem, Int32, Int32, Boolean)

Bizagi تابعی را ارائه می دهد که در آن می توانید مجموعه ای از WorkItems اختصاص داده شده به یک کاربر خاص را بدست آورید.

Syntax

 CHelper.getAssignedWorkItems(ICAPIWorkItem Me, int CaseId, int CurrentAssigneeId, bool IncludeSubProcesses)

 

Parameters
Type Name Description
ICAPIWorkItem Me This parameter is fixed
System.Int32 CaseId Id of the case to request
System.Int32 CurrentAssigneeId Id of the current assignee
System.Boolean IncludeSubProcesses If set to true, then the request includes Sub-processes; otherwise, it excludes the Sub-processes.
Returns
Type Description
System.Collections.ArrayList List of assigned work items

مثال

در نمونه زیر ، ما می خواهیم WorkItems اختصاصی کاربر creator را برای یک فرآیند ساده بدست آوریم.

 

نکته مهم در این تابع این است که خروجی این تابع یک شی از نوع WorkItem  می باشد.

 

۴٫    getAttrib(String, Object, String)

 

این تابع مقدار مشخصی از یک Arrtibute در یک entity  مشخص را برمی گرداند.

Syntax

CHelper.getAttrib(string sEntityName, object oEntityKey, string sAttribName)

Parameters
Type Name Description
System.String sEntityName Entity name
System.Object oEntityKey Record id within the entity
System.String sAttribName Entity attribute name
Returns
Type Description
System.Object Value of the requested attribute

 

مثال

مقادیر یک Attribute خاص را از یک Entity  خاص  بدست خواهیم اورد

فرض کنید در مرکز تماس با ارسال یک اعلان هنگامی که زمان پاسخگویی به درخواست منقضی می شود. ابلاغیه مربوط به رئیس شخصی است که در حال درخواست یک درخواست است. شما باید ایمیل رئیس را بدست آورید.

برای این کار می توانید از عملکرد CHelper.getAttrib استفاده کنید.

با استفاده از عملکرد Me.Case.WorkingCredential.UserProperties []

برای به دست آوردن ایمیل کاربر مورد نظر از واحد WFUser از تابع CHelper.getattrib () استفاده کنید. در این حالت این مقدار را در یک ویژگی از مدل داده (BossEmail) ذخیره کنید.