PDA

View Full Version : راه حل برای مسئله بدهکاریها



aknj56
یک شنبه 17 اردیبهشت 1391, 08:59 صبح
با سلام خدمت دوستان عزیز
من یک مشکل گیر کردم که از دوستان میخام من رو راهنمایی و راه حل بدند این برنامه برای معوقات شارژ مجتمع است:
من قرار است از هر شخصی ماهی فعلاً 10هزار تومان بگیرم و این از تاریخ مثلا 1/1/91 شروع می شود و تا تاریخ فعلی سیستم که معلوم نیست کی باشد مثلا 17/3/91 این مبلغ را بگیرم من اومدم عدد ماه رو ضربدر مبلغ کردم که در اینجا میشود 30هزار تومان و بعد هم اومدم مبلغ پرداختی افراد رو از این کم کردم یعنی اگر شخص 20 هزار تومان داده 10 هزار تومان بدهکار میشود و تا اینجا کاملا بدهکاری افراد رو حساب می کند بعد تصمیم گرفته میشود از این تاریخ که 17/3/91 است این مبلغ 15000 تومان شود حال مشکل این است که از این تاریخی که قرار است مبلغ اضافه شود رو چطور حساب کنم اگر طبق
فرمول بالا ضربدر عدد ماه شود برای ماههایی که شخص پرداخت کرده هم 5 هزار تومان اضافه میشود یعنی میخام از تاریخ 15 هزار تومان حساب شود و بدهکاری ماه های قبل هم بهش اضافه شود و این5 هزار تومان هم روی ماههای قبلی کشیده نشود
حالا نمی دونم راه حل مسئله رو از اول اشتباه رفتم یا نه لطفا راهنمایی کنید

hakim22
یک شنبه 17 اردیبهشت 1391, 10:18 صبح
من چندبار متن رو خوندنم و نفهمیدم مشکل کجاست !؟
شما برای هر نفر یک حساب باز می کنید.
همه ی حسابها یک مقدار قسط دارند که هر ماه باید واریز کنند.
این قسط ممکنه در هر مدتی تغییر کند !
به تعداد ماههایی که از یک نرخ قسط می گذرد طرف به شما بدهکار است.
اگر پرداخت کند بدهی ها صفر میشود.
برای هر ماه هم بدهی برابر با نرخ قسط خواهد بود.
هر مقداری هم که در مدت آن پرداخت نکرده باشد به عنوان بدهی باقی می ماند !
شما اگر لیستی از ماههایی که یک مقدار قسط فعال است و مقادیر آنها داشته باشید همیشه می توانید با ضرب مقدار ماه در مقدار قسط بدهی را محاسبه کنید !

aknj56
یک شنبه 17 اردیبهشت 1391, 10:33 صبح
با تشکر از شما دوست عزیز
درسته شخص هر ماه باید مبلغ خاصی رو بده و اگر نده بدهکار هست این چیزی که شما فرمودید توی دیتا گرید مشخص هست که چه ماههایی رو داده و مقدارش رو هم جمع میزنه و مقداری بدهکاریش هم مشخص هست یعنی من اومدم عدد ماه رو که مثلا خرداد است یعنی 3 رو ضربدر 10000 تومان کردم شده 30000 تومان که این شخص باید پرداخت کنه و مقدار پرداختیش رو هم اومدم جمع کردم که مثلا شخص 20000 تومانش رو داده پس 10000 بدهکار میشه این رو حساب میکنم و درست هست مشکل من اینه که وقتی مبلغ از برج 4 اضافه میشه مثلا 15000 تومان این جا مشکل پیش میاد و طبق فرمول من که عدد ماه رو ضربدر اون تکس باکسی که این مبلغ رو وارد میکنم این طوری میشه که 4*15000 =60000 تومان مشکل اینه که شخص که تابرج 3 باید 30000 تومان پرداخت کنه و از برج 4 15000 تومان یعنی 30000+15000 =45000 تومان ولی طبق فر مول میگه باید 60000 تومان پرداخت کنید
امیدوارم مطلب رو رسونده باشم

hakim22
یک شنبه 17 اردیبهشت 1391, 10:48 صبح
همین دیگه عزیز من !!!
شما می خواهید با داده ای که ندارید بازی کنید
یعنی همیشه فقط یک textbox دارید که مرجع محاسبات شماست.
در حالی که مرجع محاسبات شما باید لیستی از قیمتها باشه
شما باید یک دیتابیس از تاریخ شروع و پایان هر دوره و نرخ همون دوره جایی نگاه داری کنید و با این روش محاسبات رو انجام بدید.
مشکل شما دقیقا اینه که می خواهید به ساده ترین راه و ضرب در یک textbox اینکارو انجام بدید که متاسفانه textbox تاریخچه ای از داده اش نگاه نمیداره
گیرم شما لیست همه ی قیمتها رو هم داشته باشید
از کجا بدونید که کدوم دوره تاریخ کدون نرخ باید در نظر گرفته بشه !؟

aknj56
یک شنبه 17 اردیبهشت 1391, 11:01 صبح
با تشکر از شما دوست عزیز
اگر امکان داره بیشتر توضیح بدین من چطوری از لیستی که از شروع و پایان دوره و نرخ آن دوره را که درست کردم برای هر شخص و محاسبه بدهکاریش استفاده کنم

aknj56
یک شنبه 17 اردیبهشت 1391, 21:07 عصر
سلام دوستان عزیز
کسی نیست کمکم کنه
مسئله من اینکه میخام پول شارژ رو که مثلا 10000 تومان هست هر ماه از افراد بگیرم و هر کی نداد رو بدهکارکنم و اگر بعد تصمیم کرفته شد این مبلغ بیشتر بشه باز هم بشه حساب کرد و بدهکاری قبلی افراد را با توجه به همان 10000 تومان نشان بده و ماه جاری رو مثلا با 15000 تومان

ROSTAM2
یک شنبه 17 اردیبهشت 1391, 22:11 عصر
قبلا توی تاپیک قبلی نظرم و گفتم شما باید جدول قیمت گذاری داشته باشی محاسبه بدون واحد قیمت اونم با افزایش که بدون لیست قیمت امکان پذیر نیست

اگه ماهیانه تغییر می کنه خوب یه لیست بساز طبق ماه از سال نرخ معین باشه و خود کاربر باید روی قیمت دهی کنترل کامل داشته باشه

damanpak
یک شنبه 17 اردیبهشت 1391, 23:37 عصر
سلام دوستان عزیز
کسی نیست کمکم کنه
مسئله من اینکه میخام پول شارژ رو که مثلا 10000 تومان هست هر ماه از افراد بگیرم و هر کی نداد رو بدهکارکنم و اگر بعد تصمیم کرفته شد این مبلغ بیشتر بشه باز هم بشه حساب کرد و بدهکاری قبلی افراد را با توجه به همان 10000 تومان نشان بده و ماه جاری رو مثلا با 15000 تومان
سلام به اساتید بنده در این رشته
جناب hakim22دوست عزیزمون aknj56 درست میگن
شما بهتره یه جدول درست کنی و توش نرخها رو که در بازه های زمانی مختلف تغییر میکنه ذخیره کنی مثلا به این روش هم میتونی کار کنی
1-توی پایگاه داده ات یه جدول درست واسه تغیر نرخها به فیلدهای
code کلید اصلی
dt1 تاریخ شروع
dt2 تاریخ پایان
mb مبلغ
حال هروقت که خواستی یه نرخ جدید به هرکدوم از ماه ها بدی کافیه یک رکورد جدید ثبت کنی و کلید اون رکورد رو واسه نرخ اون ماه توی جدول مربوطه قرار بدی تا برنامه هروقت خواست حساب کتاب بکنه به اون رکورد مورد نظر بره و حسابش درست از آب دربیاد
مثلا توی جدولی که فیلدهای بالا رو ساختی یک رکورد با این مشخصات ذخیره شده (15000,'1391/07/01','1391/01/01',1)
یعنی از فروردین ماه سال 91 تا مهرماه سال 91 میزان شارژ هرماه برابر با 15000 تومن بوده و از اون به بعد طبق نرخ جدیدی که در جدول ذخیره کردی شارژ محاسبه میشه
امیدوارم مطلب رو رسونده باشم
با تشکر دامن پاک

ROSTAM2
یک شنبه 17 اردیبهشت 1391, 23:40 عصر
جناب hakim22دوست عزیزمون aknj56 درست میگن :متفکر: :لبخند:

damanpak
یک شنبه 17 اردیبهشت 1391, 23:50 عصر
:متفکر: :لبخند:
ببخشید منظورم این بود جناب aknj56 دوست عزیزمون hakim22 درست میگن:خجالت::خجالت::لبخند:

vali82
سه شنبه 19 اردیبهشت 1391, 11:41 صبح
سلام به نظر من شما باید داخل پایگاه داده تون یک جدول درست کنید که حداقل دو ستون داشته باشه یک ستون تاریخ اعمال مبلغ و ستون بعدی مبلغ حالا وقتی برنامه می خواد بدهکاری ها رو چک کنه ببینه تاریخ این دریافتی کی هست اگر مربوط به اخرین بدهکاری باشه مبلغ جدید و اگر قبل از اون باشه با مبلغ های قدیمی حساب کنه