Guys there is a module called ( hr_attendance_analysis ) for Openerp it is designed to calculate the duration of working hours of the company employees depending on the sign-in and sign-out times and comparing them with the time schadual in the employees contract
-- this is very important as this is the base of calculating payroll in middle east and payroll is useless without this module basically its community module and it have a small problem after you install this module it have 2 main attributes that we are interested in inside_calendar_duration = worked hours within the assigned working schadual in contract outside_calendar_duration = worked hours outside the assigned working schadual in contract = overtime the module calculates ( full work duration ) ( duration within working schadual ) ( overtime ) the problem is with calculating the inside_calendar_duration = duration within working schadual example for the problem working schadual lets say 8-15 = 7 working hours 1) sign-in 8:00 duration = 7 hours , overtime= 0, duration within working schadual = 7 hours sign-out 15:00 this works very good but the problem is if sign-in doesn't = to the working schadual example 2) sign-in 9:00 duration = 7 hours , overtime=0 , duration within working schadual = 7 hours sign-out 15:00 this is wrong the duration should equal to 6 hours but it shows 7 hours the problem here is that the module compare the sign-out from employee with the sign-out contract correctly but the module doesn't compare the sign-in from the employee with the sign-in from the contract instead the module always use the contract assigned starting time witch on our example it is 8:00 a.m so any employee signs in at anytime of the day the module calculate the working hours as if that employee signed-in at 8:00 i don't have python programming experience to fix this problem but i thought i could share this with u guys and if any 1 could help i would appreciate it very much note: alot of people were referring to time zone issue i am not sure about that tho. as the sign-out works perfectly thx in advance تلقيت هذه الرسالة لأنك مشترك في مجموعة "مجتمع أوبن إي آر بي العربي: النقاشات العامة" في مجموعات Google. لإلغاء الاشتراك في هذه المجموعة وإيقاف تلقي رسائل الإلكترونية منها، أرسل رسالة إلكترونية إلى [hidden email]. للمزيد من الخيارات، انتقل إلى https://groups.google.com/d/optout. |
المشرف
|
أخ محمد.. أشكر لك السؤال الواضح المفصل. سؤالك مثال ممتاز لكيفية طرح سؤال تقني.
أخشى أنني لا أملك جواباً لأني لم أستعمل هذا الموديول، ولكن يبدو أن ملاحظة المنطقة الزمنية (timezone) قد تكون في محلها.
بناء على التعليق رقم 3 في تقرير العلل هذا: فإن منطفة زمنية ذات توقيت utc+8 قد تؤثر على تعرف النظام على اليوم، ويجعله يعتبر الأوقات المبكرة متعلقة باليوم السابق، مما قد يتسبب في الخلل الذي تراه.
من الطرق السهلة لتتبع العلل القيام ببعض عمليات الطباعة وسط الكود. مثلاً، إذا وجدت الكود المتعلق ببداية الدوام ومقارنته بوقت sign-in، اطبع التاريخ، ثم اطبعه قرب الكود المتعلق بنهاية الدوام كذلك، وهكذا.
أتمنى أن يكون جوابي مفيداًن ولا تتردد في السؤال عن أي صعوبات أخرى تواجهها إذا قررت تتبع العلة. بايثون لغة لا تحتاج لأن تصرف الكثير من الوقت لتعلمها، بدليل أنك ستسطيع فهم معظم الكود دون تعلم اللغة.
أخيراً، أرجو أن تحاول استخدام اللغة العربية مصتقبلاً قدر الإمكان. تلقيت هذه الرسالة لأنك مشترك في مجموعة "مجتمع أوبن إي آر بي العربي: النقاشات العامة" في مجموعات Google. لإلغاء الاشتراك في هذه المجموعة وإيقاف تلقي رسائل الإلكترونية منها، أرسل رسالة إلكترونية إلى [hidden email]. للمزيد من الخيارات، انتقل إلى https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |