اذهب الي المحتوي
أوفيسنا

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

قام بنشر

السلام عليكم

تحية طيبة

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

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

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

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

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

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

 

قام بنشر

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

 

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

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

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

 

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

 

جعفر

قام بنشر (معدل)
  في 20‏/2‏/2017 at 21:55, jjafferr said:

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

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

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

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

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

جعفر

Expand  

 

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

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

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

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

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

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

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

00.z_0018.jpg.0c4b64aef83c736bc3c7e98e796573cc.jpg

 

جعفر

قام بنشر

أخي كريمو:smile:

 

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

1. شكله جميل ،

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

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

 

:wink2:

جعفر

قام بنشر
  في 21‏/2‏/2017 at 12:34, jjafferr said:

أخي كريمو:smile:

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

1. شكله جميل ،

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

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

:wink2:

جعفر

Expand  

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

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

والصورة توضح 

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

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

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

58ac3a380ff26_.jpg.424536c24a42a3bb8fd8e143a6e9e47b.jpg

 

 

قام بنشر

أخي كريمو :smile:

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

 

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

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

 

جعفر

قام بنشر
  في 21‏/2‏/2017 at 13:08, jjafferr said:

أخي كريمو :smile:

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

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

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

جعفر

Expand  

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

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

58ac3f9180725_.png.f23857caef7171f94a984ee5e94131fc.png

قام بنشر

أخي كريمو:smile:

 

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

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

 

جعفر

قام بنشر (معدل)
  في 21‏/2‏/2017 at 15:58, jjafferr said:

أخي كريمو:smile:

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

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

جعفر

Expand  

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

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

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

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

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

قام بنشر
  في 21‏/2‏/2017 at 07:39, كريمو2 said:

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

Expand  

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

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

بدل هذا

  في 20‏/2‏/2017 at 08:28, كريمو2 said:

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

Expand  

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

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

 

قام بنشر

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

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

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

قام بنشر
  في 13‏/3‏/2017 at 07:18, كريمو2 said:

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

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

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

Expand  

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

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

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

اي

راح نغير هذا

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

حساب اجازة.rarFetching info...

قام بنشر
  في 14‏/3‏/2017 at 13:11, كريمو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

حساب اجازة.rarFetching info...

Expand  

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

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

ممكن تشرحلي

قام بنشر (معدل)
  في 14‏/3‏/2017 at 14:37, كريمو2 said:

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

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

المجموع 1353

Expand  

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

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

هل ما يحسبه

تم تعديل بواسطه Shivan Rekany
  • Like 1
قام بنشر
  في 14‏/3‏/2017 at 15:08, Shivan Rekany said:

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

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

هل ما يحسبه

Expand  

شهر له 4.16 

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

14 يوم  له 2.08

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

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

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