PDA

View Full Version : سوال: فرمول نويسي در SQL ( نرم افزار حقوق و دستمزد)



aliasghar
شنبه 12 مرداد 1387, 16:57 عصر
با سلام.
من در حال طراحی بانک اطلاعاتی مریوط به نرم افزار محاسبه حقوق و دستمزد هستم.
در محاسبه حقوق هر فرد باید سه عامل در نظر گرفته شود
1) حقوق پایه : از عوامل مستقیم مربوط به هر پرسنل به دست می آید مثل تعداد روز های کارکرد* نرخ کارکرد روزانه – ساعت های کسر کار * نرخ معین به ازائ هر شخص
2) اضافات: عواملی که به حقوق پایه هر شخص اضافه می شود مثل حق مسکن ، حق اولاد و...
3) کسورات و بدهیها : عواملی که ازجمع حقوق پایه بعلاوه اضافت هرشخص کسر می شود مثل حق بیمه و مالیات

این فرمول محاسبه حقوق برای هر سازمان ، بسته به نوع پرسنل و قراردادهاي ايشان متفاوت است. مثلاً سازمانی حق اولاد دارد و جایی ندارد و یا در جایی مبلغ بیمه 7% از حقوق و مزایا است و در جایی 10%
اما کاربر باید بتواند در هر لحضه فرمولهای محاسبه حقوق را عوض کند و یا شرط جدیدی در این محاسبه منظور نماید.

تا جایی که نوشتن فرمول محاسبه حقوق پرسنل باید جزو توانایی های کابر برنامه باشد

من به Demo چند شرکت نویسنده نرم افزار هم نگاه کرده ام و انها هم به همین شکل کار را انجام داده اند

http://barnamenevis.org/forum/attachment.php?attachmentid=21190&stc=1&d=1217685324

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

از توجه شما متشکرم.

ASKaffash
شنبه 12 مرداد 1387, 17:44 عصر
سلام
ولی من یک روش دیگر دارم چون فرمول نگارها به آن شکل کند هستند و اگر خوب تحلیل انجام شود خواهیم دید که کلیه فرمولهای حقوق قابل طبقه بندی است یک نمونه فرمول برایت نشان میدهم :

AminSobati
شنبه 12 مرداد 1387, 19:56 عصر
دوست عزیزم مواردی که من برخورد کردم، فرمول یا در اصل، همون Query بصورت Dynamic ساخته و اجرا میشه

aliasghar
یک شنبه 13 مرداد 1387, 07:51 صبح
سلام
ولی من یک روش دیگر دارم چون فرمول نگارها به آن شکل کند هستند و اگر خوب تحلیل انجام شود خواهیم دید که کلیه فرمولهای حقوق قابل طبقه بندی است یک نمونه فرمول برایت نشان میدهم :

ممنونم:
ميشه لطفاً توضيح بدين پياده سازي اين فرمول جديد در DataBase به چه صورت انجام مي شه که کاربر بتونه در آينده از اين فرمول ايجاد شده يا همون عيدي به عنوان يک عامل حقوقي استفاده کنه؟

راستي آقاي ثباتي:
آيا مي شه اين Query را به شکل يک Function نوشت که با يک اسم خاص ذخيره بشه و در آينده اون را صدا کرد؟

AminSobati
یک شنبه 13 مرداد 1387, 23:49 عصر
همه کار میشه کرد! Function, sp و ... ولی بعضا فرمول داینامیک در یک فیلد ممکنه ذخیره بشه و در موقع استفاده، وسط یک Query بکار بره

ASKaffash
دوشنبه 14 مرداد 1387, 11:04 صبح
ممنونم:
ميشه لطفاً توضيح بدين پياده سازي اين فرمول جديد در DataBase به چه صورت انجام مي شه که کاربر بتونه در آينده از اين فرمول ايجاد شده يا همون عيدي به عنوان يک عامل حقوقي استفاده کنه؟

راستي آقاي ثباتي:
آيا مي شه اين Query را به شکل يک Function نوشت که با يک اسم خاص ذخيره بشه و در آينده اون را صدا کرد؟

سلام
زیاد نمی توانم توضیح دهم چون شکلی که برایت قرار دادم ایده یک نرم افزار ثبت شده و پیاده سازی در سازمانهای بزرگ است (اجازه ندارم تکنیک را لو بدهم) ولی کل منطق ها در حدوذ 10 فرمول استاندارد و چند منطق غیر استاندار شبیه سازی شده است یکی از این فرمولها به شکل ذیل است :
Fx=a+Sigma(Item)*b/c*Y/X
در واقع مقادیر پارامترهای این فرمول در رکورد آن المان مالی نگهداری میشود.
بنظر شما این فرمول سریعتراست یا یک تابع SQLServer ؟

rahmana
دوشنبه 14 مرداد 1387, 11:15 صبح
سلام
براي اين جور مسائل بايد قبل از ثبت اطلاعات در بانك بروي آنها در محيط برنامه نويسي كار انجام داد چو ن دستت در نوشتن فرمول ها باز تر است
قبل از ثبت مي توني تمام عمليات لازم را انجام داد و آن اطلاعاتي را كه لازم است از بانك بگيري و با هم تركيب كني و نهايتا ذخيره كني.
موفق