vdcasino
betexper
imajbet
perabet
casinomaxi
ilbet

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

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

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

قبليقبلي Go to previous topic
بعديبعدي Go to next topic
آخرين ارسال 29 بهمن 1402 04:10 ب.ظ توسط  Tariverdi
آموزشی: رخداد (Event) نوع خاصی از پیام
 2 پاسخ
مرتب:
شما مجاز به پاسخ به اين پست نمي باشيد.
مولف پيغام ها


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


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


--
03 مرداد 1401 10:39 ق.ظ

     

    رخداد نوع خاصی از پیام* است که گیرنده آن مشخص نیست. به عبارت دیگر، رخداد بصورت انبوه منتشر  (Broadcast) می شود و گردش کارهایی که به این رخداد حساسند، آن را دریافت و پردازش می کنند. در واقع مثل این است که گردش کارها همواره و بصورت مستمر در حال رصد رخدادها هستند و به محض مشاهده رخداد(های) مورد نظر خود، آنها را دریافت و عملیاتی می کنند.

    نکته: رخداد برخلاف پیام، ممکن است اصلا دریافت نشود. به عبارت دیگر دریافت برای رخدادها الزامی نیست و ممکن است رخدادی منتشر شود اما بنا به شرایط خاص یا هر دلیل دیگر، هیچ دریافت کننده ای نداشته باشد.

    * چون رخداد نوع خاصی از پیام است بنابراین برای آشنایی کامل با این مفهوم، می توانید به مطلب آموزشی مفهوم پیام (message) و کارکردهای آن در سیستم مدیریت فرایندها مراجعه کنید.

    مفاهیم ارسال و دریافت در ادبیات رخداد

    با توجه به ماهیت رخدادها، و از آنجایی که در هنگام ارسال، گیرنده مشخص نیست لذا در ادبیات و اصطلاح شناسی مستندات مربوط به رخداد، بجای واژه ارسال (Send) از واژهThrow  (پرت کردن، انداختن، پرتاب کردن) استفاده می شود گویی فرستنده، پیام خود را پرت می کند و سپس گیرنده هایی که بطور مداوم در حال بررسی پیامها هستند، این پیام (رخداد) را دریافت می کنند.

    به همین ترتیب برای رخدادها بجای واژه دریافت (Receive) از واژه  Catch (قاپیدن، از هوا گرفتن، چنگ زدن) استفاده می شود، گویی گیرنده ها دائما چشم انتظار رخداد هستند و به محض مشاهده، آن را می قاپند.

    البته با توجه به نامانوس بودن واژه های پرت کردن و قاپیدن، در ادامه این مطلب از همان واژه های آشنای ارسال و دریافت استفاده شده است. {برای ارسال رخداد از واژه سیگنال گردن هم استفاده می‌شود).

    انواع رخدادها

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

    1.رخدادهای ارسالی (Throwing Events)

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

    این رخدادها همانند پیام توسط تابع WorkSendMessage انجام می شود و تنها تفاوت آن با پیام در این است که برای رخداد، ویژگی کلید کار مقصد تعیین نمی شود و به این ترتیب رخداد، مقصد خاصی ندارد و بصورت انبوه منتشر می شود. برای یادآوری و  درک بیشتر این قضیه بهتر است نگاهی به ساختار تابع WorkSendMessage  داشته باشیم:

    function WorkSendMessage (dbName, data, numberParam, stringParam)

    همانطور که می دانید، data یک فایل xml با مشخصات زیر است:

        <_RQST WorkKey="xxx" MessageKeyStr="xxx" Note="xxx">< /_RQST>

    ملاحظه می کنید، در حالت عادی، مقصد پیام با کلید کار (WorkKey) مشخص می شود. حال اگر بخواهیم رخداد ارسال کنیم، دیگر نیازی به تعیین این ویژگی (attribute) نداریم . به این ترتیب فایل xml برای رخداد به شکل زیر تغییر می یابد:

    <_RQST MessageKeyStr="xxx" Note="xxx">< /_RQST>

    مثال 1: رخداد اتمام مهلت ثبت نام

    فرض کنید یک گردش کار به نام بیمه تکمیل درمان داریم که کارکنان در یک گردش کار دیگر به نام ثبت نام در بیمه تکمیلی، فرایند ثبت نام را انجام می دهند. حال در گردش کار بیمه تکمیلی و در یک وضعیت خاص، مهلت معینی (مثلا 10 روز) برای ثبت نام اختصاص داده می شود. حال پس از گذشت این زمان، یک رخداد اتمام مهلت ثبت نام منتشر می شود و تمام کارهای باز ثبت نام، این رخداد را دریافت می کنند و به وضعیت لغو  منتقل می شوند.   

    مثال 2: اعلام اتمام چاپ یک کتاب

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

    2.رخدادهای دریافتی (Catching Events)

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

    2.1.رخدادهای دریافتی میانی (Intermediate Catching Events)

    این رخدادها در مراحل میانی فرایند قابل دریافت و پردازش است. منظور از مراحل میانی تمام وضعیتهای گردش کار غیر از وضعیت آغاز و پایان (لغو) است. برای روشن تر شدن موضوع، به دو مثال زیر توجه کنید:

    مثال : دریافت رخداد لغو کار

    فرض کنید تعدادی کار برای ثبت سفارش کتاب از نمایشگاه فعال است. حال بنا به هر دلیلی (مثلا نرسیدن کتابها، عدم واریز مبلغ، عدم اختصاص سهمیه ارزی و ...) تمام این کارها باید لغو شود. برای این کار کافی است که یک رخداد لغو ارسال شود و به این ترتیب تمام سفارشهای باز با دریافت این رخداد لغو خواهند شد.

    در ادامه با نحوه معرفی و تنظیمات این دسته از رخدادها می پردازیم.

    تنظیمات رخدادهای دریافتی میانی

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

    حال روی زبانه "رخداد" کلیک کنید تا محاوره تنظیمات رخدادهای مربوط به این گردش کار به شکل زیر باز شود:

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

    بیداری کارهای دارای تاخیر توسط رخداد

    یکی از انواع رخدادهای دریافتی میانی، رخداد بیدارکننده کارهای دارای تاخیر است. یعنی می توانیم وضعیتهای دارای تاخیر را طوری تنظیم کنیم که با دریافت رخداد(های) خاصی، از حالت تاخیر یا انتظار خارج شده و کار را به جریان بیندازد.

    تنظیمات بیداری وضعیتها توسط رخداد

    برای این کار در دیاگرام گردش کار، روی وضعیت (تصمیم گیر) مورد نظر خود دبل کلیک کنید تا محاوره تنظیمات وضعیت به شکل زیر باز شود:

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

    2.2.رخدادهای آغاز کار (Start Events)

    این رخدادها از نوع رخدادهای دریافت است و گردش کار گیرنده به محض دریافت آن، یک کار جدید را آغاز می کند.

    مثال: ایجاد کارهای پشتیبانی از طریق رخداد فروش

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

    تنظیمات رخداد آغاز کار

    برای معرفی و تنظیمات رخداد آغاز کار، در محاوره اصلاح مشخصات وضعیت آغاز، روی زبانه "رخداد"، کلیک کنید تا محاوره تنظیمات آغاز کار به شکل زیر روی صفحه باز شود:

     

    در این بخش باید موارد زیر را تعیین کنید :

    •  رخدادهای آغاز کار: در این مثال، گردش کار پشتیبانی با دریافت رخداد با عبارت کلیدی SOLD، یک کار جدید برای نصب و راه اندازی این محصول ایجاد می کند.
    • روش افزودن کار : روش آغاز کار مورد نظر خود را در این قسمت انتخاب کنید. در این مثال روش فرایندها انتخاب شده است. توضیح این که بهتر است در هر مرکز (سیستم اطلاعاتی) یک روش آغاز کار خاص فرایندها با همین نام ایجاد شود.
    • شرح کار آغاز شده :  اگر در این ناحیه، عبارتی را وارد کنید، کار جدید با این شرح ایجاد خواهد شد. اما دقت کنید که در این حالت، تمام کارهای ایجاد شده در تمام گردش کارهای دریافت کننده رخداد، با یک شرح یکسان و مشابه ایجاد خواهد شد. 
    • تابع شرح کار آغاز شده : برای تفکیک شرح کارهای آغازشده، بهتر است بجای روش تعیین یک شرح ثابت، از این روش استفاده کنید. به این صورت که شرح کار به شکل متغیر و بر اساس داده های ارسالی رخداد باشد. برای این کار باید یک تابع با عنوان BPMSWorkDODesc بنویسید و این تابع را در در اینجا، معرفی کنید. به مثال زیر در این مورد توجه کنید:
    function WorkDODescBPMS() {
       const fixPart=" نصب و راه اندازي سيستم مدیریت فرایندها براي  ";
       var MsgData= JSON.parse(WorkMessage.StringParam);
       return fixPart +MsgData.CustomerName;
    }

    در این مثال، برای شرح کار یک قسمت ثابت و مشترک برای تمام کارهای آغاز شده و یک قسمت متغیر (نام مشتری) انتخاب شده که به این ترتیب کارهای ایجاد شده براساس نام مشتریان تفکیک می گردد.

    توضیح: در اینجا فرض شده است که نام مشتری  (CustomerName) در قسمت پارامتر حرفی رخداد، درج شده است. برای مثال فرض کنید پارامتر حرفی به شکل زیر باشد:

    StringParam='{"CustomerName":"Nosa", "City":"Tehran", "Tel":"09123456789"}'

    ملاحظه می کنید که نام مشتری در پارامتر حرفی درج شده است.

    • تابع شرط آعاز کار: در اینجا می توانید شرطی را برای آغاز کار تعیین کنید، برای مثال فرض کنید در این گردش پشتیبانی می خواهیم فقط برای مشتریان موجود در شهر تهران کار آغاز شود. در این صورت می توانیم روی اطلاعات شهر که در پارامتر حرفی درج شده است، شرط بگذاریم. به مثال زیر توجه کنید:
    function WorkActEventCondCity() {
        var data=JSON.parse(WorkMessage.StringParam);
        if (data.City=="Tehran" {
           return true;
        } else {
           return false;
        }
    } 

    خروجی این تابع که با پیش عبارت WorkActEventCond ایجاد می شود، از نوع Boolean یعنی true یا false است. بدیهی است که اگر خروجی true باشد، کار آغاز خواهد شد و در غیر این صورت کار جدیدی آغاز نخواهد شد. در این مثال خروجی تابع به شرطی true می شود که مشخصه City پارامتر حرفی، عبارت Tehran باشد 

    • نوع محتوای کار آغاز شده: در هر روش آغاز کار، نوع محتوا نیز باید تعیین شود. در این مثال یک نوع محتوا با نام "فرایند" وجود دارد که انتخاب شده است.

    یک مثال برای پیشبرد کارهای موازی با رخداد

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

    روال کار به این صورت خواهد بود :

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

    این روند برای تمام مراحل تست تکرار می شود و دو گردش کار تامین نیروی انسانی و تستهای استخدام بطور موازی تا انتهای کار و استخدام افراد مورد نظر ادامه می یابد.

     

    ضمیمه: موارد استفاده از رخداد در سیستم مدیریت فرایندها

    همزمان با توسعه سیستم مدیریت فرایندها، استفاده از رخداد در بخشهای مختلف این سیستم پیاده سازی شده است. در حال حاضر، در موارد زیر از رخداد استفاده می شود:

    آشکارسازها

    بعضی از فرایندها، به رویدادهایی در سیستمهای خارج از مدیریت فرایندها (BPMS) حساس هستند. آشکارساز مکانیزمی واسطه ای است که این نوع از رویدادها را در بازه های زمانی معین  پیدا و کشف می کند و رخدادی متناسب با آن ارسال می کند. آشکارسازها در دو دسته رخدادهای آغاز کار و رخدادهای دریافتی میانی کاربرد دارند.

    آشکارساز برای رخدادهای آغاز کار

    مثال: شروع یک کار تعمیر پس از میزان مصرف مجاز دستگاه

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

    آشکارساز برای رخدادهای دریافتی میانی

    مثال: خاتمه کار کنترل با خروج فرد از سازمان

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

    ثبت خودکار کاربر گوگل (google account)

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

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

    ایجاد منبع دیجیتال از گزارشهای چاپی

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

    پيوست ها


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


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


    --
    03 مرداد 1401 03:47 ب.ظ
    با سلام و تشکر فراوان
    خسته نباشید


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


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


    --
    29 بهمن 1402 04:10 ب.ظ
    با سلام خدمت همکاران محترم
    این مطلب بروزرسانی شد و امکان جدید نسخه 15.27 یعنی تعیین شرط آغاز کار از طریق رخداد به آن اضافه شد.

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


    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