نمایش نتایج 1 تا 7 از 7

نام تاپیک: نحوه خروج کالا از انبار و ثبت در لیست فروخته شده ها - LINQ

  1. #1
    کاربر دائمی آواتار hadimtn
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    ا یــــــــــــر ا ن
    پست
    181

    نحوه خروج کالا از انبار و ثبت در لیست فروخته شده ها - LINQ

    فرم زیر را در نظر بگیرید:
    Sale.png Inventory.jpg Saled.jpg Factor.jpg

    برای فروش کالا ابتدا کالاها به لیست موقت (ِDataGridView) اضافه (با زدن دکمه ی "لیست") و قسمت اطلاعات خرید به روز میشه. بعد از لیست کردن کالاها با دکمه‌ای که علامت تیک داره، همه کالاها ابتدا به صورت تک تک به جدول "SaledTable" اضافه و سپس فاکتور ایجاد میشه. در واقع تمام کالاهای لیست موقت یه کد اختصاصی به عنوان شماره فاکتور دارن، که اون کد به همراه نام مشتری، مبلغ کل، ارزش افزوده و ... در جدول "FactorTable" ذخیره میشن.
    چند تا سوال دارم که همینجا میپرسم؛
    آخرین ویرایش به وسیله hadimtn : یک شنبه 01 شهریور 1394 در 20:53 عصر

  2. #2
    کاربر دائمی آواتار hadimtn
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    ا یــــــــــــر ا ن
    پست
    181

    نقل قول: نحوه ی خروج کالا از انبار و ثبت در لیست فروخته شده ها - LINQ

    1. در قسمت "صدور لیست فروش"، نام کالا، نشان و تعداد از یک جدول و یک سطر هستند، پرس و جو رو باید چه جوری بنویسم، سطری رو پیدا کنه که ستون نام کالا و نشان اون با مقادیر Comboxها برابر باشه. و بتونم به اطلاعات بقیه ی ستون های Query دسترسی داشته باشم؟!
    خودم به این شکل نوشتم ولی برای هر فیلد باید Query رو از اول بنویسم:
    var FQ = (from r in db.InventoryTables
    where r.ObjectName == objectSelectorComboBox.Text && r.BrandName == brandSelectorComboBox.Text
    select r.Number).SingleOrDefault();

    میخوام به شکل زیر از جواب Query که یک سطر از جدول Inventory است، استفاده کنم:
    textBox1.Text = Query.Number;
    textBox2.Text = Query.InPrice;
    & ...



    جواب:
    دیگه پست جدید نمیذارم، چون جواب رو خودم پیدا کردم.
    بعد از چند روز گشت و گذار و پرسش تو انجمن ها و ...

    var Query = (from b in db.InventoryTables
    where b.ObjectName == objectSelectorComboBox.Text && b.BrandName == brandSelectorComboBox.Text
    select new { b.ObjectName, b.BrandName, b.Number, b.Minimum, b.InPrice, b.OutPrice }).SingleOrDefault();

    که میشه از تک تک فیلدهای Query استفاده کرد. به این شکل:
    textBox1.Text = Query.ObjectName


    تا سؤال بعدی ...
    آخرین ویرایش به وسیله hadimtn : دوشنبه 02 شهریور 1394 در 04:14 صبح

  3. #3
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: نحوه ی خروج کالا از انبار و ثبت در لیست فروخته شده ها - LINQ

    سلام وقت عالی بخیر.Query های شما دارای اشکالاتی میباشد. در نحوه جستجو شما بهتره براساس کلید باشه تا نام کالا.شما ابتدا در comboBox کالا لیست کالاهاتو میریزی ( DisplayMember رو برای نام کالا و ValueMember هم Id کالا رو ست میکنی) .در رویداد SelectedValueChanged کامبوباکس کالا باید کویری انتخاب برند (براساس ValueMember کامبوباکس کالا)رو بزنی و نتیجه داخل کامبوباکس برند بریزی(دو فیلد نام برند و آیدی آن در جدول) مشابه روال قبلی بعد تو رویداد SelectedValueChanged کامبوباکس برند باید کویری برای برگرداندن مقدار موجودی در انبار بنویسی(بر اساس مقادیر Value های کامبو باکس کالا و کامبوباکس برند) که نتیجه کویری در مکان آن نمایش داده شود.بعد از چک کردن موجودی شما مقداد فروش رو انتخاب و افزودن به لیست (اصل کار اینجاست که باید انجام بدیم)
    شما بهتره در جدول SaleTable یه دونه فیلد مبلغ بزاری (چون شما در جدول انبار دو فیلد ورودی و خروجی رو مشخص کردی دیگر لازم نیست) ودر جدول FactorTable یه فیلد برای نوع فاکتور اضافه کنی بهتره(به واسطه مقدار این فیلد شما میتونی فاکتورهای خودتو تفکیک کنی)
    این موارد رو رفع کن تا در ادامه بقیه کار راهنمایی صورت گیرد
    آخرین ویرایش به وسیله ژیار رحیمی : دوشنبه 02 شهریور 1394 در 05:05 صبح

  4. #4
    کاربر دائمی آواتار hadimtn
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    ا یــــــــــــر ا ن
    پست
    181

    نقل قول: نحوه ی خروج کالا از انبار و ثبت در لیست فروخته شده ها - LINQ

    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    سلام وقت عالی بخیر.Query های شما دارای اشکالاتی میباشد. در نحوه جستجو شما بهتره براساس کلید باشه تا نام کالا.شما ابتدا در comboBox کالا لیست کالاهاتو میریزی ( DisplayMember رو برای نام کالا و ValueMember هم Id کالا رو ست میکنی) .در رویداد SelectedValueChanged کامبوباکس کالا باید کویری انتخاب برند (براساس ValueMember کامبوباکس کالا)رو بزنی و نتیجه داخل کامبوباکس برند بریزی(دو فیلد نام برند و آیدی آن در جدول) مشابه روال قبلی بعد تو رویداد SelectedValueChanged کامبوباکس برند باید کویری برای برگرداندن مقدار موجودی در انبار بنویسی(بر اساس مقادیر Value های کامبو باکس کالا و کامبوباکس برند) که نتیجه کویری در مکان آن نمایش داده شود.بعد از چک کردن موجودی شما مقداد فروش رو انتخاب و افزودن به لیست (اصل کار اینجاست که باید انجام بدیم)
    مشکل بنده بیشتر روی دستورات LINQ می‌باشد؛ Query رو چه جوری باید بنویسم که دو مقدار ID و ObjectName یک سطر در دسترس باشه، تا بتونم ValueMember و DisplayMember رو مقدار دهی کنم؟!
    بنده این روال رو به این شکل انجام میدم:
    فرم لود:
    LINQDataContext db = new LINQDataContext();
    string FirstItem = "انتخاب کنید";
    var Query = (from c in db.InventoryTables select c.ObjectName).Distinct().OrderBy(item => item).ToList();
    Query.Insert(0, FirstItem);
    objectSelectorComboBox.DataSource = Query;

    رویداد TextChange مربوط به نام کالا:
    if (objectSelectorComboBox.SelectedItem.ToString() == FirstItem)
    {
    brandSelectorComboBox.Visible = false;
    }
    else
    {
    var query =
    (from r in db.InventoryTables
    where r.ObjectName == objectSelectorComboBox.SelectedItem.ToString()
    select r).ToList();
    query.Insert(0, new InventoryTable() { BrandName = FirstItem });
    brandSelectorComboBox.DataSource = query;
    brandSelectorComboBox.Visible = true;
    }

    رویداد TextChange مربوط به نشان:
    if (brandSelectorComboBox.Text != FirstItem)
    {
    var Query = (from b in db.InventoryTables
    where b.ObjectName == objectSelectorComboBox.Text && b.BrandName == brandSelectorComboBox.Text
    select b.Number).SingleOrDefault();
    txt_Inventory.Text = Query.ToString();
    }



    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    شما بهتره در جدول SaleTable یه دونه فیلد مبلغ بزاری (چون شما در جدول انبار دو فیلد ورودی و خروجی رو مشخص کردی دیگر لازم نیست)
    به دلیل اینکه نیازه بعداً اطلاع داشته باشیم که این کالا با چه مبلغی فروخته شده!
    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    و در جدول FactorTable یه فیلد برای نوع فاکتور اضافه کنی بهتره(به واسطه مقدار این فیلد شما میتونی فاکتورهای خودتو تفکیک کنی)
    چرا نیاز میشه که فاکتور دسته بندی بشه؟!
    آخرین ویرایش به وسیله hadimtn : دوشنبه 02 شهریور 1394 در 21:29 عصر

  5. #5
    مدیر بخش آواتار ژیار رحیمی
    تاریخ عضویت
    مهر 1386
    محل زندگی
    تهران
    پست
    1,095

    نقل قول: نحوه ی خروج کالا از انبار و ثبت در لیست فروخته شده ها - LINQ

    به شما توصیه شد که از ValueChange کامبوباکس استفاده کنی باز رفتی سراغ TextChange

    در پست قبلی توضیح داده شد که چه Property هایی از ComboBox رو ست کنی .
    تو رویداد Form_Load کامبوباکس نام کالا مقدار دهی میشود

    private void Form8_Load(object sender, EventArgs e)
    {
    LINQDataContext db = new LINQDataContext();
    objectSelectorComboBox.DataSource = db.InventoryTables.Select(c => new { c.ID, c.ObjectName }).ToList();
    objectSelectorComboBox.DisplayMember = "ObjectName";
    objectSelectorComboBox.ValueMember = "ID";
    }



    تو رویداد ValueChange کامبوباکس کالا (پر کردن کامبوباکس برند)

    private void objectSelectorComboBox_SelectedValueChanged(object sender, EventArgs e)
    {
    if ((int) objectSelectorComboBox.SelectedValue <= 0) return;
    brandSelectorComboBox.DataSource = db.InventoryTables.Where(c => c.ID == (int)objectSelectorComboBox.SelectedValue)
    .Select(c => new { c.ID, c.BrandName }).ToList();
    brandSelectorComboBox.DisplayMember = "BrandName";
    brandSelectorComboBox.ValueMember = "ID";
    }


    دوست گرامی شما میبایست یه جدول جدا واسه کالا میزاشتی ،یه جدول جدا واسه برندهای کالا میزاشتی و این دو جدول رو به هم ربط میدادی.و جدول اقلام فاکتور رو به جدول کالا ربط میدادی و همچنین جدول انبار رو به جدول کالا و جدول اقلام فاکتور ربط میدادی که مواذد گفته شده رو انجام ندادی و کل ماهیت فاکتور و اقلام و انبار رو در سه جدول خلاصه کردی هم دارای افزونگی هم دارای مشکل تحلیل میباشد.به باور من شما سیستمی که میخوای پیاده سازی کنی بصورت کاملا ضعیف تحلیل کردی بهتره سیستم رو دوباره تحلیل مجدد کرده و نواقص کارو جبران کنی.تا دیر نشده
    شما بهتره یه post راهنمایی در بخش تحلیل و پیاده سازی بانک های اطلاعاتی فروم + جداول طراحی شده خوت رو بزاری تا دوستان درمورد طراحی جداول و کم و کاست آن راهنمایی کنند تا عیب و ایراد کار به حداقل برسه
    نرم افزار خوب دارای تحلیل خوب و متناسب میباشد به پیشنهاد من از 40 روز باقی مانده رو 20 روز رو روی تحلیل و طراحی درست دیتابیس بزار در کنارش Linq to SQL خودتو بروز رسانی و کامل کن که واسه یه Query نوشتن های لازم وقت زیادی صرف نکنی.الان شما در نوشتن کویرهای ساده دچار مشکل شدی با این سطح کد نویسی فقط خودت اذیت میشی و زحماتی که روی پروژه میکشی آخرش به شکست میخوره.(خلاصه امیدوارم از حرفام ناراحت نشده باشی ).

  6. #6
    کاربر دائمی آواتار hadimtn
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    ا یــــــــــــر ا ن
    پست
    181

    نقل قول: نحوه ی خروج کالا از انبار و ثبت در لیست فروخته شده ها - LINQ

    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    به شما توصیه شد که از ValueChange کامبوباکس استفاده کنی باز رفتی سراغ TextChange

    در پست قبلی توضیح داده شد که چه Property هایی از ComboBox رو ست کنی .
    تو رویداد Form_Load کامبوباکس نام کالا مقدار دهی میشود

    private void Form8_Load(object sender, EventArgs e)
    {
    LINQDataContext db = new LINQDataContext();
    objectSelectorComboBox.DataSource = db.InventoryTables.Select(c => new { c.ID, c.ObjectName }).ToList();
    objectSelectorComboBox.DisplayMember = "ObjectName";
    objectSelectorComboBox.ValueMember = "ID";
    }
    خب اینجوری اگه Query بگیریم کالاهای تکرای هم تو لیست میاد، اگه تکراری‌ها رو حذف کنیم مشکلی پیش نمیاد؟
    در ضمن اگه دقت کرده باشین من یک گزینه ی انتخاب کنید رو نشون میدم، تو این Query چه جوری رشته ی مورد نظر رو Insert کنم؟!
    کمبوباکس ها از یه جدول دیگه که کالاهای ثبت شده در سیستم میباشد پر میشوند. حال تحلیل اشتباه من به کنار،


    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    تو رویداد ValueChange کامبوباکس کالا (پر کردن کامبوباکس برند)

    private void objectSelectorComboBox_SelectedValueChanged(object sender, EventArgs e)
    {
    if ((int) objectSelectorComboBox.SelectedValue <= 0) return;
    brandSelectorComboBox.DataSource = db.InventoryTables.Where(c => c.ID == (int)objectSelectorComboBox.SelectedValue)
    .Select(c => new { c.ID, c.BrandName }).ToList();
    brandSelectorComboBox.DisplayMember = "BrandName";
    brandSelectorComboBox.ValueMember = "ID";
    }
    TextChange هم یه رویداده دیگه
    گفتم قبلاً اینجوری استفاده می‌کردم؛ وگرنه در تاپیک ComboBoxهای مرتبط دوستان راهنمایی کردن. منتها سر این جواب نگرفتن‌ها راه و روش‌های مختلفی رو امتحان می‌کنم که کدها بهم میریزه!

    نقل قول نوشته شده توسط zagroti مشاهده تاپیک
    دوست گرامی شما میبایست یه جدول جدا واسه کالا میزاشتی ،یه جدول جدا واسه برندهای کالا میزاشتی و این دو جدول رو به هم ربط میدادی.و جدول اقلام فاکتور رو به جدول کالا ربط میدادی و همچنین جدول انبار رو به جدول کالا و جدول اقلام فاکتور ربط میدادی که مواذد گفته شده رو انجام ندادی و کل ماهیت فاکتور و اقلام و انبار رو در سه جدول خلاصه کردی هم دارای افزونگی هم دارای مشکل تحلیل میباشد.به باور من شما سیستمی که میخوای پیاده سازی کنی بصورت کاملا ضعیف تحلیل کردی بهتره سیستم رو دوباره تحلیل مجدد کرده و نواقص کارو جبران کنی.تا دیر نشده
    شما بهتره یه post راهنمایی در بخش تحلیل و پیاده سازی بانک های اطلاعاتی فروم + جداول طراحی شده خوت رو بزاری تا دوستان درمورد طراحی جداول و کم و کاست آن راهنمایی کنند تا عیب و ایراد کار به حداقل برسه
    نرم افزار خوب دارای تحلیل خوب و متناسب میباشد به پیشنهاد من از 40 روز باقی مانده رو 20 روز رو روی تحلیل و طراحی درست دیتابیس بزار در کنارش Linq to SQL خودتو بروز رسانی و کامل کن که واسه یه Query نوشتن های لازم وقت زیادی صرف نکنی.الان شما در نوشتن کویرهای ساده دچار مشکل شدی با این سطح کد نویسی فقط خودت اذیت میشی و زحماتی که روی پروژه میکشی آخرش به شکست میخوره.(خلاصه امیدوارم از حرفام ناراحت نشده باشی ).
    ممنون که راهنمایی کردین؛ بنده در مورد ارتباط جداول چیزی نمیدونم به همین خاطر همه ی جدول‌ها مستقل هستند. دو نوع ارتباط در کلاس LINQ وجود داره که هیچکدوم رو پی نگرفتم.
    فعلاً قصد دارم که این پروژه فقط کار کنه تا تحویل بدم، نسخه‌های بعدی روشون بیشتر کار میکنم!

    تاپیک تحلیل هم یه سر بزنید
    آخرین ویرایش به وسیله hadimtn : سه شنبه 03 شهریور 1394 در 21:14 عصر

  7. #7
    کاربر دائمی آواتار hadimtn
    تاریخ عضویت
    اردیبهشت 1391
    محل زندگی
    ا یــــــــــــر ا ن
    پست
    181

    نقل قول: نحوه خروج کالا از انبار و ثبت در لیست فروخته شده ها - LINQ

    در ادامه‌ی پست قبلی.
    روند کلی کار به این شکله:
    1. تعریف کالا در سامانه

    ضمیمه 134630

    2. ثبت کالای خریداری شده در انبار

    ضمیمه 134631

    3. فروش کالا

    ضمیمه 134632

تاپیک های مشابه

  1. پاسخ: 7
    آخرین پست: پنج شنبه 17 فروردین 1391, 12:27 عصر
  2. نحوه خروج جنس از انبار
    نوشته شده توسط evil boy در بخش برنامه نویسی در 6 VB
    پاسخ: 8
    آخرین پست: چهارشنبه 18 آبان 1390, 18:08 عصر
  3. سوال: نحوه ساخت آرشیو ماهانه برای مطالب ثبت شده در دیتابیس
    نوشته شده توسط payamsalami در بخش PHP
    پاسخ: 10
    آخرین پست: چهارشنبه 10 آذر 1389, 16:29 عصر
  4. پاسخ: 4
    آخرین پست: جمعه 06 بهمن 1385, 20:57 عصر
  5. محاسبه ی موجودی بر اساس ورود و خروج کالا
    نوشته شده توسط abdolwahab در بخش Access
    پاسخ: 7
    آخرین پست: شنبه 21 آبان 1384, 13:29 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •