ورود

View Full Version : نظرتون در مورد این فاکتورخرید



nazanin_z
چهارشنبه 19 مهر 1391, 14:33 عصر
سلام
نظرتونو میخواستم در مورد این فاکتور خرید بدونم! این فاکتور کالاهاییه که مسئول خرید فروشگاهمون فاکتور خریداشو وارد سیستم میکنه!
بنظرتون واضحه؟ میخواد یه راهنمای استفاده بذارم؟
ردیف توی جدول چک fkردیف توی جدول اوله.

Nima_kyan
پنج شنبه 20 مهر 1391, 08:09 صبح
سلام

ردیف توی جدول چک fkردیف توی جدول اوله.
كليد اصلي تو جدول اول چي هستش؟
شماره فاكتور تو جدول اول ذخيره ميشه؟
جمع رديف منظورتون همون "مبلغ كل" اون رديفه؟
آيا فروشگاه شما نياز به "واحد شمارش" نداره؟ يعني همه اقلامتون از يه واحد شمارش استفاده ميكنن؟؟

nazanin_z
پنج شنبه 20 مهر 1391, 20:34 عصر
کلید اصلی توی جدول اول ردیف هست! که توی جدول دوم اشاره به اون داره.
کلا مشکلمم همین جاست!!
جمع ردیف منظورم مبلغ کل اون ردیفه.
نه واحد شمارش نیاز نداره فروشگاه کتابه. بله همه از یه واحد استفاده میکنند.

درسته کلید اصلی م ردیف باشه؟ احساس میکنم اشباهه چون اونوقت وقتی بخوام ذخیره کنم هرسری تکراری میشه!
چی بذارم کلید اصلی رو؟
آره شماره فاکتور ذخیره میشه!

Nima_kyan
جمعه 21 مهر 1391, 09:17 صبح
جمع ردیف منظورم مبلغ کل اون ردیفه.بهتره همون مبلغ کل بزاریدش.

درسته کلید اصلی م ردیف باشه؟احساس میکنم اشباهه چون اونوقت وقتی بخوام ذخیره کنم هرسری تکراری میشه! بله انتخاب ردیف به تنهایی به عنوان کلید اشتباه است. شما باید شماره فاکتور + ردیف رو به صورت مشترک به عنوان کلید معرفی کنید.(کلید ترکیبی)
شما تصور کن تو فاکتور اول شماره ردیف از 1 تا 10 ثبت شه. تو فاکتور دوم شماره ردیف شما از 11 شروع میشه.( شماره ردیف برای هر فاکتور باید از 1 شروع شه.)
و تو جدول دوم شماره فاکتور میتونه کلید اصلیت باشه

nazanin_z
جمعه 21 مهر 1391, 23:23 عصر
الان این دوتا جدوِِل، جدولای پایگاهمه که به این گرید بایند شده.
شماره فاکتور رو کجا ذخیره کنم که هم مربوط به جدول بالا بشه هم پایین؟؟
یعنی بعدا که خواستم جستجو کنم براساس اون شماره فاکتور داده های مورد نظر ازین دوتا جدول رو بدست بیارم؟

Nima_kyan
جمعه 21 مهر 1391, 23:39 عصر
اگه شماره فاکتور ذخیره نشه که بعدا خیلی به مشکل برمیخوری

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

Nima_kyan
شنبه 22 مهر 1391, 00:13 صبح
آیا این روش مناسبه؟
فرض کنید دو فاکتور دست مشتری داریم، بصورت زیر :
ردیف شماره فاکتور
1 500
2 501
فاکتور دوم :
1 502
2 500
یعنی دو فاکتور مجزا با یک شماره فاکتور.
حق با شماست.
روش بهینه اش اینه که شماره فاکتور+کد کالا به عنوان کلید معرفی شه.

یشنهاد میکنم شماره فاکتور رو بصورت تک کلید در نظر بگیرید(واسه راحتی کار identity بگیرید). چون اولویت ابتدا با تک کلید هستش بعد با کلید ترکیبی. حالا شما در نظر بگیر یه نفر میاد و چند کتاب مختلف خرید میکنه. ما باید یه فاکتور واسش صادر کنیم که تمام خریدهاش داخلش باشه. یعنی یه شماره فاکتور واسه هر چند قلم جنسی که بخواد خرید کنه.
با استفاده از روش پیشنهادی شما واسه یه خرید چند قلمه چند شماره فاکتور ثبت میشه.
mohammaddou (http://barnamenevis.org/member.php?155296-mohammaddou) به نظر من شماره فاکتور نمیتونه Identity در نظر گرفته شه. :چشمک:

Arash_janusV3
شنبه 22 مهر 1391, 01:07 صبح
شماره فاکتور به تنهایی می بایست کلید اصلی باشدو تکراری هم نپذیرد
همین کفایت می کنه

Nima_kyan
شنبه 22 مهر 1391, 01:19 صبح
شماره فاکتور به تنهایی می بایست کلید اصلی باشدو تکراری هم نپذیرد
همین کفایت می کنه
يعني اگه خريدار چند كالاي مختلف خريد كنه، برای هر کالا یه شماره فاکتور؟

Arash_janusV3
شنبه 22 مهر 1391, 01:37 صبح
مهم نیست خریدار به چه تعداد کالا خرید کرده
شناسه ما شماره یک فاکتور هستش
کالا جزئیات یک فاکتور محسوب می شه

Nima_kyan
شنبه 22 مهر 1391, 02:02 صبح
مهم نیست خریدار به چه تعداد کالا خرید کرده
شناسه ما شماره یک فاکتور هستش
کالا جزئیات یک فاکتور محسوب می شه
من درست متوجه نشدم.
فاکتور زیر رو درنظر بگیرید:
شماره فاکتور --- کد کالا
1000 --- 1
1000 --- 6
1000 --- 14
نمیشه که برای هر کالا من یه فاکتور بنویسم.
وقتی شماره فاکتور به تنهایی کلید باشه چطور میشه این چند کالا رو که توسط یه مشتری خریداری شده اند رو ثبت کرد؟ (با چند شماره فاکتور مجزا که منظورتون نیست)

Nima7887
شنبه 22 مهر 1391, 07:40 صبح
من البته فيلدهاي جداول شما رو نديدم ولي بنظر من نبايد فقط دو تا جدول داشته باشيد شما به جداول زير نيازمنديد

جدول هيدر فاكتور -- كليد اون همون شماره فاكتوره - رقم نقد تسويه هم توي اينجا ذخيره بشه
جدول اقلام يا ديتيل فاكتور -- كليد اون همون شماره فاكتور به علاوه رديفه -- كالاهاتون اينجا ذكر بشه

جدول چكهاي پرداختي -- كليد اون آي دن تي تي ، نيازي نيست به كاربر اين شماره نمايش داده بشه اگر خيلي دوس داريد نمايش داده بشه كليد اون با شماره فاكتور تركيبي باشه -- شماره فاكتور هم ذخيره بشه

البته اگه اين امكان وجود داره كه بابت هر چند فاكتور يه چك داده بشه بايد براي قضيه تسويه بصورت مجزا فكر كرد و اينطوري جوابگو نيست

baktash.n81@gmail.com
شنبه 22 مهر 1391, 10:18 صبح
طراحی فاکتور معمولا به صورت Master/Detail هست ... یعنی ما یه جدول مستر داریم که شماره فاکتور تاریخ خریدار و ... توش نگهداری می کنیم یه جدول Detail هم داریم که جزئیات فاکتور رو نگهداری می کنیم شماره کالا مبلغ تعداد و کلید اصلی جدول Master ... هر کدوم از این جداول یه کلید اصلی دارن که بهتره از نوع Identity باشه ...

و البته واقعا لذومی نداره که فیلد کلید ما که Identity هست رو کاربر ببینه ... یعنی می تونیم یه شماره فاکتور توی برنامه تولید کنیم و در دیتابیس قرار بدیم ...

nazanin_z
شنبه 22 مهر 1391, 12:38 عصر
منگه بدتر قاطی کردم!
منظورتون اینه؟:
یک جدول برای هدر فاکتور که شامل: شماره فاکتور(pk) و تاریخ+نوع خرید(یعنی نقد بوده یا چک)+مبلغ نقد پرداخت شده
جدول جزییات که شامل: کدکالا+شرح کالا+واحد+فی+تخفیف+تعداد+قی ت کل
یک جدول چک: نوع چک+شماره چک+بانک+شعبه+شماره حساب+تاریخ+مبلغ

تا اینجا درست متوجه شدم؟
ممنون از همه دوستان :)

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

Arash_janusV3
شنبه 22 مهر 1391, 13:51 عصر
من درست متوجه نشدم.
فاکتور زیر رو درنظر بگیرید:
شماره فاکتور --- کد کالا
1000 --- 1
1000 --- 6
1000 --- 14
نمیشه که برای هر کالا من یه فاکتور بنویسم.
وقتی شماره فاکتور به تنهایی کلید باشه چطور میشه این چند کالا رو که توسط یه مشتری خریداری شده اند رو ثبت کرد؟ (با چند شماره فاکتور مجزا که منظورتون نیست)

منظور من رو دوستان به خوبی گفتند
باید به صورت master detail عمل کرد

baktash.n81@gmail.com
یک شنبه 23 مهر 1391, 09:13 صبح
آره درست متوجه شدی ... بهتره در صورتی که ملیات و اینا هم حساب می کنی توی هدر نگهداری کنیشون ...