ورود

View Full Version : سوال: پیاده سازی ارجاع در سیستم اتوماسیون



hadisalahi2
سه شنبه 02 شهریور 1389, 16:51 عصر
با سلام به همگی دوستان.
در حال نوشتن یک برنامه اتوماسیون هستم که در این سیستم لازمه تا اطلاعاتی به سمت یک کاربر دیگه ارجاع بشه.
به عنوان مثال در یک فرم اطلاعات مرخصی یک فرد پس از تکمیل به واحد مربوطه اون ارجاع داده میشه.
برای ایجاد وضعیت ارجاعات یک جدول در نظر گرفته شده که اطلاعات ارجاع کننده و گیرنده و زمان و همچنین کد ارجاع در اون ذخیره میشه.
حالا سوال اینجاست که به چه روشی میشه با سریع ترین حالت ، کاربر مقصد از ارسال این ارجاع به سمت خودش مطلع بشه. به عبارتی دیگه برنامه از درج شدن یک رکورد در جدول ارجاعات مطلع بشه؟
لازم به ذکره که روی همه سیستم های شبکه برنامه نصب شده و بانک اطلاعاتی نیز توی سیستم سرور قرار داره.
یکی از تکنیک های انجام این کار ، به نظر خودم چک کردن عملیات ثبت رکورد ارجاع داخل یک تایمره ولی فکر می کنم این روش سرعت برنامه رو کاهش بده.
از رویداد AfterPost هم فکر نمیکنم بشه استفاده کرد ، چون این رویداد فقط در سیستم مبدا فراخوانی میشه و فکر نکنم سیستم یا کاربر مقصد از درج رکورد ارجاع در جدول با خبر بشه.
ممنون میشم دوستان نظراتشون رو در این مورد بیان کنند
یا حق

hadisalahi2
چهارشنبه 03 شهریور 1389, 11:09 صبح
منتظر نظرات ارزشمند دوستان هستم...

hadisalahi2
چهارشنبه 03 شهریور 1389, 20:54 عصر
با سلام
جدای سوال من، اصلا چطوری میشه از درج یک رکورد در یک جدول مطلع شد؟

hadisalahi2
پنج شنبه 04 شهریور 1389, 08:58 صبح
دوستان هیچ کس با این مشکل مواجه نشده؟

merced
شنبه 06 شهریور 1389, 20:25 عصر
یکی از دوستان یه برنامه اتوماسیون داشت و مشکلاتی از این قبیل رو داشت . بهش سه لایه رو پیشنهاد دادیم. گفت باید ساختار عوض کنه.
آخرین بار دیدم به برنامه اش یه برنامه پیامرسان فوری اضافه کرده (برنامه چت)
گفت این رو اضافه کردم با Indy و به همون صورتی که پسام میشه ارسال کرد برای این یکی اون یکی بعد از ارجاع یا هر عملیاتی که طرف دوم باید متوجه بشه یه پیام برنامه میفرسته که در مقصد به کاربر به شکل مناسب دیده بشه..

hadisalahi2
دوشنبه 08 شهریور 1389, 12:01 عصر
اینجا یه مشکلی پیش میاد.
برنامه چت پیام رو به IP اون سیستم میفرسته.حالا اگه کاربر مورد نظر ما از یک سیستم دیگه Login بشه به نرم افزار اون موقع چطوری باید اون رو شناسایی کنیم.
چون پیام به سمت آی پی سیستم میره نه یوزر.
در ضمن یک لطفی میکنی روش اراسل پیام رو اینجا بگی برام.
یا حق

hamid-nic
دوشنبه 08 شهریور 1389, 16:41 عصر
سلام دوست عزیز
این فقط یه پیشنهاده .
اگر شما از بانک sql server نسخه های 2005 به بالا استفاده می کنید یا خود نسخه ی 2005 یک سرویسی در اون هست با نام Notification Services که برای اطلاع رسانی از اون استفاده می کنند . برای کار با اون در دلفی باید از مجموعه SDAC ورژن professional استفاده کنید که یک شی با نام MSChangeNotification داره . برای اطلاعات بیشتر یه جست و جویی با همین نام SDAC بکنید . برای این کار هم در sample هایی خودش نمونه هایی داره .
موفق باشید .

hadisalahi2
سه شنبه 09 شهریور 1389, 09:18 صبح
ممنون دوست عزیز
ولی متاسفانه یا خوشبختانه من با 2000 کار میکنم و ترجیح می دم که با ADo با بانک اطلاعاتی ارتباط برقرار کنم.
روش پیشنهادی دوستمون در استفاده از Indyخوبه ولی اگه بتونید توضیحات بیشتری بدید ممنون میشم.

hadisalahi2
چهارشنبه 10 شهریور 1389, 13:11 عصر
جناب merced (http://www.barnamenevis.org/forum/member.php?u=5388) من همچنان منتظر نظرات شما و سایر دوستان هستم
یا حق

K.Mohammadreza
پنج شنبه 11 شهریور 1389, 15:29 عصر
با سلام مشکل شما مشکل جديدي نيست اين مشکل براحتي قايل حل هست. همانطور که در سيتمهاي بانکي همزمان با تغيير در موجودي يک حساب تغييراتن در همه جا اعمال ميشه و همه ميتونند تغييرات را ببيند و يا در سيتم هاي اتوماسيون اداري که با تغيير در وضعيت کاربر و اطلاعات آن سريعاً تغييرات نشان داده ميشه و حتي قبل از اينها مايکروسافت در نرمافزارهاي مختلف منجمله Outlook که با ثبت يک ميل در پايگاه داده داده سريعاً به اطلاع کاربر هم رسانده ميشه شما بايد از همان شيوه ها استفاده کنيد
با تشکر اگر نتوانستيد روشهاي مورد استفاده را پيدا کنند پيام دهيد

hadisalahi2
پنج شنبه 11 شهریور 1389, 17:45 عصر
سلام محمد رضای عزیز.
اگه میدونستم که چرا سوال کنم.
من هم قاعدتا دنبال همین روشها هستم که به محض ارجاع یک درخواست ، به نحوی به کاربر گیرنده اطلاع رسانی بشه.
اگه اطلاعاتی دارید ممنون میشم اگه ما رو هم بی بهره نگذارید.
یا حق

K.Mohammadreza
جمعه 12 شهریور 1389, 22:23 عصر
سلام دوست عزيز
هر چه سريعتر به سايت زير برو و نمونه سورس کدهاي جامع و کامل در مورد اتوماسيون اداري را دانلود کن از پروژه دلفي گرفته تا سي شارپ و اي اس پي و ...
http://www.hackchina.com/en/cont/27930
در ضمن جهت استفاده ديگر کاربر هم اگه ممکنه سورسها را بذار ممنون
ضمناً حتما براي ديدن ليست پروژه ها به آخر صفحه اسکرول کن

hadisalahi2
شنبه 13 شهریور 1389, 09:19 صبح
کدوم یکی رو دانلود کنم؟
شما از این پروژه ها تا الان استفاده کردی؟
اگه استفاده کردی اطلاعاع از ارجاع یا همون ارجاع مستقیم در کدوم قسمتش قرار داره؟
یا حق

K.Mohammadreza
شنبه 13 شهریور 1389, 11:46 صبح
دوست عزیز
سلام باور کنید اگر وقت داشتم برنامتون را مینوشتم و ارسال می کردم ولی گفتم لااقل نمونه کدی داشته باشی و اون سایت را معرفی کردم که برنامه های رایگان فول سورس را ببینی و با تحلیل کدها به نتیجه مطلوب و مورد نظرت برسی. من خودم از پروژه های ASP اون استفاده کردم و مشکلم حل شد ولی این موضوع مربوط به چند وقت قبل میشه و درست یادم نیست که کدام ماژول مربوط به این موضوع میشه ولی یک ماژول(تابع) داشت که وظیفه اینکار را برعهده داشت و در نمونه دلفی فکر کنم یک سرویس روی سرور اجرا میشد و همزمان با تغییر در دیتابیس موضوع به اطلاع کاربر مورد نظر میرسید.

با آرزوی موفقیت

hadisalahi2
شنبه 13 شهریور 1389, 15:33 عصر
ممنون از لطف و راهنماییت ولی متاسفانه من توی این ساید و پروژه ها باید توی انبار کاه دنبال یک سوزن بگردم.
اون پروژه ها با دلفی 2007 مشکل دارند.
اگه شما چیزی دستگیرت شد ما رو هم بی بهره نزاری
یا حق

hadisalahi2
دوشنبه 15 شهریور 1389, 21:09 عصر
محمد رضای عزیز من همچنان منتظر نظرات ارزشمندت هستم
آخر تونستی این از این پروژه چیزی دستگیرت بشه؟

K.Mohammadreza
سه شنبه 16 شهریور 1389, 17:40 عصر
سلام يک راه ساده که نظم عملي هم مياد اينکه يک برنامه سرويس بنويسي و روي سرور اجراش کني وقتي که برنامه اطلاعات را ذخيره کرد(afther post data) يکسري اطلاعات خطلاصه شده هم در مورد رکورد اضافه شده به سرويس بفرستي سرويس هم با استفاده از اطلاعاتي که برنامه مبداً فرستاده اطلاعات رکورد را دربياره و يک پيام اخطار و توجه به کاربر مورد نظر اراسل کنه البته بايد برنامه کاربر و وضعيت کنوني کاربر مشخص باشه يعني اينکه زماني کاربر نام کاربري و رمز عبور را وارد کرد و وارد برنامه شد، در يک فيلد جدول کاربران وضعيت انلاين براش منظور کني و سرويس هم بايد از همين خاصيت استفاده کنه و متوجه بشه که فرد آنلاين هست يا خير اگر آنلاين بود بعد از ارسال پيام فيلد اطلاع رساني در جدول ارجاعات بايد پر بشه و اگر انلاين نبود بعد از آنلاين شدن سرويس اولين کاري که بايد انجام بده اين باشه که بررسي کنه تا بينه پيام جديد براي کاربر اومده يا خير و به همين ترتيب.
با آرزوي موفقيت

hadisalahi2
چهارشنبه 17 شهریور 1389, 09:22 صبح
سلام يک راه ساده که نظم عملي هم مياد اينکه يک برنامه سرويس بنويسي و روي سرور اجراش کني وقتي که برنامه اطلاعات را ذخيره کرد(afther post data) يکسري اطلاعات خطلاصه شده هم در مورد رکورد اضافه شده به سرويس بفرستي سرويس هم با استفاده از اطلاعاتي که برنامه مبداً فرستاده اطلاعات رکورد را دربياره و يک پيام اخطار و توجه به کاربر مورد نظر اراسل کنه البته بايد برنامه کاربر و وضعيت کنوني کاربر مشخص باشه يعني اينکه زماني کاربر نام کاربري و رمز عبور را وارد کرد و وارد برنامه شد، در يک فيلد جدول کاربران وضعيت انلاين براش منظور کني و سرويس هم بايد از همين خاصيت استفاده کنه و متوجه بشه که فرد آنلاين هست يا خير اگر آنلاين بود بعد از ارسال پيام فيلد اطلاع رساني در جدول ارجاعات بايد پر بشه و اگر انلاين نبود بعد از آنلاين شدن سرويس اولين کاري که بايد انجام بده اين باشه که بررسي کنه تا بينه پيام جديد براي کاربر اومده يا خير و به همين ترتيب.
با آرزوي موفقيت

با تشکر ولی همین این روشها به ذهن خودم هم رسیده.
من دنبال ایده نیست چون خودم چند تا ایده به ذهنم سیده .
مشکل اینه که چطور این روش رو پیاده سازی کنیم.
شما برای پیاده سازی این روش ، نمونه یا کدی رو سراغ داری؟