در این مثال همانطور که ملاحظه می کنید، گردش کار «اعلام سررسید قراردادها» در منوی کلاینت وب قرار دارد. در هر صورت در این ویژگی که از نوع Boolean است، عدد 1 به معنی نمایش در منوست و عدد صفر یعنی این گردش کار در منوی کلاینت وب وجود ندارد.
function WorkTaskWorkflowList () {
ReposUtils.HostURL = "nosa-test";
ReposUtils.UserName = "nosa/tariverdi";
var res="";
res=ReposUtils.WS_GetWorkflowList("_ReposXP_workflow", 2, true, false);
let farsiRes=jsonToArray(res);
WorkState.ReturnText=JSON.stringify(farsiRes);
}
ملاحظه می کنید که پارامترهای تابع WS_GetWorkfloList در این مثال به شرح زیر است:
نام پایگاه: _ResoXP_workflow
روش آغاز کار: از درون یک گردش کار (2)
چک کردن دسترسی کاربر به آغاز کار: true
فیلتر شدن کارهای مسدود: False

در این مثال از پارامتر کلید روش از پیش تعریف شده افزودن منابع دیجیتال استفاده نشده و به این معنی است که نمی خواهیم این فعرست را به روش خاصی محدود کنیم . در مثال بعد از این پارامتر استفاده کرده ایم
توضبح مهم: در این تابع با هدف نمایش کاراکترهای فارسی و نیز تفکیک و خوانا شدن داده ها، خروجی json توسط یک تابع بنام jsonToArray به شکل یک رشته حرفی به فرم آرایه نمایش داده شده است. این تابع به شکل زیر است:
function jsonToArray(jsonStr) {
try {
let obj = JSON.parse(jsonStr);
function convert(value) {
if (typeof value === "object" && value !== null) {
if (Array.isArray(value)) {
// اگر مقدار یک آرایه باشه، هر عضو رو جداگانه پردازش کن
return value.map(item => convert(item));
} else {
// اگر مقدار یک آبجکت باشه
return Object.entries(value).map(([key, val]) => ({
key,
value: convert(val)
}));
}
}
return value; // مقادیر ساده (string, number, etc.)
}
return convert(obj);
} catch (e) {
console.error("JSON نامعتبر است:", e.message);
return [];
}
}
مثال 2: فهرست گردش کارهایی که با روش از پیش تعریف شده «نیمه شناور» مرتبط هستند و کاربر اجازه آغاز کار در آنها را دارد.
برای این مثال کافی است پارامترها را مانند سطر زیر تغییر دهید:
res=ReposUtils.WS_GetWorkflowList("_ReposXP_workflow", -1, true, false, 10);
ملاحظه می کنید که در این مثال، پارامتر بررسی اختیار دسترسی کاربر true است و کلید روش از پیش تعیین شده افزودن منبع دیجیتال 10 می باشد که متعلق به روش «نیمه شناور» است. فهرست گردش کارها در این مثال به شکل زیر است:

نکته ای که در این فهرست قابل توجه است گردش کار «تست نیکخواه» است که دارای 4 وظیفه آغاز است که با خط قرمز مشخص شده است. اگر روی مختصات این گروه زوم کنیم، این مورد بهتر دیده می شود:

مثال 3: گردش کارهایی که تنها روش آغاز کار در آنها روش «با دریافت رخداد» است:
در این مثال پارامترها به شکل زیر تعیین می شود:
res=ReposUtils.WS_GetWorkflowList("_ReposXP_workflow", 16, false, false);
ملاحظه می کنید که پارامتر روشهای آغاز کار (_ActivationMethods) برابر با 16 یعنی روش «با دریافت رخداد» است. بخشی از خروجی این تابع به شکل زیر است:

ملاحظه می کنید علاوه بر دو گردش کار که دقیقا تنها روش آغاز کار «با دریافت رخداد» دارند، گردش کارهای دیگری هم با مقادیر 17 ، 18، 25 و 27 نیز وجود دارد که اگر به عدد باینری تبدیل شوند آنگاه مشخص می شود که علاوه بر روش «با دریافت رخداد» روشهای دیگری نیز برای آغاز کار دارند (یادآوری می شود که گردش کارها می توانند چند روش آغاز کار داشته باشند). برای مثال عدد 17 در مقیاس باینری برابرست با 10001 که مشخص می شود بیت اول این عدد نیز 1 است که متناظر است با «روش دستی» یعنی این گردش کار حاوی دو روش آغاز کار است: روش دستی و روش با دریافت رخداد و به همین ترتیب برای مقادیر دیگر نیز می توانیم روشهای افزون بر «با دریافت رخداد» را پیدا کنیم.
مثال 4: فراخوانی داده های گردش کارهای یک پایگاه در یک فیلد آرایه
فرض کنید یک فیلد آرایه بنام فهرست گردش کار (workflowList) تعریف می کنیم و نام اعضای آرایه را مشابه با ویژگی های خروجی json انتخاب می کنیم. حال کافی است که از تابعی مشابه با تابع زیر برای فراخوانی اطلاعات گردش کارهای پایگاه «تست گردش کارها» استفاده کنیم:
function WorkTaskWorkflowList () {
ReposUtils.HostURL = "nosa-test";
ReposUtils.UserName = "nosa/tariverdi";
var res="";
res=ReposUtils.WS_GetWorkflowList("_ReposXP_workflow", 2, true, false);
let ResData=JSON.parse(res);
WorkState.workflowsList=ResData.WorkflowArray
}
با اجرای این تابع، آرایه «فهرست گردش کارها» به شکل زیر داده ها را ذخیره می کند:
