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

حساب عطلة سنوية في الجزائر


nacer_alger

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

سلام عليكم

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

مثلا في الجزائر عطلة سنوية مقدرة للموظف  30 يوما

نفترض ان هذا الموظف اراد ان يتمتع ب 20 يوم  من 30 يوما فبقي في رصيده 10 ايام

وحلت سنة حديدة واراد هذا الموظف ان يتمتع ب30 يوما + 10 ايام (الرصيد المتبقي من السنة الماضية) اي = 40 يوما  في رصيده فتمتع بها كلها

معناه  بقي في رصيده الحالي0 يوم

اريد ام تظهر هذه النتائج في الخانات المخصصة لها بطريقة انوماتكية

ولقد رفعت المشروع مع صورة فيها شرح للحفول التي اتعامل معها

وشكرا

حساب عطلة سنوية.rar

تم تعديل بواسطه nacer_alger
رابط هذا التعليق
شارك

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

تم تعديل بواسطه nacer_alger
رابط هذا التعليق
شارك

جدول الموظفين , أضف الحقل hiredate  ( تاريخ الالتحاق بالعمل )

جدول الاجازات - يكفيك أربعة حقول و هي : الحقل المعرف - رقم الموظف - تاريخ من - تاريخ الى

ـنشأ وحدة نمطية جديدة و أضف فيها الكود التالي :

 

Function Vac_Due(emp As Long, hdate As Date) As Long
    Dim Vac_Used As Integer
    Dim Vac_Entitle As Integer
    Dim d As Integer
    Dim hd As Date
    Vac_Used = Nz(DSum("Vac_Per", "Vac_Trans", "[code_employé] = " & emp & " and [Date_départ] < " & Chr(35) & hdate & Chr(35)), 0)
    hd = DLookup("hiredate", "[Employé en arabe]", "[Code_employé] = " & emp)
    
    Vac_Entitle = Nz((Year(hdate) - Year(hd)) * 30, 0)
    Vac_Due = Vac_Entitle - Vac_Used
    
End Function

الآن قم بانشاء الاستعلام التالي لحساب الاجازة , كما يلي :

SELECT congé.code_employé, congé.Date_départ, congé.Date_retour, [Date_retour]-[Date_départ]+1 AS Vac_Per, 30 AS Vac_Ent, vac_due([code_employé],[Date_départ]) AS Prev_Bal, [prev_bal]-[vac_per] AS Cur_Bal
FROM congé
ORDER BY congé.code_employé, congé.Date_départ;

الحقل prev_bal  يبين لك رصيد الاجازة المستحقة قبل الاجازة الحالية

الحقل cur_bal  يبين لك الرصيد المتبقي بعد فترة الاجازة الحالية

 

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

المعذرة لا أقوم بالتصميم

و انما المساعدة في التصميم

و الغرض تعليمي , ابدأ و ستستفيد ان شاء الله

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

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

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

سلام اخي رضوان شكرا على النصيحة

 

قمت باتباع الخطوات

ظهر خطا وهو يجبرك على تعديل في الوحدة النمطية في رسالة اكسس تتقول انه لم يعثر على Vac_Perو Vac_Trans

 وعند الدخول يظهر الكود معلم بلون اصفر

 

 

عطلة سنوية3.rar

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

اختفت رسالة خطئ اولى لكن ظهر رسالة خطا اخرى تجبرك عل التعديل في كود

معلمة بلون اصفر

 

(hd = DLookup("hiredate", "[Employé en arabe]", "[Code_employé] = " & emp

 

هذه التسميات التي في وحدة النمطية غير موجودة في جداول مجرد سؤال  فقط

Vac_Due = Vac_Entitle - Vac_Used

تم تعديل بواسطه nacer_alger
رابط هذا التعليق
شارك

يجب أن تملأ بيانات تاريخ الالتحاق بالعمل

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

مخصوما منها مدة الاجازة التي قضاها في كل سنة

و في هذه الحالة و حتى يكون الحساب صحيحا ينبغي ايضا تعبئة بيانات الاجازات السابقة

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

سلام عليكم اخي رضوان

 البرنامج يعمل بدون اخطاء تم حلها بمساعدتك

طلب ثاني

اريد ان يظهر الرصيد المتبقي في خانة مستقلة

انظر الصورة

ظهور اخر قيمة.rar

تم تعديل بواسطه nacer_alger
رابط هذا التعليق
شارك

أنشأ الدالة التالية في نفس الوحدة النمطية السابقة

 

Function Vac_Bal(emp As Long) As Long
    Dim Vac_Used As Integer
    Dim Vac_Entitle As Integer
    Dim d As Integer
    Dim hd As Date
    Vac_Used = Nz(DSum("Vac_Per", "Vac_Trans", "[code_employé] = " & emp))
    hd = DLookup("hiredate", "[Employé en arabe]", "[Code_employé] = " & emp)
    
    Vac_Entitle = Nz((Year(Date) - Year(hd)) * 30, 0)
    Vac_Bal = Vac_Entitle - Vac_Used
    
End Function

2- انقل مربع المجموع من النموذج الفرعي الى النموذج الرئيسي

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

=vac_bal([code_employé])
  • Like 1
رابط هذا التعليق
شارك

ممكن كود لتحديث النموذج الفرعي اتوماتكيا

 

 

 

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

تم تعديل بواسطه nacer_alger
رابط هذا التعليق
شارك

اخي رضوان لقد وجدت خطئ و هو كتالي

نفترض  التحق الموظف جديد في نفس السنة مثلا 10/01/2015 وطلب عطلته السنوية بعد افتتاح موسم العطل الذي يبدء في شهر السادس اي  جوان  ويطلب عطلته هنا  البرنامج  لا يعطيه 30 يوما بل ناقص 30 يوما اي مسال فهذا يعتبر خطئ

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

أنت لم تحدد أصلا القواعد الخاصة بحساب الاجازة

الذي كان لديك هو مجرد ادخال يدوي لرصيد الاجازة دون اي حساب

عند تحديدها و تحديد قوانينها يتم اقتراح الكود المناسب للتعديل

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

نعم انت محق اخي رضوان لقد اتعبتك معي

بقيا شيئين اخي رضوان عند تجربتي للبرنامج و هما

اذا كانت السنة الجارية  مثلا 2015 وموظف جديد اراد ان ياخذ اجازته السنوية في نفس السنة التي  توظف فيه 2015ا المفروض ان يكون لديه في كل شهرمنقضي من العمل يتحصل على يومين و نصف في رصيده اي 2.5 *12 شهرا=30 يوما  واذا عمل لمدة12 عشر شهر اي سنة كاملة فله الحق في 30 يوما

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

 ساعدني و لك كل شكر استاذ رضوان

تم تعديل بواسطه nacer_alger
رابط هذا التعليق
شارك

يجب أن تحدد قانون استحقاق الاجازة بشكل دقيق

الموظف التحق في يوم معين من السنة , متى يحق له أن يأخذ الاجازة ؟

هل هناك حد أدنى لابد من تحقيقه , مثلا يجب أن يمضي ثلاثة اشهر أو شهر , أم ماذا ؟

في شركتنا مثلا لابد أن يمضي سنة كاملة حتى يستحق الاجازة , و الا تكون على حسابه أي بلا راتب 

اذا لم يتم تحديد المعايير بدقة فبالطبع ستواجهك في المستقبل مشاكل أخرى

و الأفضل أن تحصرها كلها بوقت واحد

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

- الموظف في الجزائر له الحق في اجازة سنوية كاملة  30 يومااذا أتم سنة كاملة خدمة اي يومين و نصف لكل شهر خدمة 2.5يوم*12شهر=30 يوما

- اما اذا كن موظف جديد فيحسب له في كل شهر خدمة يومين و نصف في رصيده مثلا  اذا عمل لمدة 6 اشهر فله الحق في 15يوما

و موسم افتتاح اجازات يكون في شهر جوان من السنة

تم تعديل بواسطه nacer_alger
رابط هذا التعليق
شارك

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

مثلا موظف وظفا في مارس اي (شهر 03 ) من سنة 2015 هذا الموظف الجديد لا يستفيد من كامل العطلة بل تحسب له اشهر التي عمل بها  كل شهر بيومين ونصف

وعند حلول شهر جوان تفتح ادارة طلبات العطلة السنوية فتحسب ايام هذا الموظف الجديد من تاريخ توظيفه الي غاية  تاريخ طلبه لعطلة السنوية

ان لم يرد ان يتمتع بهذه ايام فتبقى في رصيده لسنة القادمة  او يطلب نصفها كما يشاء له الحق في ذالك وفي السنة القادمة  يكون له الحق في 30 يوما كاملة ككل الموظفين وهكذا

اما موظف  الذي وظفا بعد موسم افتتاح طلبات عطل  من طرف ادارة فليس له حق في العطلة السنوية حتي الموشم المقبل اي في السنة الجديدة ولا يهم عدد ايام التي عملها في السنة الجديدة فقط  بمجرد بدخول السنة الجديدة له الحق في 30 يوما كاملة  حتى ولو كان  له غيابات كثيرة في السنة

الغيابات تخصم من الراتب الشهري فقط

تم تعديل بواسطه nacer_alger
رابط هذا التعليق
شارك

اخي رضوان  لكي لا اتعبك واعقد امر الكود الذي  اعطيتني ايها في بداية يلبي طلبي لكن زد على ذالك

اريد ان يحسب عطلة  الموظفين  الجدد

الحساب كا تالي كل شهر بيومين ونصف في رصيده  ويحسب هذا الرصيد من تاريخ بداية توظيفه الى غاية تاريخ طلب اجازة السنوية مثلا وظفا بتاريخ 01/01/2015 وعملا الى غاية 01/06/2015 هنا له 15يوما

وعندما يعمل لمدة سنة يكون له الحق في 30 يوما كسائر العمال

اي هذه الخصوصية في موظفين الجدد فقط اخي رظوان لكي لا اعقد امر

 

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

مع العملية الحسابية التى اعطيتنى اياها في اول

اي المنبقي من عطلة حالية ومتبقي من رصيد يكون اتوماتكيا

تم تعديل بواسطه nacer_alger
رابط هذا التعليق
شارك

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