اذهب الي المحتوي
أوفيسنا

توزيع الخصم العام على الاصناف في الفاتورة


ابوآمنة
إذهب إلى أفضل إجابة Solved by رمهان,

الردود الموصى بها

ما هو الطريقة الصحيحة لتوزيع الخصم العام على الأصناف دخال الفاتورة دون الزيادة على قيمة الصنف .

على سبيل المثال :

لدينا فاتورة بقيمة 100 

تم الحسم العام على الفاتورة 11 

فيها أصناف متعدده كالتالي:

جبن بقيمة 7  الكمية 1 المجموعة = 7

قشطة بقيمة 3  الكمية 1 المجموع = 3

جبن حلوم بقيمة 10 الكمية 9  المجموع =90

المطلوب توزيع الخصم على الأصناف داخل الفاتورة بشرط عدم تجاوز قيمة الصنف وينتقل الفائضة من الصنف إلى الصنف الذي يليه وهكذا .😁

رابط هذا التعليق
شارك

53 دقائق مضت, qassim-t said:

السلام عليكم...مافهمته من حضرتك هو توزيع الخصم بشكل متساوي على جميع الاصناف...

جرب المرفق بعد التعديل

test1(1).accdb 864 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 1 download

بصراحة أبهرتني بالحل والكود الجميل

 

Dim rst As DAO.Recordset
Dim RC As Integer
Dim i As Integer
    Set rst = Me.InvoiceHelperTab.Form.RecordsetClone
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    
    For i = 1 To rst.RecordCount
    
        rst.Edit
            rst!Descount = rst!QtyOut * rst!Price * (1 - (Me.percentDescount / Me.Text64))
            
        rst.Update
        
        rst.MoveNext
    Next i
    rst.Close: Set rst = Nothing
    
    DoCmd.RunCommand acCmdSaveRecord

 

ممتاز جداً الحل 

لكن هل نستطيع أن نعمل ذلك في الاستعلام Q1 كما في المرفق .

لأني أفكر عندي ديون بيع كيف يتأثر أيضا سداد الدين على الفاتورة والصنف بالأخص .

هل هناك معادلة يتم وضعها في الاستعلام وتقوم بتوزيع الدين أو  الخصم من رأس الفاتورة إلى أطرافها .

اتمنى الفكرة وصلت 

test1(2).accdb

تم تعديل بواسطه saleh204
  • Like 1
رابط هذا التعليق
شارك

4 hours ago, saleh204 said:

بصراحة أبهرتني بالحل والكود الجميل

هذا ماتعلمته من هذا الموقع الجميل وشكرا على اطراءك..

اما فيما يخص سؤالك بعمل سداد على الفاتورة..وانا اسأل اذا كان الزبون لديه عدة فواتير فعندما نعمل استعلام لكشف حساب الزبون ستظهر لنا جميع الفواتير حسب ارقامها مع مجموع كل فاتورة...فسؤالك اذا كان للزبون فاتورة واحدة

رابط هذا التعليق
شارك

هل يمكن تحويل الكود ليعمل في الاستعلام لكي لا اضطر إلى إنشاء عدة حقول في جدول أطراف الفاتورة "InvoiceHelperTab" والهدف من تحويل الكود للاستعلام لعمل كشف مشتريات للعميل

Dim rst As DAO.Recordset
Dim RC As Integer
Dim i As Integer
    Set rst = Me.InvoiceHelperTab.Form.RecordsetClone
    rst.MoveLast: rst.MoveFirst
    RC = rst.RecordCount
    
    For i = 1 To rst.RecordCount
    
        rst.Edit
            rst!Descount = rst!QtyOut * rst!Price * (1 - (Me.percentDescount / Me.Text64))
            
        rst.Update
        
        rst.MoveNext
    Next i
    rst.Close: Set rst = Nothing
    
    DoCmd.RunCommand acCmdSaveRecord

وهذا المطلوب ويكون في استعلام 

في ١٤‏/٦‏/٢٠١٩ at 01:46, saleh204 said:

ما هو الطريقة الصحيحة لتوزيع الخصم العام على الأصناف دخال الفاتورة دون الزيادة على قيمة الصنف .

على سبيل المثال :

لدينا فاتورة بقيمة 100 

تم الحسم العام على الفاتورة 11 

فيها أصناف متعدده كالتالي:

جبن بقيمة 7  الكمية 1 المجموعة = 7

قشطة بقيمة 3  الكمية 1 المجموع = 3

جبن حلوم بقيمة 10 الكمية 9  المجموع =90

المطلوب توزيع الخصم على الأصناف داخل الفاتورة بشرط عدم تجاوز قيمة الصنف وينتقل الفائضة من الصنف إلى الصنف الذي يليه وهكذا .😁

وهذا المرفق فيه الاستعلام (Q1 )  المطلوب توزيع الخصم من رأس الفاتورة  إلى أطرافها آلياً من خلال الاستعلام  .

في ١٥‏/٦‏/٢٠١٩ at 16:24, saleh204 said:

 

رابط هذا التعليق
شارك

  • 2 weeks later...

@ابوآمنة

هذا مرفق اضفت مربع في النموذج الفرعي لاخي قاسم وليس للكود حاجة

ونفس الفكرة يمكن عملها باستعلام

واعتبرت اجمالي الفاتوره محسوب وليس مدخل وهذا الاصح حيث عند تعديل سعر اوكمية صنف يتم حسبة اجمالي الفاتوره تلقائي

بالتوفيق

test1(1).accdb

رابط هذا التعليق
شارك

10 ساعات مضت, رمهان said:

@ابوآمنة

هذا مرفق اضفت مربع في النموذج الفرعي لاخي قاسم وليس للكود حاجة

ونفس الفكرة يمكن عملها باستعلام

 واعتبرت اجمالي الفاتوره محسوب وليس مدخل وهذا الاصح حيث عند تعديل سعر اوكمية صنف يتم حسبة اجمالي الفاتوره تلقائي

بالتوفيق

test1(1).accdb 512 \u0643\u064a\u0644\u0648 \u0628\u0627\u064a\u062a · 2 downloads

اعجبتي الفكرة ما شاء الله كما يعجبني تفكيرك في اختصار الأكواد والاكتفاء بالأهم منها فشكراً جزيلاً لك 

هل يمكن تساعدني في تطبيق الفكرة على الاستعلام حيث سيكون هناك عدة فواتير وكل واحدة منها لها خصم وعدة أصناف ما إلى ذلك .

test3.accdbبالمرفق تجربتي المتواضعة لكن لم تفلح

10 ساعات مضت, رمهان said:

اعتبرت اجمالي الفاتوره محسوب وليس مدخل وهذا الاصح حيث عند تعديل سعر اوكمية صنف يتم حسبة اجمالي الفاتوره تلقائي

هذه العبارة ستفتح لي أفق كبيرة وسأصحح على ضوئها أخطاء ، فشكراً لك 

رابط هذا التعليق
شارك

  • أفضل إجابة

@ابوآمنة

الصق هذه الجملة في استعلام جديد

SELECT InvoiceHelperTab.InvoiceNo, InvoiceHelperTab.InvoiceType, InvoiceTab.percentDescount, InvoiceHelperTab.QtyOut, InvoiceHelperTab.Price, (1-([percentDescount]/DSum("[qtyout]*price","invoicehelpertab","invoiceno='" & [InvoiceHelperTab]![InvoiceNo] & "'")))*[price]*[qtyout] AS Expr1
FROM InvoiceTab INNER JOIN InvoiceHelperTab ON InvoiceTab.InvoiceNo = InvoiceHelperTab.InvoiceNo;

بالتوفيق

رابط هذا التعليق
شارك

20 دقائق مضت, رمهان said:

@ابوآمنة

الصق هذه الجملة في استعلام جديد


SELECT InvoiceHelperTab.InvoiceNo, InvoiceHelperTab.InvoiceType, InvoiceTab.percentDescount, InvoiceHelperTab.QtyOut, InvoiceHelperTab.Price, (1-([percentDescount]/DSum("[qtyout]*price","invoicehelpertab","invoiceno='" & [InvoiceHelperTab]![InvoiceNo] & "'")))*[price]*[qtyout] AS Expr1
FROM InvoiceTab INNER JOIN InvoiceHelperTab ON InvoiceTab.InvoiceNo = InvoiceHelperTab.InvoiceNo;

 بالتوفيق

شكراً أستاذي @رمهان

في خطأ في جملة الاستعلام حسب الرسالة التالية :

67151815_.jpg.8ccfe959a3e8d030592f4ce3d00d83fc.jpg

رابط هذا التعليق
شارك

شكراً تم حل المشكلة 

هناك خطأ في الحرف الأول من الكمية حيث أن الحرف الأول كبير 

QtyOut
SELECT InvoiceHelperTab.InvoiceNo, InvoiceHelperTab.InvoiceType, InvoiceTab.percentDescount, InvoiceHelperTab.QtyOut, InvoiceHelperTab.Price, (1-([percentDescount]/DSum("[Qtyout]*price","invoicehelpertab","invoiceno='" & [InvoiceHelperTab]![InvoiceNo] & "'")))*[price]*[qtyout] AS Expr1
FROM InvoiceTab INNER JOIN InvoiceHelperTab ON InvoiceTab.InvoiceNo = InvoiceHelperTab.InvoiceNo;

 

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information