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

ضبط استحقاقات (اجازات)


كريمو2

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

السلام عليكم

تحية طيبة

بناء على  المواضيع التي تحدثت عن الاجازات وخاصة هذا الموضوع

لم اتمكن من ضبط  الاستحقاق بالصورة الصحيحة

آمل مساعدتي   جزاكم الله خيرا

ejmaleEjazat: Int(((Date()-[hiredate])/30)*4.16)

كلما دخلت سنة جديدة تزيد مدة الإجازة يوم

نعرف ان قسمة 50/12 تساوي 4.16667 هل من كود اخر يعطي 50 يوم كل سنة

 

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

وعليكم السلام أخي كريمو:smile:

 

لماذا نستعمل هذه المعادلة ؟

اذا كانت وظيفته تعطيه اجازة معينة عند توظيفة ، مثلا 30 يوم في السنة ،

ثم سنويا تريد تضيف يوم على الـ 30 يوم ، فالمعادلة ستكون سهلة:smile:

 

هل مفهومي للسؤال صحيح؟

 

جعفر

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

9 ساعات مضت, jjafferr said:

وعليكم السلام أخي كريمو:smile:

لماذا نستعمل هذه المعادلة ؟

اذا كانت وظيفته تعطيه اجازة معينة عند توظيفة ، مثلا 30 يوم في السنة ،

ثم سنويا تريد تضيف يوم على الـ 30 يوم ، فالمعادلة ستكون سهلة:smile:

هل مفهومي للسؤال صحيح؟

جعفر

 

فيه معادلة اخرة يمكن استعمالها استاذي العزيز

المفهوم المطلوب

الإجازة السنوية تقدر ب 50 يوم كل سنة من تاريخ التوظيف يعني بمقدار كل شهر 4.16 يوم 

4.16 يوم × 12 شهر = 49.92 يوم  وليست 50 يوم  وهنا المشكلة

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

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

بينما اذا استعملت المعادلة الاصلية ، فستكون النتائج صحيحة ، انظر هذا العمل لثلاث سنوات:

00.z_0018.jpg.0c4b64aef83c736bc3c7e98e796573cc.jpg

 

جعفر

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

أخي كريمو:smile:

 

انت تعرف اني احتاج دليل وشرح للمرفق ، فكل اللي اقدر اقوله عن المرفق:

1. شكله جميل ،

2. ما احب النماذج المنبثقة ، ودائما اغيرها الى عادية ،

3. وما احب On Timer ، لأنه يجعل الكمبيوتر يبذل جهد ، اللي ممكن استغلاله لشئ افضل ، ويتعبني في الكود:blink:

 

:wink2:

جعفر

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

17 دقائق مضت, jjafferr said:

أخي كريمو:smile:

انت تعرف اني احتاج دليل وشرح للمرفق ، فكل اللي اقدر اقوله عن المرفق:

1. شكله جميل ،

2. ما احب النماذج المنبثقة ، ودائما اغيرها الى عادية ،

3. وما احب On Timer ، لأنه يجعل الكمبيوتر يبذل جهد ، اللي ممكن استغلاله لشئ افضل ، ويتعبني في الكود:blink:

:wink2:

جعفر

الدليل واضج كل موظف يحتاج الى اجازة سنوية كل سنة 50 يوم

هذه الإجازة تعطى له كاملة بعد قضاء سنة من تاريخ تنصيبه 

والصورة توضح 

اما بخصوص On Timer فلك صلاحية ان توقف مهامها

المهم ايجاد حل استاذي العزيز جعفر

وفقك الله لما يحبه ويرضاه

58ac3a380ff26_.jpg.424536c24a42a3bb8fd8e143a6e9e47b.jpg

 

 

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

14 دقائق مضت, jjafferr said:

أخي كريمو :smile:

انا كنت امزح ، فأعتذر منك:smile:

اي حقل يجب ان انظر اليه ، وما النتائج التي يجب ان تكون ، وفي اي تاريخ !!

انا ما عندي ادنى فكرة !!

جعفر

مافيش مشكلة اخي الحبيب

حقل الاستحقاق

58ac3f9180725_.png.f23857caef7171f94a984ee5e94131fc.png

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

15 ساعات مضت, jjafferr said:

أخي كريمو:smile:

الظاهر انك مو راضي عني:blink:

ولا توضيح عن المطلوب ، وكيف الحساب ووووو ، واقارنه مع اي حقل او احسبه من اي حقل ، او تاريخ !!

جعفر

لا اخي الكريم كيف تقول هذا !

انت كنت اخا رائعا في مساعدتك لي طوال سنوات واتمنى مانتحرم منك 

فبارك الله لك فيما مددت فيه يد المساعدة لإخوانك

الحقول المعنية وهي :

hiredate تاريخ التوظيف

ejmaleEjazat الإستحقاق الإجمالي وهي التي بها المشكلة زيادة يوم او اكثر ودالتها على هذا المنوال :

ejmaleEjazat: Int(((Date()-[hiredate])/7.3))

مدة الإستحقاق : aja_B  " تنقص من قيمة الإستحقاق الإجمالي "

نوعية الإجازة : ejazaID  (بها عدة خيارات وشروط ) تجدها في جدول tblEjaza

mhsop = "تنقص من قيمة الإستحاق"

mhsop: DSum("aja_B";"TB_Ath6rary";"IDmozf=" & [IDmozf] & "And ejazaID<200")

Unmhsop = " لا تنقص من قيمة الإستحاق"

Unmhsop: DSum("aja_B";"TB_Ath6rary";"IDmozf=" & [IDmozf] & "And ejazaID>200")

تاريخ نهاية العمل : هذا التاريخ يشترط ان توقف فيه زيادة مدة الإستحقاقات " لان العامل قد تم توقيف عمله "

 

 

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

السلام عليكم اخي كريمو:smile:

 

يجب اولا ان نصل الى الحل الصحيح ، ومنها نعمل المعادله / المعادلات ،

في المرفق ملف اكسل ، وفيه حساب يدوي لكل يوم من تاريخ التوظيف ، لموظفين اثنين ،

رجاء التدقيق على العمل ، واذا كانت النتائج صحيحة ، فعليه ان شاء الله نقوم بترجمة الخطوات الى معادلات في الاكسس:smile:

 

جعفر

600.xlsx.zip

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

في ٢١‏/٢‏/٢٠١٧ at 10:39, كريمو2 said:

4.16 يوم × 12 شهر = 49.92 يوم  وليست 50 يوم  وهنا المشكلة

اذا كان المشكلة من هنا
اي بيكون 49.92 وتريد ان يكون 50 بدل ذلك
تكدر تستخدم هذا الكود  

ejmaleEjazat: Round(((Date()-[hiredate])/30)*4.16;0)

بدل هذا

في ٢٠‏/٢‏/٢٠١٧ at 11:28, كريمو2 said:

ejmaleEjazat: Int(((Date()-[hiredate])/30)*4.16)

ملاحظة : اذا تستخدم في مصدر مربع نصي او استعلام الكود تمام واذا تستخدم في الاكواد فيجوال فقط غير ( ; ) الى ( , )

هذا والله اعلم

 

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

شكرا لك اخي شيفان على المساعدة

لسة دالة التقريب لا تفي بالغرض المطلوب

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

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

7 ساعات مضت, كريمو2 said:

شكرا لك اخي شيفان على المساعدة

لسة دالة التقريب لا تفي بالغرض المطلوب

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

فكرت في شي اخر لا اعلم هل سيوفي بالنتيجة ام لا

لكن جربه لعله تستفيد

بدل نقسمه الى شهر راح نقسمه الى يوم

اي

راح نغير هذا

ejmaleEjazat: Round(((Date()-[hiredate])/30)*4.16;0)

الى هذا

 

ejmaleEjazat: Round(((Date()-[hiredate]))*0.1389;0)

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

تحياتي

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

شكرا اخي شيفان

لاحظ المرفق 

وخاصة عند العامل كريمو 5 بداية توظيفه 1989/12/09

ejmaleEjazat: Int(((Date()-[hiredate])/7.3))
ejmaleEjazat1: Int(((Date()-[hiredate])/30)*4.16)
ejmaleEjazat2: Round(((Date()-[hiredate])/30)*4.16;0)
ejmaleEjazat3: Round(((Date()-[hiredate]))*0.1389;0)

ejmaleEjazat   = 1363

ejmaleEjazat1 = 1380

ejmaleEjazat2 = 1381

ejmaleEjazat3 = 1383

الأصح = 1353

حساب اجازة.rar

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

17 دقائق مضت, كريمو2 said:

شكرا اخي شيفان

لاحظ المرفق 

وخاصة عند العامل كريمو 5 بداية توظيفه 1989/12/09


ejmaleEjazat: Int(((Date()-[hiredate])/7.3))
ejmaleEjazat1: Int(((Date()-[hiredate])/30)*4.16)
ejmaleEjazat2: Round(((Date()-[hiredate])/30)*4.16;0)
ejmaleEjazat3: Round(((Date()-[hiredate]))*0.1389;0)

ejmaleEjazat   = 1363

ejmaleEjazat1 = 1380

ejmaleEjazat2 = 1381

ejmaleEjazat3 = 1383

الأصح = 1353

حساب اجازة.rar

وكيف تعرف ان الاصح هو 1353

اي طريقة وصول لذلك الرقم

ممكن تشرحلي

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

31 دقائق مضت, كريمو2 said:

له 27 سنة من عام (1990 الى 2017) × 50 = 1350

وله 03 ايام في ديسمبر عام 1989

المجموع 1353

وما هو الحال لشهر 1 و 2 و

14 يوم من شهر 3 لهذه السنة

هل ما يحسبه

تم تعديل بواسطه Shivan Rekany
  • Like 1
رابط هذا التعليق
شارك

8 دقائق مضت, Shivan Rekany said:

وما هو الحال لشهر 1 و 2 و

14 يوم من شهر 3 لهذه السنة

هل ما يحسبه

شهر له 4.16 

شهرين له 4.16 × 2 = 8.32 بتقريب 9 

14 يوم  له 2.08

لاحظ المرفق من تصميم استاذ رمهان في هذا المنتدى

حساب اجازاة ثانية1.rar

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

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