اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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

قام بنشر
مرحبا شباب كيف يكون طريقة إحتساب المعاش والمكافأة
إجمالي الراتب = الراتب الأساسي + العلاوات
إذا كان سبب التقاعد سن التقاعد ومدة العمل  14 سنة و6 أشهر فأكثر وأقل من 15 سنة 
المعاش = إجمالي الراتب * 4% * 15
المكافأة = إجمالي الراتب / 2 * 15
إذا كان سبب التقاعد سن التقاعد ومدة العمل 15 سنة فأكثر  وأقل من 20 سنة 
المعاش = إجمالي الراتب * 4% * (عدد السنوات + عدد الأشهر/12 + عدد الأيام /365)
المكافأة = إجمالي الراتب / 2 * (عدد السنوات + عدد الأشهر/12 + عدد الأيام /365)
 
ذا كان سبب التقاعد سن التقاعد ومدة العمل 20 سنة فأكثر
المعاش = إجمالي الراتب * 80% 
المكافأة = إجمالي الراتب / 2 * (عدد السنوات + عدد الأشهر/12 + عدد الأيام /365) 
بحيث المعاش لا يتجاوز 80% من إجمالي الراتب
ولا يقل عن 200 ريال
 

طريقة الإحتساب.rar

قام بنشر

ضع الكود التالي في حدث عند النقر على الزر


If DE = "Óä ÇáÊÞÇÚÏ" Then
Select Case Y
  Case Is < 14
  SAL = 0
BOUN = 0

   Case 14
      If M >= 6 Then
      SAL = T * 0.04 * 15
      BOUN = T * 7.5
      Else
SAL = 0
BOUN = 0
      End If
    Case 15 To 19
    SAL = T * 0.04 * (Y + (M / 12) + (D / 365))
    
      BOUN = T / 2 * (Y + (M / 12) + (D / 365))
   Case Is >= 20
   
    SAL = T * 0.8
   
      BOUN = T / 2 * (Y + (M / 12) + (D / 365))
   
End Select
 If SAL > 0 And SAL < 200 Then SAL = 200
Else

SAL = 0
BOUN = 0
End If

وذلك بعد تغيير المسميات التالية

حقل المعاش sal

حقل المكافأة boun

حقل سبب الترك  de

قام بنشر

 كيف يكون الكود إذا كان ترك الخدمة الوفاة

 

هذا الأمر أنت تحدد طريقة حسابه

أنت ذكرت فقط شرط ترك الخدمة ترك العمل

قام بنشر

سبب الترك الوفاة ومدة العمل أقل من 12 سنة و6 أشهر المعاش 

الراتب * 0.5

سبب الترك الوفاة ومدة العمل 12 سنة و6 أشهر فأكثر وأقل من 20 سنة 

المعاش = الراتب * 0.04 * (السنوات + (الأشهر/12) + (الأيام/365))

سبب الترك الوفاة ومدة العمل أقل من 20سنة فأكثر 

المعاش = الراتب * 0.8 

وكيف يكون ناتج إحتساب المعاش والمكافأة 3 أرقام عشرية فقط

 

 

 

 

قام بنشر

جميل , لأن الغرض من المنتدى عو الاستفادة و التعلم

و أسهل طريقة للتعلم هي العمل باليد

اذا كانت المعادلات الأولى أعطت نتائج صحيحة

الآن دورك في تنفيذ تلك المعادلات بنفس الطريقة في حالة الوفاة

نفس الطريقة تماما لكن تغير المعادلات

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

اذا عرفت اين , فسيكون من السهل جدا عليك أن تعرف كيف تضيف تلك المعادلات

قام بنشر

T = Val(B.Value) + (A.Value)
If De = "Óä ÇáÊÞÇÚÏ" Then
Select Case Y
Case Is < 14
Sal = 0
Boun = 0
Case 14
If M >= 6 Then
Sal = T * 0.04 * 15
Boun = T * 7.5
Else
Sal = 0
Boun = 0
End If
Case 15 To 19
Sal = T * 0.04 * (Y + (M / 12) + (D / 365))
Boun = T / 2 * (Y + (M / 12) + (D / 365))
Case Is >= 20
Sal = T * 8
Boun = T / 2 * (Y + (M / 12) + (D / 365))
End Select



ElseIf De = "ÇáæÝÇÉ" Then
Select Case Y

Case 12
If M >= 6 Then
Sal = T * 0.04 * (Y + (M / 12) + (D / 365))
Boun = T * (Y + (M / 12) + (D / 365))
Else
Sal = T * 0.5
Boun = T * (Y + (M / 12) + (D / 365))
End If


Case 13 To 19
Sal = T * 0.04 * (Y + (M / 12) + (D / 365))
Boun = T / 2 * (Y + (M / 12) + (D / 365))
Case Is >= 20
Sal = T * 8
Boun = T / 2 * (Y + (M / 12) + (D / 365))


End Select
If Sal > 0 And Sal < 203 Then Sal = 203

Else
Sal = 0
Boun = 0
End If
قام بنشر

تعديل برمجي فقط و لم أتطرق الى معادلاتك أبدا

فقط قمت بتعديل لغوي للكود

اختبر الكود لتعرف مدى صحة الحساب كما تريد

قام بنشر

 

أريد أضع كود في كل حالات إستحقاق المعاش يجب أن لا يقل المعاش عن 200

 

 

 

يجب أن تحدد القاعدة بشكل صحيح حتى يكون الكود صحيحا

قلت سابقا أن شرط الاستحقاق أن يكون أكثر من 14 سنة

نفهم من هذا الكلام أن من هو اقل من هذه السن لايستحق شيئا ؟

ثم في الكود الذي أنت أكملته مثلا في حالة الوفاة لم تضع هذا الشرط

حيث جعلت معادلة للحساب في حال كانت مجة الخدمة اقل من 12 سنة

و هذا يحدث تناقض في القاعدة

حدد القاعدة بشكل سليم أولا

من جهة أخرى لايستحب أن يكون مربع التحرير و السرد نصا , بل حاول أن تستعيض عنه بأرقام

مثل 1  للوفاة - 2 للتقاعد - 3 للصحية و هكذا

ملاحظة ثالثة

أنا استخدمت عبارة if  باعتبار كان لديك حالتين فقط و هما التقاعد و الوفاة

أما اذا كان لديك أكثر من حالة , الآن اصبح لديك ست حالات يفضل هنا استخدام case

بدلا من elseif

قام بنشر

شباب كيف أضع الكود لحساب المدة المتبقية لإكمال 20 سنة 
مثال إذا كانت مدة العمل 15 سنة و10 أشهر و4 أيام
المدة المتبقية لإكمال 20 سنة هي 4 سنوات و 1 شهر و26 يوم
مرفق طريقة الإحتساب 

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