delphi4arab منتديات دلفي للعرب

نسخة كاملة : حساب tva 19% و tva 9%
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
سلام عليكم 
عندي form facturatio فيها مايلي 
N° FACTURE      DATE FACTURE          CLIENT
وفي  dbgrid فيه مايلي 
PRODUIT   QTE  PRIX   TVA   MONTANT TVA   MONTANT 
montant tva = qte *prix *tva/100 
montant =qte * prix
لاكن يوجد  tva=19%        tva=9%
اريد مايلي
total montant tva 9%  تظهر في  edit1
total montatant tva 19%  تظهر في  edit2
مشكورين
السلام عليكم
ارفق مثال بسيط على ذلك ليتم التعديل عليه
السلام عليكم استخدم calculated fields
exmple sur piece joint sur form PDF
(08-07-2019, 11:37 AM)imad19_soft كتب : [ -> ]exmple sur piece joint sur form PDF
اولا السلام عليكم ورحمة الله تعالى وبركات
1 – اقتراح بدلا من اضافة عمود لمبلغ الرسم لكل ماد اقترح عليك ان تكتفي بعمود النسب فقط
اما بالنسبة لإظهار الرسم كما تشير في المستند فاليك الطريقة
يجب عليك ان تضع شرط حسب الغرض  ونقول
اذا كانت النسبة تساوي 1 إذا مبلغ النسبة يساوي مجموع مبلغ النسبة مضروب في النسبة 1
وساعطيك مثال
كود :
[font=Arial, sans-serif][b]Var MTHT01 , MTHT02 , MTva01, MTva02 ,[/b][/font]
[font=Arial, sans-serif][b]TxTva1, TxTva2 :Double ;[/b][/font]
[font=Arial, sans-serif][b]Begin[/b][/font]
[font=Arial, sans-serif][b]Table2.Open ;[/b][/font]
[font=Arial, sans-serif][b]Table2.disablecontrols ;[/b][/font]
[font=Arial, sans-serif][b]Table2.first;[/b][/font]
[font=Arial, sans-serif][b]While not Table2.eof do[/b][/font]
[font=Arial, sans-serif][b]begin[/b][/font]
[font=Arial, sans-serif][b]If table2.fieldvalues[‘NTx’] =1 then[/b][/font]
[font=Arial, sans-serif][b]Begin    [/b][/font]
[font=Arial, sans-serif][b]MTHT01 := MTHT01  +Table2.fieldvalues[‘MTHT’] ;[/b][/font]
[font=Arial, sans-serif][b]End ;[/b][/font]
[font=Arial, sans-serif][b]If table2.fieldvalues[‘NTx’] =2 then[/b][/font]
[font=Arial, sans-serif][b]Begin    [/b][/font]
[font=Arial, sans-serif][b]MTHT02 := MTHT02  +Table2.fieldvalues[‘MTHT’] ;[/b][/font]
[font=Arial, sans-serif][b]End ;[/b][/font]
[font=Arial, sans-serif][b]Table2.Post ;[/b][/font]
[font=Arial, sans-serif][b]Table2.Next ;[/b][/font]
[font=Arial, sans-serif][b]End;[/b][/font]
[font=Arial, sans-serif][b]Table2.Enablecontrols ;[/b][/font]
[b][/b]


وهنا نكون قد حصلنا على المجموع الخاضع للرسم لكل نوع من الرسم
والان يبقى لنا حساب الرسم واظهاره في مكانه
 
كود :
[font=Arial, sans-serif][b]Table1.Open;[/b][/font]
[font=Arial, sans-serif][b]TxTva1:=Table1.Fieldvalues[‘Tx01’] ;[/b][/font]
[font=Arial, sans-serif][b]TxTva2:=Table1.Fieldvalues[‘Tx02’] ;[/b][/font]
[font=Arial, sans-serif][b]MTva01:=MTHT01*TxTva1/100;[/b][/font]
[font=Arial, sans-serif][b]MTva02:=MTHT02*TxTva2/100;[/b][/font]
[b][/b]

ربما تتساءل ماذا يعني الحقل  NTx
هذا الحقل يرمز الى نسبة الرسم ويكون في الجدول Table2  حتى لا تضطر الى التغيير في البرنامج كل ما تغيرت نسبة الرسم
اما بالنسبة الى Table1 فهو جدول خاص بالمتغيرات اي Paramettre الخاص بالبرنامج اين يكون الحقلان المسميان Tx01 وTx02  احدهما يأخذ القيمة 9 % والثاني يأخذ القيمة 19%
الباقي عليك وبالتوفيق

لا تأخذ بعين الاعتبار الكتابة الزائدة والمتمثلة في

و


هذه هي الكتابة الزائدة في الكود انها غير معنية بالكود وانما هي معنية بنوع وحجم الخط المستعمل في الكتابة
انتبه
()

(
)