اطلاعات یک بخش خاص در سیستم اطلاعاتی
function WS_GetDeptDataByKey(const ADBName: String; AKey: Integer): String;
Created: Version 14.07.01
این تابع اطلاعات یک بخش خاص از یک سیستم اطلاعاتی را به صورت یک رشته حرفی با فرمت JSON تولید می کند.
شرح پارامترهای تابع
- ADBName (نام پایگاه) : در این پارامتر، نام پایگاه بصورت رشته حرفی درج می شود. برای مثال "_ReposXP_Workflow"
- Akey (کلید بخش): در این پارامتر، بخش مورد نظر با شماره کلید بخش تعیین می شود. مثلا 4
الگوی خروجی تابع
خروجی این تابع، یک رشته حرفی به فرمت JSON و شامل ویژگیهای زیر است:
{"_ErrNo":"0",
"_Name":"\u062A\u0639\u064A\u064A\u0646 \u0641\u0631\u0645\u062A”,
"_EngName":"English Name",
"_Code":"3"}
شرح ویژگیهای خروجی Json
این رشته حرفی شامل ویژگیهای زیر است:
- _ErrNo(کدخطا): اگر اجرای تابع با خطا روبرو شود در اینجا کد خطا نمایش داده می شود. شماره 0 به معنی عدم وجود خطاست.
- _Name (نام بخش ): در اینجا نام فارسی بخش به فرمت Escaped Unicode قرار می گیرد که در حالت عادی خوانا نیست اما به همین شکل قابل انتقال و پردازش است. البته به ترتیبی که در مراحل بعد شرح داده می شود می توانیم برای تست، این فرمت را بصورت فارسی خوانا تبدیل کنیم .
- _EngName (نام لاتین): نام انگلیسی بخش
- _Code (کد بخش): کدی که هنگام تعریف بخش توسط کاربر ایجاد می شود.
مثال: اطلاعات بخش با کلید 5 از سیستم اطلاعاتی «آموزش فرایندها »
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) {
Throw “JSON نامعتبر است:”, e.message;
return [];
}
}
function WorkTaskDeptList() {
ReposUtils.HostURL = “nosa-test”;
ReposUtils.UserName = “nosa/tariverdi”;
var res=””;
res=ReposUtils.WS_GetDeptDataByKey(“_ReposXP_Training”, 5);
let farsiRes=jsonToArray(res);
WorkState.ReturnText=JSON.stringify(farsiRes);
}
با اجرای این تابع، مشخصات بخش با کلید 5 را به شکل زیر مشاهده خواهید کرد. توضیح این که در این مثال برای خوانا شدن متنهای فارسی و تفکیک ویژگیها از تابعی بنام jsonToArray برای تبدیل خروجی Json به یک آرایه استفاده شده است:
ملاحظه می کنید که این بخش به نام «تهران» و دارای کد 2 است.