PDA

View Full Version : راهنمایی در مورد اصلاح سند حسابداری



hamix666
جمعه 09 مهر 1395, 00:10 صبح
سلام
من دارم یه برنامه می نویسیم تازه کار هستم
مدیریت باشگاه بدنسازی هست در قسمت حسابداری و مالی به مشکل خورد هزینه های پرداختی برای چند مورد می باشد با عنوان های : هزینه ماهیانه و دارو مکمل و....
حالا فرض کنید یک عضو بدهکار می باشد و در چند نوبت پرداخت انجام می دهد اگر یک سند در گذشته به اشتباه ثبت شده باشد برای ویرایش چه کاری باید انجام داد که مبلغ ها بهم نخوردو مبلغ ویرایش شده در باقی سند ها هم اعمال شود.؟

ali_md110
جمعه 09 مهر 1395, 04:27 صبح
سلام
برای اسناد اشتباه سند تعدیل صادر میکنیم
یعنی اگر یک نفر بیشتر از مبلغ بدهی پولی پرداخت گرده
یک سند حسابداری معکوس اون باید زده بشه

hamix666
جمعه 09 مهر 1395, 11:13 صبح
سلام
برای اسناد اشتباه سند تعدیل صادر میکنیم
یعنی اگر یک نفر بیشتر از مبلغ بدهی پولی پرداخت گرده
یک سند حسابداری معکوس اون باید زده بشه
منظورتون رو متوجه نشدم اگه امکانش هست روی مثال زیر توضیح بدید:
من 200 تومان بدهکارم
100 تومان پرداخت می کنم مانده 100
20تومان پرداخت می کنم مانده 80
30تومان پرداخت می کنم مانده 50
وحالا سند اول رو می خوام اصلاح کنم مبلغ پرداختی باید اصلاح شود چی کار کنم که مبلغ سندها بهم نخورد؟
چی کار باید کرد

ali_md110
جمعه 09 مهر 1395, 13:08 عصر
توی اسناد حسابداری مانده گیری نکنید یعنی هر سند یک موجودیت مستقل از سایر موجودیتهای مشابه در نظر بگیرید
مثلا اگر یک مبلغ 100 تومن پرداخت کردید و توسط شخص شما x بود
و بار دوم 50 تومن نقدی پرداخت کردید و توسط شخص x بود توی جدول سند حسابداری فیلدی بنام مانده قرار ندید و این مبالغ رو از هم کسر نکنید
اگر میخاید این کار بکنید یک جدول Header بسازید و رابطه یک به چند با جدول سند حسابداری بسازید و کد شخص و مانده حساب رو اونجا ببرید و کم و کسرتون اونجا ذخیره کنید

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

hamix666
جمعه 09 مهر 1395, 16:10 عصر
توی اسناد حسابداری مانده گیری نکنید یعنی هر سند یک موجودیت مستقل از سایر موجودیتهای مشابه در نظر بگیرید
مثلا اگر یک مبلغ 100 تومن پرداخت کردید و توسط شخص شما x بود
و بار دوم 50 تومن نقدی پرداخت کردید و توسط شخص x بود توی جدول سند حسابداری فیلدی بنام مانده قرار ندید و این مبالغ رو از هم کسر نکنید
اگر میخاید این کار بکنید یک جدول Header بسازید و رابطه یک به چند با جدول سند حسابداری بسازید و کد شخص و مانده حساب رو اونجا ببرید و کم و کسرتون اونجا ذخیره کنید

ب نظر من ساختار طراحی شما کمی مشکل داره
اسکیما یا دیاگرام بانک یا اسنادتون قرار بدید ممکنه نیاز به اصلاح داشته باشند
این عکسش هست می شه یکم بیشتر توضیح بدین؟
142825

ali_md110
جمعه 09 مهر 1395, 17:48 عصر
این tbl_pay میشه جدول پرداختی ها

طراحی شما زیاد خوب نیست

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

جداولتون اینجوری طراحی کنید
1- Voucher یا سند حسابداری
1- تاریخ سند VoucherDate
2-وضعیت سند VoucherStatus شامل مقادیر نهایی -معلق یعنی سند تایید شده است یا خیر
3- customerId کد شخص
4-bedمبلغ بدهکار
5-besمبلغ بستانکار
6-type نوع سند که مشخص کننده اینه که این ردیف از سند چه نوع سندی است مثل سند پرداخت /دریافت/هزینه/درامد /و غیره
البته این فیلد آخری معمولا کلید خارجی جدول حساب معین هست که بیانگر حساب های مالی و تجاری شما هست

جدول دوم میشه جدول فاکتور صورت حساب یا همون هزینه های باشگاه یک شخص
که با جدول voucher رابطه چند به یک داره
1- کلید خارجی سند voucherId
2-مبلغ
3-تعداد
4 مبلغ نهایی
که هنگام درج فاکتور هزینه یک مشتری مقدار ستون مبلغ نهایی دوباره در جدول voucher هم باید ذخیره بشه و شما باید یک سند درآمد بستانکار هم ثبت کنید

جدول دیگه جدول پرداختی شماست
payment
این جدول هم با جدول voucher رابطه چند به یک داره
معمولا این جدول payment به دوبا چند جدول مجزا تقسیم میشه چون انواع پرداختها مثل نقدی -چک و نسیه فیلدهای متفاوت داره
و نیاز به جداول مربوط به خودشون هست
ولی در اینجا ما همون پرداخت نقدی تنها در نظر میگیریم
جدول نقدی
1- voucherIDکلید خارجی از جدول سند
2 مبلغ
3- customer معمولا این فیلد اشخاص ذکر نمیشه ولی میتونید اینجا هم اضافه کنید برای جستجوهای خاص
4- نوع که میشه دریافت یا پرداخت
خب بعد از اینکه پول دریافت شد باید یک سند بدهکاران در جدول voucher زده بشه

البته همه این تراکنشها رو بخوبی مدیریت کنید تا همزمان انجام بگیره منظورم از SqlTransaction استفاده کنید تا جامعیت برنامه از بین نره
خب حالا هر زمان خواستید بدهی یا طلب اشخاص رو مشخص کنید در جدول Voucher کد شخص جستجو یزنید مبالغ بدهکار رو از بستانکار کسر کنید مانده شخص بدست میارید
حتی میتونید به محض اینکه در جدول voucher سندی زدید با توجه به بدهکار یا بستانکار بودن مبلغ بلافاصله در جدول اشخاص هم فیلدی داشته باشید بنام مانده حساب و به روز رسانی کنید

این رو خلاصه گفتم شاید ایده بگیرید و بکارتون بیاد

hamix666
یک شنبه 11 مهر 1395, 01:32 صبح
این tbl_pay میشه جدول پرداختی ها

طراحی شما زیاد خوب نیست

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

جداولتون اینجوری طراحی کنید
1- Voucher یا سند حسابداری
1- تاریخ سند VoucherDate
2-وضعیت سند VoucherStatus شامل مقادیر نهایی -معلق یعنی سند تایید شده است یا خیر
3- customerId کد شخص
4-bedمبلغ بدهکار
5-besمبلغ بستانکار
6-type نوع سند که مشخص کننده اینه که این ردیف از سند چه نوع سندی است مثل سند پرداخت /دریافت/هزینه/درامد /و غیره
البته این فیلد آخری معمولا کلید خارجی جدول حساب معین هست که بیانگر حساب های مالی و تجاری شما هست

جدول دوم میشه جدول فاکتور صورت حساب یا همون هزینه های باشگاه یک شخص
که با جدول voucher رابطه چند به یک داره
1- کلید خارجی سند voucherId
2-مبلغ
3-تعداد
4 مبلغ نهایی
که هنگام درج فاکتور هزینه یک مشتری مقدار ستون مبلغ نهایی دوباره در جدول voucher هم باید ذخیره بشه و شما باید یک سند درآمد بستانکار هم ثبت کنید

جدول دیگه جدول پرداختی شماست
payment
این جدول هم با جدول voucher رابطه چند به یک داره
معمولا این جدول payment به دوبا چند جدول مجزا تقسیم میشه چون انواع پرداختها مثل نقدی -چک و نسیه فیلدهای متفاوت داره
و نیاز به جداول مربوط به خودشون هست
ولی در اینجا ما همون پرداخت نقدی تنها در نظر میگیریم
جدول نقدی
1- voucherIDکلید خارجی از جدول سند
2 مبلغ
3- customer معمولا این فیلد اشخاص ذکر نمیشه ولی میتونید اینجا هم اضافه کنید برای جستجوهای خاص
4- نوع که میشه دریافت یا پرداخت
خب بعد از اینکه پول دریافت شد باید یک سند بدهکاران در جدول voucher زده بشه

البته همه این تراکنشها رو بخوبی مدیریت کنید تا همزمان انجام بگیره منظورم از SqlTransaction استفاده کنید تا جامعیت برنامه از بین نره
خب حالا هر زمان خواستید بدهی یا طلب اشخاص رو مشخص کنید در جدول Voucher کد شخص جستجو یزنید مبالغ بدهکار رو از بستانکار کسر کنید مانده شخص بدست میارید
حتی میتونید به محض اینکه در جدول voucher سندی زدید با توجه به بدهکار یا بستانکار بودن مبلغ بلافاصله در جدول اشخاص هم فیلدی داشته باشید بنام مانده حساب و به روز رسانی کنید

این رو خلاصه گفتم شاید ایده بگیرید و بکارتون بیاد
مرسی از راهنماییت جدول سوم به چه دردی می خوره فکر می کنم اضافه باشه چون فقط دریافتی ها مهم هست
ضمنا من یه مشکل دیگه دارم که لینک تاپیکش رو اینجا میزارم ممنون می شم اونجا رو هم کمکم کنی
http://barnamenevis.org/showthread.php?530634-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A8%D8%A7%D9%86%DA%A9-%D8%AF%D8%B1-%D8%B4%D8%A8%DA%A9%D9%87&p=2342968#post2342968

ali_md110
یک شنبه 11 مهر 1395, 07:16 صبح
جدول سوم اضافی نیست
این جدول بخاطر اینه ممکنه انواع پرداختی متفاوت باشه مثل چک یا نقد و غیره و این پرداختی ها هرکدام ممکنه فیلدهای اضافی و متفاوت داشته باشه و نیاز نباشه توی جدول سند حسابداری وجود داشته باشه
بخاطر رعایت کردن جامعیت بانک برنامه فیلدهای اضافی یک جدول تا حد امکان باید به یک جدول دیگه منتقل بشه

hamix666
یک شنبه 11 مهر 1395, 23:10 عصر
جدول سوم اضافی نیست
این جدول بخاطر اینه ممکنه انواع پرداختی متفاوت باشه مثل چک یا نقد و غیره و این پرداختی ها هرکدام ممکنه فیلدهای اضافی و متفاوت داشته باشه و نیاز نباشه توی جدول سند حسابداری وجود داشته باشه
بخاطر رعایت کردن جامعیت بانک برنامه فیلدهای اضافی یک جدول تا حد امکان باید به یک جدول دیگه منتقل بشه
میشه با توجه به جدول هام فیلد های مورد نیاز رو بگی ؟