الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

دالة حساب الضريبة على الأجر لسنة 2008 بالجزائر

بدأه saiddsa3980 في 28 مارس 2008 · 9 رد · 3,180 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم والصلاة والسلام على أشرف المرسلين

إخواني الأعزاء أنتم كما تعلمون أن طريقة حساب الضريبة على الأجر IRG SALAIRE

قد تغيرت هذه السنة ،علماً أنني وجدت على النت دالة تقوم بحساب هذه الضريبة إلا أنها لاتصلح في لغة دلفي بل تصلح في لغة فيجوال بيسك وهي كتالي :

Function IRG2008(soumis)
soumis = (Int(soumis / 10)) * 10
Dim TRS(5) As Variant
TRS(1) = 0
TRS(2) = 120000
TRS(3) = 360000
TRS(4) = 1440000
TRS(5) = 9999999
Dim Tax(5) As Variant
Tax(1) = 0
Tax(2) = 0
Tax(3) = 20
Tax(4) = 30
Tax(5) = 35
Dim Impan(5) As Variant
Impan(1) = 0#
Impan(2) = 0#
Impan(3) = 48000#
Impan(4) = 372000#
Impan(5) = 3367999.65

brts = soumis * 12
ill = 1
Do While ill <= 5
   If brts <= TRS(ill) Then Exit Do
   ill = ill + 1
Loop
taux = Tax(ill)
ill = ill - 1
tb = TRS(ill)
td = Impan(ill)
n = brts - tb
impota = (n * taux / 100) + td
impm = impota / 12
abat = (40 * impm / 100)
If abat < 1000 Then abat = 1000
If abat > 1500 Then abat = 1500
ret = impm - abat
If ret < 0 Then ret = 0
RTS1 = (ret * 10)
RTS1 = Int(RTS1)
RTS1 = RTS1 / 10
IRG2008 = RTS1
End Function

احتاج تحويل هذه الدالة من الفيجوال بيسك إلى دلفي

تم تعديل هذه المشاركة بواسطة B.M.AbdelAziZ في 28 مارس 2008 في 00:17

قال الحسن البصري : يا إبن آدم إنما أنت أيام إذا ذهب يومك ذهب بعضك

#2

السلام عليكم بما اني اتعلم حاليا الدوت نت وجدت نفسي ادرس vb.net

c# لعدم توفر دروس في الدلفي net

لدي اردت ان اجرب

Function IRG2008(soumis) : real;
var
   TRS   : array [0..5] of Variant;
   Tax   : array [0..5] of Variant;
   Impan : array [0..5] of Variant;
   brts,taux,tb,n,td,impota,impm,abat,ret,RTS1 :real;
   ill :integer;

begin
soumis := (Int(soumis / 10)) * 10;
TRS[1] := 0;
TRS[2] := 120000;
TRS[3] := 360000;
TRS[4] := 1440000;
TRS[5] := 9999999;

Tax[1] := 0;
Tax[2] := 0;
Tax[3] := 20;
Tax[4] := 30;
Tax[5] := 35;

Impan[1] := 0#;????  -- chr (0)
Impan[2] := 0#;????
Impan[3] := 48000#;????
Impan[4] := 372000#;????
Impan[5] := 3367999.65;

brts := soumis * 12;
ill := 1;

While ill <= 5 do
begin
   If brts <= TRS(ill) Then Exit;
   ill := ill + 1;
end;

taux := Tax(ill);
ill := ill - 1;
tb := TRS(ill);
td := Impan(ill);
n := brts - tb;
impota := (n * taux / 100) + td;
impm := impota / 12;
abat := (40 * impm / 100);

If abat < 1000 Then abat := 1000;
If abat > 1500 Then abat := 1500;

ret := impm - abat;
If ret < 0 Then ret := 0;
RTS1 := (ret * 10);
RTS1 := Int(RTS1);
RTS1 := RTS1 / 10;
IRG2008 := RTS1;

Result:=???????????;
end;

محاولت ننتظر التصحيح

تم تعديل هذه المشاركة بواسطة زكيري عبد العالي في 28 مارس 2008 في 11:26

#3

اخي عبد العالي لك اجر المحاولة B)

هناك اخطاء بالتحويل

-

كل من TRS Tax Impan جداول تستخدم من الشكل

TRS[ill]

وليس

TRS(ill)

-

نوع المتغيرات

of Variant;

يمكن استخدام اي Float مثل Real

-

في الحلقة Do While

While ill <= 5 do
begin
   If brts <= TRS(ill) Then Exit;

Exit تعني الخروج من الحلقة Do While فقط وتكملة الكود

لكن كما هي مكتوبة بعد التحويل Exit تخرج تماما من Function

-

في

Impan[1] := 0#;

يكفي

Impan[1] := 0;

-

في النهاية

IRG2008 := RTS1;

Result:=???????????;

النتيجة Result كتبت فوق

IRG2008 := RTS1;

اي كانك كتبت

Result := RTS1;

وبالتوفيق

d4baa0.gif
#4

أشكرك أخي العزيز" زكيري عبد العالي " على محاولة مساعدتك لي وأشكرك كثيراً على تحويلك السريع لهذه الدالة من لغة الفيجوال بيسك إلى لغة دلفي وكما أشكرك أخي العزيز " B.M.AbdelAziZ " على الرد السريع وعلى تصحيحك لهذه الدالة ، ولكني أنشاءت مشروع صغير فيه edit1 , edit2 , Button1 بحيث وضعت الدالة في unit ووضعت في الزر العبارات التالية :

edit2.Text := irg2008(strtoint(edit1.text));

ولكن البرنامج لم يتنفذ أي أن البرنامج لم يتعرف على إسم الدالة علما أن edit1 مخصص لوضع المبلغ و edit2 مخصص لإظهار الناتج

إخواني ياريت تعطوني مشروع صغير كما ذكرت فيه الدالة كاملة ومصححة

والله لايضيع أجر المحسنين

تم تعديل هذه المشاركة بواسطة saiddsa3980 في 28 مارس 2008 في 19:19

قال الحسن البصري : يا إبن آدم إنما أنت أيام إذا ذهب يومك ذهب بعضك

#5

السلام عليكم

اخي العزيز ليس العيب في ان لا تجد اين الخطأ

وكلنا هنا في المنتدي لمساعدت بعضنا البعض

الا ان تريد الجاهز لا اضن انها فكرة جيدة

حاول ان ترفق محاولاتك وستجد من يصححها ويساعدك على ان تجد لما لم تشتغل واضن ان رد الاخ عبد العزيز كامل ربما هناك هفوه بسيطة فقط

#6

مشكور يا أستاذ على النصيحة النافعة

المطلوب في المرفقات لكي يصحح

irg2008.rar

irg2008.rar

تم تعديل هذه المشاركة بواسطة saiddsa3980 في 28 مارس 2008 في 22:52

قال الحسن البصري : يا إبن آدم إنما أنت أيام إذا ذهب يومك ذهب بعضك

#7

جرب المرفق واخبرنا ان كانت النتيجة صحيحة!

CALCUL_IRG2008.rar

d4baa0.gif
#8

مشكورين على تجاوبكم معنا ومساعدتكم لنا

النتيجة صحيحة 100%

اللهم أجعلها في ميزان حسناتكم

ألف ألف شكر

قال الحسن البصري : يا إبن آدم إنما أنت أيام إذا ذهب يومك ذهب بعضك

#9

___.bmp___.bmp___.bmp[a

ttachment=62684:___.bmp]___.bmp

B.M.AbdelAziZ كتب:

جرب المرفق واخبرنا ان كانت النتيجة صحيحة!

شكرًا جزيلا

عندما حاولت تنفيذ هذ المرفق في الدلفي 7

لم يتنفذ واعطاني هذه العبارة الموجودة في الصورة المرفقة وهي

[Erreur fatale] Paquet requis 'direct' non trouvé

ارجو التوضيح من فضلكم

تم تعديل هذه المشاركة بواسطة medreg في 1 أبريل 2008 في 21:29

#10

بالنسبة الى حساب الضريبة الجديدة IRG 2008 في الجزائر ليست صحيحة في التصحيح الأخير

حملة الملف واعتقد . بل اكيد لا يزال بحاجة ال تعديل

لأنه حساب الضريبة يبداء ما فوق 15000.00 ولو بسنتيم

-اذا كان المبلغ 15000.00 دج الضريبة =0

-اذا كان المبلغ 15000.01 دج الضريبة = 200 وهكذ

العملية لها

Batémé

الملف

IRG2008.zip

مواضيع مشابهة