PDA

View Full Version : برنامه برای چند ده انبار بزرگ



neynavaz
چهارشنبه 27 مهر 1390, 15:22 عصر
سلام
من یه برنامه تحت وب دارم مینویسم برای یه شرکت خیلی بزرگ
که یه بخش این برنامه انبار هست
این شرکت حداقل 15 تا انبار داره که تو هرکدوم 6 هزار قلم کالای مختلف موجوده
حالا ممکنه این تعداد انبار در صورت موفقیت نرم افزار به 100 ه برسه
فعلا همون 15 تا فرض میکنیم

من یه جدول دارم که گروه بندی کالاهاست
و یک جدول که کالاها رو تو اون گروه بندی ها تعریف میکنه

حالامیخوایم قسمت انبار رو بنویسیم (قسمتی که انبار دار باهاش کار داره)
مشکل من اینجاست که چیکار کنم
برای هر انبار یه جدول بگیرم یا یه جدول بگیرم و همه انبارها توش درج کنند(با رکورد مشخصه جدا؟)
لطفا دوستان کمک کنند
من اینجا هر ماه باید گزارش کار بدم
گیر کردم

mehran_sh_t
چهارشنبه 27 مهر 1390, 16:22 عصر
اول بگم این یک نظر حرفه ای نیست! بهتره دوستان دیگه که تجربه دارن بگن...

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

neynavaz
شنبه 30 مهر 1390, 10:55 صبح
اول بگم این یک نظر حرفه ای نیست! بهتره دوستان دیگه که تجربه دارن بگن...

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

mehran_sh_t
شنبه 30 مهر 1390, 11:13 صبح
پایگاه داده هایی مثل MS-SQL Server و Oracle فکر نکنم مثل شما از این تعداد بترسن ;)

موفق باشید

Felony
شنبه 30 مهر 1390, 13:05 عصر
برای هر انبار یه جدول بگیرم یا یه جدول بگیرم و همه انبارها توش درج کنند(با رکورد مشخصه جدا؟)
یک جدول در نظر بگیرین و یک فیلد ID در اون جدول در نظر بگیرید که حاوی شماره انبار هست .

neynavaz
یک شنبه 01 آبان 1390, 16:26 عصر
دوستان یه سوال دیگه
ورودی های انبار رو با خروجی های انبار تو یه جدول بذارم؟ با یه فیلد تایپشو مشخص کنم یا نه؟ تو دوتا جدول in & out بذارم؟
لطفا اگه کسی تجربه برنامه نویسی انبار رو داره کمکم کنه

mehran_sh_t
یک شنبه 01 آبان 1390, 23:10 عصر
اگر بقیه فیلد ها یکی هستند، می تونید از یک فیلد bit استفاده کنید که مثلا 1 برای out و 0 برای in باشه.
اگر ممکنه فیلدی فقط برای in یا out باشه، به نظر من جدا کنید.

حالا باز دوستانی که تجربه دارن امیدوارم نظر بدن!

hossein_h62
دوشنبه 02 آبان 1390, 08:19 صبح
ورودی های انبار رو با خروجی های انبار تو یه جدول بذارم؟ با یه فیلد تایپشو مشخص کنم یا نه؟ تو دوتا جدول in & out بذارم؟
لطفا اگه کسی تجربه برنامه نویسی انبار رو داره کمکم کنه
سلام
من چند برنامه بزرگ رو دیدم که کل گردش انبار رو در یک جدول ثبت میکنن،البته نیاز به دو جدول دارین که یکی هدر رسید و حواله ها در اون درج بشه و دیگری اقلام رسید و حواله ها.

neynavaz
چهارشنبه 04 آبان 1390, 10:57 صبح
سلام
من چند برنامه بزرگ رو دیدم که کل گردش انبار رو در یک جدول ثبت میکنن،البته نیاز به دو جدول دارین که یکی هدر رسید و حواله ها در اون درج بشه و دیگری اقلام رسید و حواله ها.
مرسی بازم از این دست راهنمایی ها دارید بفرمایید استفاده کنیم
من نیاز شدیدی به کمک شما دارم

hossein_h62
چهارشنبه 04 آبان 1390, 12:09 عصر
مرسی بازم از این دست راهنمایی ها دارید بفرمایید استفاده کنیم

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

sajjad_kochekian
چهارشنبه 04 آبان 1390, 18:31 عصر
سلام
برای نوع اسناد انبار بهتر از عدد استفاده کنید یک فیلد نوع به جدول هدر اضافه کن و از یک شروع به نوع گذاری کن. چون اسناد انبار بیش از دو نوع است.
مثال:
1. اول دوره 2. رسید 3. حواله .4 برگشتی
برای انبار ها هم یک فیلد در هدر در نظر بگیر.
مثلا :
انبار 1 دوره مالی 1 رسید 1
انبار 1 دوره مالی 1 حواله 1

shkm1365
یک شنبه 08 آبان 1390, 00:11 صبح
دوست عزیز من جایی یک برنامه انبار نوشتم.کاری که کردم این بود یک جدول برا انبار گرفتم و یک جدول هم فقط با 2 فیلد Id که یکی Id پدر و یکی دیگه Id فرزند بود.در صورتی که انبار ها پدر و فرزندی بودن Id ها رو در جذول دوم می آوردم.
یک جدول کافیه

neynavaz
یک شنبه 08 آبان 1390, 07:10 صبح
با تشکر از دوستان
بحث ریالی انبار هم مدنظر هست

management88
دوشنبه 10 بهمن 1390, 08:34 صبح
سلام من میخوام واسه یه شرکت کدینگ انبار تعریف کنم ولی دقیقا نمیدونم چجوری.اگه بهم کمک کنید ممنون میشم.میخواستم بدونم شما موفق شدید؟

یوسف زالی
دوشنبه 10 بهمن 1390, 21:46 عصر
بحث ریالی کردن انبار هم در تمام روش ها (FIFO - LIFO - AVG - Manual) با تمام روشهای پیاده سازی جداول قابل پیاده سازی هست.
معمولا ریالی کردن و محاسباتش رو در UI انجام می دن و دست آخر داده ها رو در جداول ثبت می کنند.
از این مساله نترسید.

mahan.2002
چهارشنبه 12 بهمن 1390, 06:33 صبح
سلام من میخوام واسه یه شرکت کدینگ انبار تعریف کنم ولی دقیقا نمیدونم چجوری.اگه بهم کمک کنید ممنون میشم.میخواستم بدونم شما موفق شدید؟

با سلام

شما یه جدول نوع کالا در نظر بگیرید یعنی هر کالایی که به عنوان مثال کالا جدیدی است رو در این جدول قرار دهید.

جدول کالا ( شماره کالا، نام کالا، مدل ، سری ( ورژن) ، ...) البته فیلد ها با توجه به نیاز در نظر بگیرید ممکن است اصلا شما لازم نیست سری کالا رو بیارید... یعنی اهمیتی ندارد میتونید از اون صرفه نظر کنید ( با توجه به نیازتون فیلد ها تون رو تعریف کنید)

جدول متقاضیان" تحویل گیرندگان یا ارسال کنندگان" ( شماره متقاضی، نام (حقیقی / حقوقی )، ...)

جدول انبار داران ( شماره انباره دار، نام ، نام خانوادگی،...)

جدول ورودی انبار ( شماره ثبت ورود، شماره انبار دار (کلید خارجی) ، شماره متقاضی ( کلید خارجی ) ،تاریخ ورود، زمان ، ... )

جدول خروجی انبار(شماره ثبت خروج، شماره انبار دار (کلید خارجی)، شماره متقاضی (کلید خارجی )، تاریخ خروج، زمان ، ... )

جدول کالا های ورودی ( شماره ثبت ورود ( کلید خارجی ) ، شماره کالا (کلید خارجی )، تعداد، ... )

جدول کالاهای خروجی (شماره ثبت خروج ( کلید خارجی )، شماره کالا (کلید خارجی)، تعداد، ...)

البته میتوانید در صورت لزوم به جداول ورودی انبار و خروجی انبار ، فیلد شماره فاکتور هم اضافه کنید

tiphooo
شنبه 15 بهمن 1390, 21:06 عصر
شما برای طراحی سیستم های انبار با حجم بزرگ نیاز به یک جدول جهت مراکز انبار ، یک جدول جهت کالاها و یک جدول میانی جهت تخصیص کالاها به انبارها نیاز دارید به عنوان مثال در یک کارخانه که انبار مواد اولیه و انبار محصول و از طرفی انبار کالاهای مصرفی داخلی دارد با محدود کردن کالاهای مربوط به یک انبار نباید اجازه بدهید که در انباری که قند و شکر به پرسنل می دهد محصول نهایی کارخانه رسید یا حواله شود
برای رسید و حواله و مجوز ورود و خروج و رسید مستقیم در کل دو جدول (همانطور که دوستان گفتند) یکی برای Header و یکی برای Detail نیاز است.(نوع سند را با یک فیلد Smallint از هم تمیز دهید 0 برای رسید 1 برای حواله و ....) حال اینکه نوع رسید یا حواله چیست برای ان هم همانطور که دوستان گفتند یک فیلد دیگر smallint در نظر بگیرید مثلا رسید خرید ، تعدیلی ، امانی ، انتقالی و ... حواله مصرف ، امانی ، فروش و ...
اگر سیستم انبار شما با سیستم مالی در ارتباط است فهرست تحویل دهندگان و گیرندگان و انباردارها و ... را شما به هیچ وجه مجاز نیستید در سیستم انبار تعریف کنید و نیازی هم برای ساخت اینگونه فرمها اینجا نیست همه این موارد جزو تفصیلی ها می باشند که در حسابداری مالی تعربف می شوند.
کدینگ کالا در بسیاری از انبارها به صورت حرف و عدد می باشد بنابراین فراموش نکنید کد کالا را از نوع رشته ای در نظر بگیرید بعنوان مثال 0Q0007 یک کد کالای معتبر است و اینکه برای هر کالا حداقل دو واحد اندازه گیری در نظر بگیرید و ضرایب تبدیل آن را هم ببینید و بارکد هم فراموش نشود
در اختصاص کالا به انبارها شماره قفسه آن کالا در آن انبار و نقطه سفارش از نکات کلیدی آن هستند.