اطلاعات یک دسته بندی خاص گردش کارها
function WS_GetWorkflowCategoryDataByKey(const ADBName: String; AKey: Integer): String;
این تابعT اطلاعات یک دسته بندی خاص موجود در یک پایگاه خاص را به صورت یک رشته حرفی با فرمت JSON تولید می کند.
Created: Version 14.00.00
شرح پارامترهای تابع
- ADBName (نام پایگاه) : در این پارامتر، نام پایگاه بصورت رشته حرفی درج می شود. برای مثال "_ReposXP_Workflow"
- Akey (کلید دسته بندی): این پارامتر یک عدد صحیح است که کلید دسته بندی مورد نظر را تعیین می کند.
الگوی خروجی تابع
خروجی این تابع، یک رشته حرفی به فرمت JSON و شامل ویژگیهای زیر است:
{"_ErrNo":"0",
"_Name":"\u062A\u0639\u064A\u064A\u0646 \u0641\u0631\u0645\u062A”,
"_EngName":"English Name",
"_Note":"\u062A\u0633\u062A \u064A\u0627\u062F\u062F\u0627\u0634\u062A”,
"_Order":"66"}
شرح ویژگیهای خروجی Json
این رشته حرفی شامل ویژگیهای زیر است:
- _ErrNo(کدخطا): اگر اجرای تابع با خطا روبرو شود در اینجا کد خطا نمایش داده می شود. شماره 0 به معنی عدم وجود خطاست.
- _Name (نام دسته بندی): در اینجا نام فارسی دسته بندی به فرمت Escaped Unicode قرار می گیرد که در حالت عادی خوانا نیست اما به همین شکل قابل انتقال و پردازش است. البته به ترتیبی که در مراحل بعد شرح داده می شود می توانیم برای تست، این فرمت را بصورت فارسی خوانا تبدیل کنیم .
- _EngName (نام لاتین): نام انگلیسی دسته بندی
- _Note (شرح دسته بندی) : این ویژگی شرح و توضیحات دسته بندی را شامل می شود.
- _Order (شماره ترتیب): این ویژگی یک عدد صحیح است که شماره ترتیب دسته بندی را نشان میدهد. برای مثال اگر این مقدار 3 باشد یعنی این دسته بندی در ردیف سوم از فهرست دسته بندیها قرار دارد.
مثالها
برای نمونه به فهرست دسته بندیهای پایگاه «تست گردش کار» توجه کنید:

حال به یک مثال در زمینه استخراج اطلاعات یکی از این دسته بندیها توجه کنید:
مثال: اطلاعات دسته بندی «ملکی»
برای این منظور باید اسکریپت زیر را در برنامه گردش کار ایجاد کنیم.
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 [];
}
}
function WorkTaskWFCategoryData() {
ReposUtils.HostURL = “nosa-test”;
ReposUtils.UserName = “nosa/tariverdi”;
var res=””;
res=ReposUtils.WS_GetWorkflowCategoryDataByKey(“_ReposXP_workflow”, 1031);
let farsiRes=jsonToArray(res);
WorkState.ReturnText=JSON.stringify(farsiRes);
}
در این مثال، مشخصات دسته بندی «ملکی» با کلید 1031 به شکل زیر نمایش داده می شود. توضیح این که در این مثال برای خوانا شدن متنهای فارسی و تفکیک ویژگیها از تابعی بنام jsonToArray برای تبدیل خروجی Json به یک آرایه استفاده شده است:

ملاحظه می کنید که این دسته بندی در ردیف 15 از فهرست دسته بندیها قرار دارد.