vdcasino
betexper
imajbet
perabet
casinomaxi
ilbet

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

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

انجمن های پشتیبانی سیمرغ نوسا

قبليقبلي Go to previous topic
بعديبعدي Go to next topic
آخرين ارسال 26 شهریور 1404 10:05 ق.ظ توسط  Tariverdi
فهرست نقشهای سراسری یک گردش کار (WS_GetWorkflowRoleList)
 0 پاسخ
مرتب:
شما مجاز به پاسخ به اين پست نمي باشيد.
مولف پيغام ها


کاربر باتجربه


کاربر باتجربه


--
26 شهریور 1404 10:05 ق.ظ

    فهرست نقشهای سراسری یک گردش کار

    function WS_GetWorkflowRoleList(const ADBName: String; AWorkflowKey: Integer;

    ARoleKindMask: Integer): String;

    این تابع فهرست نقشهای سراسری یک گردش کار و کاربران دارای این نقشها را به صورت یک رشته حرفی با فرمت JSON تولید می کند.

    Created: Version 13.08.00

    شرح پارامترهای تابع
    • ADBName (نام پایگاه) : در این پارامتر، نام پایگاه بصورت رشته حرفی درج می شود. برای مثال "_ReposXP_Workflow"
    • AworkflowKey (کلید گردش کار): این پارامتر حاوی یک عدد صحیح است که کلید گردش کار را تعیین می کند.
    • ARoleKindMask (نوع نقش): این پارامتر یک Bitwise با مقادیر زیر است که نوع نقش را تعیین می کند:

      urActor          = 0;    انجام وظیفه

      urViewer         = 1;    ملاحظه وضعیت کارها    

      urDelegActor     = 2;  انجام وظیفه (جانشین)         

      urDelegViewer    = 3;ملاحظه وضعیت کارها (جانشین)   

      urManager        = 4; مدیریت کارها   

      urDelegManager   = 5;   مدیریت کارها (جانشین)      

      urReporter       = 6;    گزارش گیری

      urDesign         = 7;    طراحی

      urImmediateNotif = 8;    اطلاع رسانی بلادرنگ

    روش محاسبه مقدار پارامتر

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

    انجام وظیفه: 20  = 1 

    ملاحظه وضعیت کارها: 21  =2

    انجام وظیفه (جانشین):  22= 4

    ملاحظه وضعیت کارها (جانشین):  23= 8

    مدیریت کارها:  24= 16

    مدیریت کارها (جانشین):  25= 32

    گزارش گیری: 26=64

    طراحی:  27=128

    اطلاع رسانی بلادرنگ: 28=256

    اگر چند گزینه را مد نظر داشته باشید ، مقدار این پارامتر برابر با مجموع مقادیر گزینه ها خواهد بود. برای مثال اگر فقط گردش کارهای با نقشهای «انجام وظیفه » و «مدیریت کارها» باید مقدار 1+16=17 و یا اگر فقط گردش کارهای با نقشهای  «ملاحظه وضعیت کارها» و «گزارش گیری» را مد نظر دارید باید مقد2+64=66 برای این پارامتر اختصاص دهید.

    نکته مهم: مقدار 1- به معنی انتخاب تمام گزینه هاست.

     

    الگوی خروجی تابع

    خروجی این تابع، یک رشته حرفی به فرمت JSON و شامل ویژگیهای زیر است:

     

    {"_ErrNo":"0",

     "RoleArray":[

    {"_Key":"136",   کلید نقش  

     "_Kind":"0",   نوع نقش   

     "_User":"34",     کلید کاربر     

    .

    .

     ]}

     

    شرح ویژگیهای خروجی Json

    این رشته حرفی شامل ویژگیهای زیر است:

    1. _ErrNo(کدخطا): اگر اجرای تابع با خطا روبرو شود در اینجا کد خطا نمایش داده می شود. شماره 0  به معنی عدم وجود خطاست.
    2. RoleArray (آرایه مشخصات نقشها): این ویژگی خود یک آرایه است که اعضای این آرایه هر کدام حاوی مشخصات یکی از نقشهای سراسری گردش کار است. هر عضو این آرایه حاوی داده های زیر است:
    • _Key (کلید نقش): تمام نقشهای گردش کارهای یک پایگاه در یک جدول ذخیره شده است که هر نقش  اعم از نقش در یک وظیفه و وضعیت خاص یا نقش سراسری با یک کلید شناخته می شود.
    • _Kind (نوع نقش): این ویژگی نوع نقش را نمایش می دهد. مثلا "0" یعنی نقش انجام وظیفه
    • _User (کلید کاربر): این ویژگی کلید کاربر دارای نقش مورد نظر را نشان می دهد.
    مثالها

    برای نمونه به فهرست نقشهای سراسری گردش کار «کالاها» با کلید 1 را در شکل زیر ملاحظه کنید:

     

    می بینید که در این گردش کار تعداد 12 نقش سراسری برای کاربران مختلف تعریف شده است. حال به چند مثال در مورد استخراج این نقشها توجه کنید:

    مثال 1: فهرست تمام نقشهای سراسری

    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 € {

        console.error(“JSON  نامعتبر است:”, e.message);

        return [];

      }

    }

    function WorkTaskWFRoleList() {

       ReposUtils.HostURL = “nosa-test”;

       ReposUtils.UserName = “nosa/tariverdi”;

                     var res=””;

       res=ReposUtils.WS_GetWorkflowRoleList(“_ReposXP_workflow”,1, -1);

       let farsiRes=jsonToArray(res);

       WorkState.ReturnText=JSON.stringify(farsiRes);  

    }

    در این مثال، مشخصات تمام نقشهای سراسری پایگاه با کلید 1 (کالاها) از پایگاه تست گردش کار (_ReposXP_workflow) به شکل زیر نمایش داده می شود. توضیح این که در این مثال برای تفکیک ویژگیها از تابعی بنام jsonToArray برای تبدیل خروجی Json به یک آرایه استفاده شده است:

     

     

    در شکل بالا فهرست هر 12 نقش سراسری این گردش کار را  با نوع نقش ها و کاربران دارای نقشها، ملاحظه می کنید. برای مثال در نقشی که با خطوط قرمز مشخص شده است، کاربر 45 (آقای نیکخواه) دارای نقش با نوع 0 (انجام وظیفه) است.

     

    مثال 2: فهرست کاربران دارای نقش سراسری «مدیریت کارها»

    برای این فهرست باید پارامترهای تابع WS_GetWorkflowRoleList را به شکل زیر تغییر دهیم:

       res=ReposUtils.WS_GetWorkflowRoleList(“_ReposXP_workflow”,1, 16);

    توضیح: همانطور که در قسمتهای قبلی گفته شد، نوع نقش «مدیریت کار» برابر 4 است و لذا پارامتر  ARoleKindMask برای این نقش 24=16 می باشد.

    در این صورت فهرست مورد نظر به شکل زیر خواهد بود:

    ملاحظه می کنید که اعضای با کلید 184 (آقای سرابی) و 9 (آقای تاریوردی) و 21 (آقای حجتی) دارای نقش سراسری مدیریت کار در این گردش کار هستند.

    مثال 3: فهرست کاربران دارای نقش «انجام وظیفه» یا «ملاحظه وضعیت کارها»

    نوع نقش «انجام وظیفه» برابر با 0 و نوع نقش «ملاحظه وضعیت کارها» برابر با 1 است بنابراین مقدار پارامتر AroleKindMask را باید برابر با 20+ 21=1+ 2= 3 قرار دهیم:

       res=ReposUtils.WS_GetWorkflowRoleList(“_ReposXP_workflow”,1, 3);

    به این ترتیب، فهرست مورد نظر به شکل زیر تولید خواهد شد:

    همانطور که در شکل مشخص شده است، دو کاربر 9  و 11 دارای نقش 1 (ملاحظه وضعیت کارها) هستند و چهار کاربر 15، 184، 9 و 11 دارای نقش 0 (انجام وظیفه) هستند.

    پيوست ها
    شما مجاز به پاسخ به اين پست نمي باشيد.


    kurtkoy escort
    bostanci escort
    ankara escort
    comendo minha prima gordinha rajini murugan movie hd moglie con due negri calcaterra e lara scena hot mujeres con ropa interior transparente