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

تجميع عدد ساعات الحضور الانتاجية (السهر - ايام العطلات) والرسمية (بدون سهر وبدون عطلات )


ابو جودي

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

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

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

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

ثانيا : ان كانت النتيجة طيبة ان شاء الله بناء على رأى اساتذتنا الكرام اضعه بين ايديكم لتعم الفائدة وينتفع منه كل ذى حاجة 

اعتذر للاطالة ولكن حتى يسهل تحليل المرفق 

الجداول

tbl_Attendance_in        الجدول الذى يتم تخزين بيانات الموظفين طبقا لوقت الحضور والانصراف 

tbl_Employees             بيانات لموظفين

tbl_Holidays                جدول يتم تحديد ايام العطل الرسمية فيه اول كل عام

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

 

اسم حقل الحضور من الجدول              tbl_Attendance_in           import_time_in
اسم حقل الانصراف من الجدول         tbl_Attendance_in           import_time_out  


اولا المواعيد الرسمية بلا زيادة او نقصان         Official time    ولا تشتمل على ايام العطلات الاسبوعية او الرسمية
مواعيد بدء العمل الفعليه وهى ما يهمنى من الساعة  9:00   وحتى الساعة   14:00

من هنا نستنتج انا من حضر قبل هذا الوقت لا يعنينى حضورة 
اذن لو حضر شخص ما فى تمام الساعة  7:00    وانصرف فى تمام الساعة  14:00   تصبح ساعات العمل الرسمية له هى 5  من الساعة 9:00  الى الساعة 14:00
ولكن من حضر فى ميعاد بعد الساعة 9:00 يتم بدء الاحتساب من ساعة حضوره طالما انها بعد الموعد الرسمى
واذا انصرف بعد الساعه  14:00  لا يعنينى  هذا الوقت هذا ايضا فى شئ لانه بعد مواعيد العمل الرسمية
وهذا ما تم تحقيقه بفضل الله تعالى فى الاستعلام        qry_Official_time


ثانيا المواعيد الفعلية  (الانتاجية)  وهى تشتمل كل الايام سواء كانت تحتوى على عطل رسمية او عطل اسبوعية   actual time
ولكن يبدأ وقت الحضور من الساعة 9:00  فلا يعنينى ايضا من حضر قبل ذلك فيبدأ الاحتساب من الساعة 9:00 وحتى وقت الانصراف الفعلى 
طلعا من حضر بعد هذا الوقت يتم الاحتساب من وقت الحضور طالما انه بعد 9:00  وحتى وقت الانصراف
وهذا ما تم تحقيقه بفضل الله تعالى فى الاستعلام        qry_actual_time

وهناك ايضا شئ مشترك بينهما ( الاستعلامين ) من له ساعة حضور وليس له ساعة انصراف يحتسب الوقت 0:0 وكأنه غائب

تم عمل جداول مساعدة   sum_actual_tim_temp      ,    sum_official_tim_temp      يتم احضار البيانات اليها عند الحالة لمعالجة تلك البيانات ومسحها بعد الانتهاء

نموذج     frm_qry   ومن هذا النموذج يتم عمل كل شئ اليا 

ولى هنا سؤال على استحياء الى اساتذتى الافاضل بارك الله فيهم
كيف يمكننى وضع عدد الغياب لكل موظف فى التقرير  حاولت استخدام الدالة   dcount  ولكن لم يهدنى ربى اليها

اترككم مع المرفق 

calc time emp_ v0.02.rar

 

 

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

في 11/19/2016 at 11:01, محمد ايمن said:

تحية طيبة اخي ابا جودي

ارجو منك شرح المعادلة الموجودة في حقل actual_time في الاستعلام qry_actual_time

actual_time: IIf(DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date])\60<=0,"0") & IIf(DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date])\60>0,DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date])\60) & ":" & IIf(DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date]) Mod 60<=0,"0") & IIf(DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date]) Mod 60>0,DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date]) Mod 60)

هذا الجزء خاص بتجميع عدد الساعات بين وقتين فى تاريخ محدد

وهنا كنت عاوز احول الناتج لصفرلو كانت النتيجة اقل من الصفر
IIf(DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date])\60<=0,"0") &

 


IIf(DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date])\60>0,DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date])\60)

& ":" &

 


هذا الجزء خاص بتجميع عدد الدقائق بين وقتين فى تاريخ محدد

IIf(DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date]) Mod 60<=0,"0") &
IIf(DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date]) Mod 60>0,DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date]) Mod 60)
 

 

 

وكان الناتج مفروض يتم جمعه على خطوتين الخطوة الاولى

expr1: DateDiff("n",[default_time_in] & [day_date],[default_time_out] & [day_date])

الخطوة الثانية

Total: [expr1]\60 & ":" & [expr1] Mod 60

 

 

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

السلام عليكم

من اين جئت  بتاريخ الدخول ووقت الحضور والانصراف ؟

هل الرصد يتم في الجدول مباشرة ؟

ام  ان هذه البيانات يتم جلبها  ؟

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

في 11/19/2016 at 11:53, ابوخليل said:

السلام عليكم

من اين جئت  بتاريخ الدخول ووقت الحضور والانصراف ؟

هل الرصد يتم في الجدول مباشرة ؟

ام  ان هذه البيانات يتم جلبها  ؟

وعليكم السلام ورحمة الله تعاالى وبركاته
استاذى الجليل ومعلمى القدير ووالدى الحبيب :fff:

من اين جئت  بتاريخ الدخول ووقت الحضور والانصراف ؟

تاريخ الدخول من جهاز البصمة ووقت الحضور  تبعا للوائح المنظمة ومسجل الوقت الرسمى طبقا للوائح فى جدول   tbl_worktime
ـــــــــــــــــــــــــــــــــــ

هل الرصد يتم في الجدول مباشرة ؟
رصد ايه بالظبط انا مش فاهم بصراحة الجزئية دى 

ــــــــــــــــــــــــــــــــــــ
 

ام  ان هذه البيانات يتم جلبها  ؟
نعم يتم جلبها من سيرفر خاص بعد تفريغ بيانات اجهزة البصمة من اماكنها المختلفه على هذا السيرفر

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

في 11/19/2016 at 12:10, ابوخليل said:

غالبا اجهزة البصمة يكون ادخال تاريخ جنرال في حقل  وحقل ثاني للنوع (دخول/خروج) .. صح؟

 

بصراحة مش عارف مهندسون الـ IT  متحفظون بالنسبة للموضوع 
انا باخد البيانات من السيرفر يويما فى ملف اكسل وباخد منه الاكواد وموعد توقيع الحضور  موعد توقيع الانصراف وانا عامل كود فى نموضج يقوم بكل شئ وفى النهاية احصل على البيانات فى الجدول     tbl_Attendance_in      بالشكل الموجود فى المرفق تماما

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

على كل حال انا قد مررت بتجربة برنامج الحضور والانصراف

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

بهذه الطريقة اقلل من اضافة كائنات اخرى 

هذا الرقم الناتج اجمعه خلال شهر او اقل او اكثر  ثم اعكس العملية في النهاية ليظهر على شكل ايام وساعات ودقائق

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

في 11/19/2016 at 12:30, ابوخليل said:

على كل حال انا قد مررت بتجربة برنامج الحضور والانصراف

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

بهذه الطريقة اقلل من اضافة كائنات اخرى 

هذا الرقم الناتج اجمعه خلال شهر او اقل او اكثر  ثم اعكس العملية في النهاية ليظهر على شكل ايام وساعات ودقائق

طيب النتيجة فى هذا المرفق مظبوطة ام غير مظبوطة

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

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

اطلعت على الجداول والاستعلامات

اما النموذج فيحدث مشكلة عند ضغط الازرار ( نتيجة التحويل ) 

انا نقلت لك تجربتي .. وهي تجربة وحيدة .. لم اقتبسها من احد .. وقد تكون طريقتك  افضل

المهم : النتائج .. اذا كانت صحيحة ودقيقة  ،  وان تكون العملية امام المستخدم سهلة ومرنة

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

 

 

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

في 11/19/2016 at 12:48, ابوخليل said:

اطلعت على الجداول والاستعلامات

اما النموذج فيحدث مشكلة عند ضغط الازرار ( نتيجة التحويل ) 

انا نقلت لك تجربتي .. وهي تجربة وحيدة .. لم اقتبسها من احد .. وقد تكون طريقتك  افضل

المهم : النتائج .. اذا كانت صحيحة ودقيقة  ،  وان تكون العملية امام المستخدم سهلة ومرنة

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

 

 

اعتذر لاثقال على حضرتك استاذى الحبيب
اولا انا لم احول القاعدة

ثانيا الازرار لفتح التقارير فقط ليس الا 

الشغل كله فى اكواد الموضوعه على مربع التحرير والسرد

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

 

وردا على حضرتك  المهم : النتائج .. اذا كانت صحيحة ودقيقة
 

انا مش عارف النتيجة مظبوطه والنتائج صحيحة ودقيقة ام لا 

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

وحيث اننى لا خبرة لى فى هذة الجزئية اثقل على حضراتكم حتى اتأكد من النتائج

:rol:

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

المشكلة في التقارير  لا تفتح  وانما  يظهر ايرور وتقفل القاعدة

ولكن تكفينا الاستعلامات :

اذا  حقل   actual_time  في استعلام   qry_actual_time    يعطي  مقدار التأخر   في اليوم

فالعملية غير صحيحة

المشكلة ايضا  في تنسيق الوقت هل هو ساعات ودقائق  ام دقائق وثواني ؟

 

اتضحت لي : الحقل يجمع  وقت التواجد الفعلي 

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

في 11/19/2016 at 13:32, ابوخليل said:

المشكلة في التقارير  لا تفتح  وانما  يظهر ايرور وتقفل القاعدة

ولكن تكفينا الاستعلامات :

اذا  حقل   actual_time  في استعلام   qry_actual_time    يعطي  مقدار التأخر   في اليوم

فالعملية غير صحيحة

المشكلة ايضا  في تنسيق الوقت هل هو ساعات ودقائق  ام دقائق وثواني ؟

 

اتضحت لي : الحقل يجمع  وقت التواجد الفعلي 

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


والدى الحبيب هذا التحديث لقاعدة البيانات قد تكون انحلت فيه مشكلة التقارير التى لا تفتح  ان شاء الله

المشكلة ايضا  في تنسيق الوقت هل هو ساعات ودقائق  ام دقائق وثواني ؟
التسيق   ساعات : دقائق   فقط  لاغيـــــــــــــر

حقل   actual_time  
اتضحت لي : الحقل يجمع  وقت التواجد الفعلي  

الحقل يجمع الوقت الفعلى ابتداء من الساعة  9:00   وحتى وقت انصراف الموظف
اى الطريقة الحسابية كالتالى          وقت الانصراف - 9:00 
او اقل من 9:00  حسب وقت حضور الموظف

المرفق الجديد 
ـــــــــــــــــــــــــ


calc time emp_ v0.03.rar

في 11/19/2016 at 14:57, ابوخليل said:

اذا هل انت تريد حصر ساعات العمل ؟ ام  تريد حصر ساعات التأخر ؟

اريد حصر ساعات العمل فقط خلال الشهر

بطريقتين
الاولى :من الساعة 9:00 او وقت الحضور لو اقل من الساعة 9:00  وحتى الساعة 14:00   وبدون احتساب ايام العطل الرسمية او الاسبوعية
تم تحقيق ذلك فى الاستعلام    qry_Official_time


الثانية  : من الساعة 9:00 او وقت الحضور لو اقل من الساعة 9:00  وحتى ساعة الانصراف  مع احتساب  الوقت فى ايام العطل الرسمية وكذلك الاسبوعية
تم تحقيق ذلك فى الاستعلام     qry_actual_time

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

السلام عليكم

فرق بين الطريقتين (  حصر التواجد / حصر التأخر )

حصر التواجد لم اعمل به من قبل  وهو ما تعمله انت الآن

لن تعدم فائدة : انظر في الاستعلام  qry_actual_time  رصدت فيه التأخر

 

 

calc time emp2_ v0.03.rar

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

20 ساعات مضت, ابوخليل said:

السلام عليكم

فرق بين الطريقتين (  حصر التواجد / حصر التأخر )

حصر التواجد لم اعمل به من قبل  وهو ما تعمله انت الآن

لن تعدم فائدة : انظر في الاستعلام  qry_actual_time  رصدت فيه التأخر

 

 

calc time emp2_ v0.03.rar

جزاكم الله تعالى خيرا استاذى الحبيب ومعلمى الجليل
التأخير قمت به من قبل

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

في 11/20/2016 at 12:31, ابوخليل said:

وهنا عملت استعلام  لجمع ايام الغياب

على اعتبار  ان الذي لم يوقع انصراف يعتبر غائب

calc time emp3_ v0.03.rar

استاذى القيدر ومعلمى الجليل ووالدى الحبيب
عفر الله لكم ولوالديكم ولمن تحبون ولكل المسلومن ان شاء الله :fff:

موضوع حساب الغاياب ده رااااااااااااااااائع جزاكم الله خيرا

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

من فضلك سجل دخول لتتمكن من التعليق

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



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information