فيما يتعلق بالضريبة على الدخل حسب ما جاء في قانون المالية التكميلي
#11
هل هذا التحليل للضريبة على الدخل الجديد 2020 او 2008
وقل ربي زدني علماً
الرد
#12
(02-12-2020, 10:40 AM)bouh25 كتب : هل هذا التحليل للضريبة على الدخل الجديد 2020 او 2008

الجديد 2020
[-] كل من 1 user says قال شكرا ل ALG2009 على المشاركة المفيدة
  • bouh25
الرد
#13
وماذا عن الضريبة لسنة 2022 هل من جديد لقد حاولت جاهدا أن أضع الكود وتوجد به أخطاء 


procedure TfrmMain.Edit1Change(Sender: TObject);
var
  SoumisAn, SoumisMensBig Grinouble;
  S2, S3, S4, S5, s6: Double;
  IRGAn, IRGMoisSansAbat, IRGMois, Irg1, Irg2, Irg3, Irg4, Irg5: Double;
  Abat40, AbatCasPart: Double;
begin
  /// Initialisation des variables
  S2:=0; S3:=0; S4:=0; S5:=0;
  Irg1:=0; Irg2:=0; Irg3:=0; Irg4:=0; Irg5:=0;
  Abat40 :=0; AbatCasPart:=0;
  IRGMois:=0; IRGAn:=0;  IRGMoisSansAbat:=0;
  //////////////////////////////////
If Edit1.Text <>'' Then Begin
  SoumisMens:=StrToFloat(edit1.text);
  SoumisAn:=SoumisMens*12;
  If SoumisAn <= 360000 then IRGMois:=0
  Else begin
        //// Calcul des fractions S1, S2, S3, S4, S5, S6 imposabales
        If SoumisAn <=480000 then S2:=SoumisAn-240000
        else begin
          S2:=240000;
          if SoumisAn <=960000 then S3:=SoumisAn-480000
          Else begin
            s3:=480000;
            If SoumisAn <=1920000 then S4:=SoumisAn-960000
            Else begin
              S4:= 960000;
              if SoumisAn<=3840000 then S5:=SoumisAn-1920000
              Else begin
                S5:=1920000;
                S6:=SoumisAn-3840000;
              end;
            end;
          end;
        end;
        ///// Calcul Fraction X Taux
        Irg1:=s2*23/100;
        Irg2:=S3*27/100;
        Irg3:=s4*30/100;
        Irg4:=s5*33/100;
        IRg5:=S6*35/100;
        ////// Somme Des (Fraction X taux)
        IrgAn:=Irg1+Irg2+Irg3+Irg4+Irg5;
        IRGMoisSansAbat:=IRGAn/12;
        /////// calcul du 1er abattement 40%
        Abat40:=IRGMoisSansAbat*40/100;
        If Abat40 >1500 then Abat40:=1500;
        If Abat40 <1000 then Abat40:=1000;
        IRGMois:=IRGMoisSansAbat-Abat40;
        ////// calcul du 2ème abattement du 30.000,00 au 35.000,00
        If (SoumisMens >30000)And(SoumisMens<35000) then
                  IRGMois:=(IRGMoisSansAbat-Abat40)*(137/51)-(27925/8);
        //// calcul du 2ème abattement cas handiapés du 30.000,00 au 42.500,00
        If (SoumisMens >30000)And(SoumisMens<42500) then
        AbatCasPart:=(IRGMoisSansAbat-Abat40)*(93/61)-(81213/41)
        else AbatCasPart:=IRGMois;
      end;
        Edit2.Text:=FloatToStrF(IRGMois,ffNumber,15,1)+'0';
        Edit3.Text:=FloatToStrF(AbatCasPart,ffNumber,15,1)+'0';
        end;
          end;

end.
الرد
#14
https://www.mediafire.com/file/ji6vu4mha...I.rar/file
الرد
#15
(22-01-2022, 04:59 PM)takaya5 كتب : https://www.mediafire.com/file/ji6vu4mha...I.rar/file

[صورة: image.png]

من الأفضل أن تشارك بالكود بدل الملف التنفيذي.
[-] كل من 1 user says قال شكرا ل sofiane201 على المشاركة المفيدة
  • takaya5
الرد
#16
إقتباس :وماذا عن الضريبة لسنة 2022 هل من جديد لقد حاولت جاهدا أن أضع الكود وتوجد به أخطاء

السلام عليكم و رحمة الله
يبدو انها اخطاء طفيفة في الجزء المتعلق بتعريف المتغيرات...
يعمل عندي على دلفي 7 و دلفي 11

الأوامر بعد التصحيح الطفيف...

PHP كود :
procedure TForm1.Edit1Change(Sender: TObject);
var
  SoumisAn, SoumisMensBig, SoumisMens, Grinouble, S2, S3, S4, S5, s6: Double;
  IRGAn, IRGMoisSansAbat, IRGMois, Irg1, Irg2, Irg3, Irg4, Irg5: Double;
  Abat40, AbatCasPart: Double;
begin
  
/// Initialisation des variables
  S2 := 0;
  S3 := 0;
  S4 := 0;
  S5 := 0;
  Irg1 := 0;
  Irg2 := 0;
  Irg3 := 0;
  Irg4 := 0;
  Irg5 := 0;
  Abat40 := 0;
  AbatCasPart := 0;
  IRGMois := 0;
  IRGAn := 0;
  IRGMoisSansAbat := 0;
  /// ///////////////////////////////
  If Edit1.Text <> '' Then
  Begin
    SoumisMens 
:= StrToFloat(Edit1.Text);
    SoumisAn := SoumisMens * 12;
    If SoumisAn <= 360000 then
      IRGMois 
:= 0
    
Else
    begin
      
/// / Calcul des fractions S1, S2, S3, S4, S5, S6 imposabales
      If SoumisAn <= 480000 then
        S2 
:= SoumisAn - 240000
      
else
      begin
        S2 
:= 240000;
        if SoumisAn <= 960000 then
          S3 
:= SoumisAn - 480000
        
Else
        begin
          S3 
:= 480000;
          If SoumisAn <= 1920000 then
            S4 
:= SoumisAn - 960000
          
Else
          begin
            S4 
:= 960000;
            if SoumisAn <= 3840000 then
              S5 
:= SoumisAn - 1920000
            
Else
            begin
              S5 
:= 1920000;
              s6 := SoumisAn - 3840000;
            end;
          end;
        end;
      end;
      /// // Calcul Fraction X Taux
      Irg1 := S2 * 23 / 100;
      Irg2 := S3 * 27 / 100;
      Irg3 := S4 * 30 / 100;
      Irg4 := S5 * 33 / 100;
      Irg5 := s6 * 35 / 100;
      /// /// Somme Des (Fraction X taux)
      IRGAn := Irg1 + Irg2 + Irg3 + Irg4 + Irg5;
      IRGMoisSansAbat := IRGAn / 12;
      /// //// calcul du 1er abattement 40%
      Abat40 := IRGMoisSansAbat * 40 / 100;
      If Abat40 > 1500 then
        Abat40 
:= 1500;
      If Abat40 < 1000 then
        Abat40 
:= 1000;
      IRGMois := IRGMoisSansAbat - Abat40;
      /// /// calcul du 2ème abattement du 30.000,00 au 35.000,00
      If (SoumisMens > 30000) And (SoumisMens < 35000) then
        IRGMois 
:= (IRGMoisSansAbat - Abat40) * (137 / 51) - (27925 / 8);
      /// / calcul du 2ème abattement cas handiapés du 30.000,00 au 42.500,00
      If (SoumisMens > 30000) And (SoumisMens < 42500) then
        AbatCasPart 
:= (IRGMoisSansAbat - Abat40) * (93 / 61) - (81213 / 41)
      else
        AbatCasPart := IRGMois;
    end;
    Edit2.Text := FloatToStrF(IRGMois, ffNumber, 15, 1) + '0';
    Edit3.Text := FloatToStrF(AbatCasPart, ffNumber, 15, 1) + '0';
  end;
end; 

التجربة علي الملف المحمل من موقع الوزارة:
[صورة: u4EgLK4.gif]
[-] كل من 1 user says قال شكرا ل I3CT على المشاركة المفيدة
  • sami2015
الرد
#17
شكرا جزيلا الأخ والإبن I3CT فعلا أمر جيد فعلا في بعض الأحيان لايدرك المرأ مايتمناه وماذا لو غيرت هذا البرنامج إلى وظيفة أقصد Fonction وسف أفعل شكرا جزيلا لك عرفت أين هي الثغرات .

وجدت مشكلة أخرى أنضر الأرقام أصبحت حروف

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


الملفات المرفقة
.png   IRG2020.PNG (الحجم : 6.67 ك ب / التحميلات : 14)
الرد
#18
(25-01-2022, 07:14 PM)sami2015 كتب : شكرا جزيلا  الأخ  والإبن I3CT فعلا أمر جيد فعلا في بعض الأحيان لايدرك المرأ مايتمناه وماذا لو غيرت هذا البرنامج إلى وظيفة أقصد Fonction وسف أفعل شكرا جزيلا لك عرفت أين هي الثغرات .

وجدت مشكلة أخرى أنضر الأرقام أصبحت حروف

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

السلام عليكم 

يا أخي الكريم انا أرى حرفا واحدا  E  و ليست حروف و هو  عادي ... 

هنا تلميح ما ذا يعنيه ذلك الحرف
الخوف من أي محاولة جديدة طريق حتمي للفشل.
الرد
#19
إقتباس :أين المشكلة فلقد سبق لي أن حاوت وحاولت لاأعرف لماذا تضهر الحروف
اسمحلي اخي...

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

1- عندي، عند ادخال نفس القيم التي في الصورة لا تظهر النتيجة التي عندك...
2- التجربة كانت على السورس المعدل فوق...
3- اغلب الظن عندي، النتيجة التي ظهرت عنك في الصورة تبين اعتماد قيمة (عملية حسابية كبيرة) فاقت ما يقبله النوع Currency لكي يظهر بدون اختزال...

كان من الأفضل ان ترفق السورس الذي عملت عليه لربح الوقت و الوصول للاشكال بسرعة...
الرد
#20
شكرا شكرا وشكر لاأدري ماتعني أرسل لك الكود هاهو:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  SoumisAn, SoumisMensBig, SoumisMens, Grinouble, S2, S3, S4, S5, s6: Double;
  IRGAn, IRGMoisSansAbat, IRGMois, Irg1, Irg2, Irg3, Irg4, Irg5: Double;
  Abat40, AbatCasPart: Double;
begin
  /// Initialisation des variables
  S2 := 0;
  S3 := 0;
  S4 := 0;
  S5 := 0;
  Irg1 := 0;
  Irg2 := 0;
  Irg3 := 0;
  Irg4 := 0;
  Irg5 := 0;
  Abat40 := 0;
  AbatCasPart := 0;
  IRGMois := 0;
  IRGAn := 0;
  IRGMoisSansAbat := 0;
  /// ///////////////////////////////
  If Edit1.Text <> '' Then
  Begin
    SoumisMens := StrToFloat(Edit1.Text);
    SoumisAn := SoumisMens * 12;
    If SoumisAn <= 360000 then
      IRGMois := 0
    Else
    begin
      /// / Calcul des fractions S1, S2, S3, S4, S5, S6 imposabales
      If SoumisAn <= 480000 then
        S2 := SoumisAn - 240000
      else
      begin
        S2 := 240000;
        if SoumisAn <= 960000 then
          S3 := SoumisAn - 480000
        Else
        begin
          S3 := 480000;
          If SoumisAn <= 1920000 then
            S4 := SoumisAn - 960000
          Else
          begin
            S4 := 960000;
            if SoumisAn <= 3840000 then
              S5 := SoumisAn - 1920000
            Else
            begin
              S5 := 1920000;
              s6 := SoumisAn - 3840000;
            end;
          end;
        end;
      end;
      /// // Calcul Fraction X Taux
      Irg1 := S2 * 23 / 100;
      Irg2 := S3 * 27 / 100;
      Irg3 := S4 * 30 / 100;
      Irg4 := S5 * 33 / 100;
      Irg5 := s6 * 35 / 100;
      /// /// Somme Des (Fraction X taux)
      IRGAn := Irg1 + Irg2 + Irg3 + Irg4 + Irg5;
      IRGMoisSansAbat := IRGAn / 12;
      /// //// calcul du 1er abattement 40%
      Abat40 := IRGMoisSansAbat * 40 / 100;
      If Abat40 > 1500 then
        Abat40 := 1500;
      If Abat40 < 1000 then
        Abat40 := 1000;
      IRGMois := IRGMoisSansAbat - Abat40;
      /// /// calcul du 2ème abattement du 30.000,00 au 35.000,00
      If (SoumisMens > 30000) And (SoumisMens < 35000) then
        IRGMois := (IRGMoisSansAbat - Abat40) * (137 / 51) - (27925 / 8);
      /// / calcul du 2ème abattement cas handiapés du 30.000,00 au 42.500,00
      If (SoumisMens > 30000) And (SoumisMens < 42500) then
        AbatCasPart := (IRGMoisSansAbat - Abat40) * (93 / 61) - (81213 / 41)
      else
        AbatCasPart := IRGMois;
    end;
    Edit2.Text := FloatToStrF(IRGMois, ffNumber, 15, 1) + '0';
    Edit3.Text := FloatToStrF(AbatCasPart, ffNumber, 15, 1) + '0';
  end;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Form1.Edit1.Clear;
Form1.Edit2.Clear;
Form1.Edit3.Clear;
Form1.Edit1.SetFocus;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
Application.Terminate;
end;

end.

هل هذا يحدث في حاسوبي فقط أم شيء أخر ،أحدثك بصفتي مبرمج وغير دليل صورتين 1- التطبيق أثناء تنفيذ برنامج دلفي 2- التطبيق بعد غلق برنامج دلفي وتنفيذ البرنامج هل من تعليق ولا تكن قاسيا في ردك لأني أكلمك باللغة التي أفهمها وتفهما وإلا كلمتك بلغة لاتفهمها أنت ولا غير . على كل شكرا على تعليقك.


الملفات المرفقة
.png   Capture.PNG (الحجم : 25.18 ك ب / التحميلات : 10)
.png   Capture4.PNG (الحجم : 20.28 ك ب / التحميلات : 9)
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم