انتقل إلى المحتوى
DevMarket
وحدات Odooإضافات ووردبريسقوالب ووردبريسقوالب Shopifyقوالب التطبيقاتالسكربتات والأدواتالمدونةبِع على DevMarket

توثيق مستورد الحضور من Excel بالجملة لأودو 19

دليل استيراد الحضور من Excel أو CSV: تجهيز الملف وربط الأعمدة وقراءة الفحص والاستيراد والتراجع والمناطق الزمنية واستكشاف الأخطاء.

يشرح الإصدار 1.0.0حُدّث في 23 أكتوبر 2026

ابدأ من هنا

ببساطة: أجهزة البصمة وساعات الدوام وجداول البيانات كلها تنتج الشيء نفسه: قائمة بمن دخل ومتى خرج. كتابتها في أودو سطرًا بسطر تستغرق ساعات وتمتلئ بالأخطاء. تحوّل هذه الوحدة الملف إلى سجلات حضور في أربع خطوات، وتفحص كل سطر قبل أن يُنشأ أي شيء.
الخطوة 3: يُفحص كل سطر أولًا. وتُدرج المشكلات في الأعلى، بالأحمر.
الخطوة 3: يُفحص كل سطر أولًا. وتُدرج المشكلات في الأعلى، بالأحمر.
الخطوةما تفعله
1. الملفاختر ملف Excel أو CSV.
2. الأعمدةحدّد أي عمود هو الموظف وتسجيل الدخول وتسجيل الخروج. تخمّن الوحدة من العناوين.
3. الفحصشاهد كل سطر بحالته: جاهز أو موجود في أودو أو مشكلة مع السبب.
4. الاستيرادتصبح الأسطر الجاهزة سجلات حضور. وتُترك البقية ويمكن تنزيلها كملف Excel لإصلاحها.
نصيحة: يُحفظ كل استيراد كدفعة. إن كان فيه خطأ فنقرة واحدة على التراجع عن هذا الاستيراد تزيل بالضبط سجلات الحضور التي أنشأها.

جهّز ملفك

ببساطة: يحتاج الملف إلى سطر لكل حضور وسطر عناوين. ويمكن أن يكون .xlsx أو .xls أو .csv (وتُفهم ملفات CSV العربية التي يحفظها Excel).
Employee IDCheck InCheck Out
E10012026-10-12 08:102026-10-12 17:09
E10022026-10-12 08:122026-10-12 17:03
E10012026-10-13 08:022026-10-13 17:15
القاعدةالسبب
سطر لكل حضورورديتان في اليوم هما سطران.
سطر عناوينالسطر الأول افتراضيًا. وإن كان أدنى فعيّن صف العناوين.
تواريخ وأوقات حقيقيةتواريخ Excel أفضل. والنص مثل 2026-10-12 08:10 أو 12/10/2026 8:10 PM يعمل أيضًا.
قيم لا معادلاتالمعادلة التي لم يحسبها Excel بلا قيمة. افتح الملف واحفظه في Excel مرة.
موظفون بمفتاح ثابترقم البطاقة أو البريد أأمن من الاسم (انظر الفصل 5).
ببساطة: ويمكنك أيضًا فصل التاريخ والوقت في أعمدة منفصلة: Date وTime In وTime Out. تقبل الوحدة التخطيطين.

المتطلبات

البندالتفاصيل
أودو19.0 (Community أو Enterprise)
التطبيقات المطلوبةالحضور (hr_attendance)
من يستطيع الاستيرادالمستخدمون بصلاحية الحضور / مدير
الرخصةOPL-1 (رخصة أودو الخاصة v1.0)

التثبيت

  1. فُكّ ضغط الحزمة. بداخلها taqnix_attendance_import.zip؛ فُكّه لتحصل على المجلد taqnix_attendance_import.
  2. انسخ المجلد إلى أحد مجلدات addons_path في خادم أودو وأعد تشغيل أودو.
  3. سجّل الدخول كمدير وفعّل وضع المطوّر ثم افتح التطبيقات واضغط تحديث قائمة التطبيقات.
  4. أزل مرشح «التطبيقات» وابحث عن Attendance Importer واضغط تثبيت.
# أو من سطر الأوامر
./odoo-bin -c odoo.conf -d YOUR_DATABASE -i taqnix_attendance_import --stop-after-init
نصيحة: تظهر قائمة جديدة: الحضور ← استيراد ← استيراد من Excel / CSV، وعمليات الاستيراد السابقة بجانبها.

كيف يُعثر على الموظفين

ببساطة: يحدد الملف من برمز أو اسم أو بريد. اختر في الخطوة الأولى كيف تبحث الوحدة عن الموظف:
ابحث عن الموظف بواسطةيطابق الحقلأين تضبطه
رقم البطاقةرقم البطاقة (Badge ID)نموذج الموظف ← تبويب إعدادات الموارد البشرية
رقم الهويةرقم الهويةنموذج الموظف ← تبويب المعلومات الخاصة
البريد الإلكتروني للعملالبريد الإلكتروني للعملنموذج الموظف ← معلومات العمل
الاسماسم الموظفنموذج الموظف (لا تهم المسافات وحالة الأحرف)
معرّف أودوالمعرّف في قاعدة بيانات الموظفيظهر في شريط العنوان عند فتح الموظف
ببساطة: لا تهم حالة الأحرف ولا المسافات الزائدة. والأرقام التي يخزّنها Excel كأرقام (1001) تطابق النص «1001». وإن كان لموظفين القيمة نفسها يُرفض السطر برسالة واضحة بدل التخمين.
مهم: الاسم أضعف مفتاح: قد يشترك فيه شخصان. استخدم رقم بطاقة إن أمكن.

الخطوة 1: الملف

ببساطة: افتح الحضور ← استيراد ← استيراد من Excel / CSV.
اختر الملف وكيف يُعرَّف الموظفون.
اختر الملف وكيف يُعرَّف الموظفون.
الحقلما هو
الملفملفك .xlsx أو .xls أو .csv.
ابحث عن الموظف بواسطةانظر الفصل 5.
رقم الورقةأي ورقة في المصنف (1 هي الأولى).
صف العناوينالصف الذي يحمل عناوين الأعمدة.
ببساطة: ليس لديك ملف بعد؟ تنزيل ملف نموذجي يعطيك مصنفًا بالتخطيط الصحيح.

الخطوة 2: الأعمدة

خمّنت الوحدة الأعمدة من عناوينها. غيّر ما هو خاطئ.
خمّنت الوحدة الأعمدة من عناوينها. غيّر ما هو خاطئ.
الاختيارالمعنى
عمود الموظفالعمود الذي فيه الرمز أو الاسم أو البريد.
عمود التاريخ (اختياري)استخدمه عندما يكون التاريخ في عمود خاص وتحمل أعمدة الدخول/الخروج أوقاتًا فقط.
عمود تسجيل الدخول / الخروجتواريخ مع أوقات، أو أوقات فقط عند وجود عمود تاريخ.
الأوقات في الملف بتوقيتالمنطقة الزمنية التي سُجّل بها الملف. يخزّن أودو UTC ويحوّل عنك. الافتراضي: منطقتك.
اليوم قبل الشهراقرأ 03/04/2026 على أنه 3 أبريل. لا تتأثر تواريخ Excel الحقيقية.
الورديات الليليةتسجيل خروج أبكر من الدخول يعني اليوم التالي (مفعّل افتراضيًا).
قبول الأسطر بلا تسجيل خروجتنشئ سجل حضور مفتوحًا. متوقف افتراضيًا.
ببساطة: تعرض القائمة تحت الاختيارات عنوان كل عمود مع أولى قيمه لتعرف ما فيه. وتُتعرَّف العناوين Employee وBadge وID وCheck In وTime In وCheck Out وTime Out وDate والعربية موظف، دخول، خروج، التاريخ.

الخطوة 3: فحص كل سطر

ببساطة: لم يُنشأ شيء بعد. يحصل كل سطر على حالة:
الحالةالمعنى
جاهزسيُستورد.
موجود بالفعليوجد حضور مطابق في أودو. يُتخطى، فاستيراد الملف نفسه مرتين لا يضر.
خطألن يُستورد، مع السبب.
الرسالةما العمل
لا يوجد موظف بهذه القيمةالرمز أو الاسم أو البريد ليس في أودو، أو اخترت «ابحث عن الموظف بواسطة» الخاطئ.
N موظفين لهم هذه القيمةيشترك فيها موظفان. استخدم مفتاحًا أدق.
التاريخ أو الوقت مفقود أو غير مقروءأصلح الخلية (تاريخ حقيقي أو نص مثل 2026-10-12 08:10).
لا يوجد تسجيل خروجأضفه أو اقبل الأسطر بلا تسجيل خروج.
تسجيل الخروج ليس بعد تسجيل الدخولافحص الملف. ونادرًا ما يحدث هذا مع تفعيل الورديات الليلية.
أكثر من 24 ساعة بين تسجيل الدخول والخروجغالبًا تاريخ خاطئ.
يتداخل مع سجل حضور موجود في أودو / يتداخل مع السطر Nلا يسمح أودو بحضور متداخل للشخص الواحد.
ببساطة: تأتي الأخطاء أولًا في القائمة. ويمكنك الرجوع لتغيير الأعمدة والفحص من جديد كلما شئت. ولا يمكن الاستيراد إلا إذا كان سطر واحد على الأقل جاهزًا.

الخطوة 4: استيراد وفتح وتراجع

ببساطة: اضغط استيراد الأسطر الجاهزة. تصبح الأسطر الجاهزة سجلات حضور؛ وتُترك الأسطر ذات الأخطاء.
تم: أُنشئ 23 سجل حضور، ويمكن تنزيل الأسطر الأربعة ذات المشكلات.
تم: أُنشئ 23 سجل حضور، ويمكن تنزيل الأسطر الأربعة ذات المشكلات.
ببساطة: تنزيل الأسطر الفاشلة يعطي ملف Excel برقم السطر وما كان في الملف وسبب الفشل، فتصحح تلك الأسطر فقط وتستوردها من جديد.
سجلات الحضور الجديدة في قائمة الحضور.
سجلات الحضور الجديدة في قائمة الحضور.
يُحفظ الاستيراد كدفعة: الأعداد وملف الأسطر الفاشلة وزر التراجع.
يُحفظ الاستيراد كدفعة: الأعداد وملف الأسطر الفاشلة وزر التراجع.
في الدفعةما يفعله
عرض سجلات الحضوريفتح سجلات الحضور التي أنشأها هذا الاستيراد.
التراجع عن هذا الاستيراديحذف تلك السجلات بالضبط (بعد سؤال). وتبقى الدفعة في القائمة بحالة «تم التراجع».
تنزيل الأسطر الفاشلةملف Excel بالأسطر التي لم تُستورد.
ببساطة: الحضور ← استيراد ← عمليات الاستيراد السابقة تسرد كل استيراد: من ومتى وكم سطرًا وكم أُنشئ وكم فشل.
نصيحة: ثم يحسب أودو ساعات العمل والوقت الإضافي من سجلات الحضور بالطريقة المعتادة، كما لسجلات الحضور المنشأة يدويًا.

التواريخ والأوقات التي تفهمها

في الملفتُقرأ على أنها
تاريخ ووقت Excel حقيقيانكما هما
2026-10-12 08:1012 أكتوبر 2026، 08:10
12/10/2026 8:10 PM مع «اليوم قبل الشهر»12 أكتوبر 2026، 20:10
12/10/2026 8:10 PM بدونه10 ديسمبر 2026، 20:10
8:05 أو 08.05 أو 8:05 PMوقت من اليوم (مع عمود تاريخ)
٢٠٢٦-١٠-١٢ ٠٨:١٠ و٨:٣٠ متُفهم الأرقام العربية وص/م العربيتان
46307.34 (رقم)رقم تسلسلي لتاريخ Excel
وقت فقط في خلية الخروجيُستخدم تاريخ الدخول

المناطق الزمنية وتغيير الساعة

ببساطة: تكتب ساعات الدوام الوقت المحلي. ويخزّن أودو UTC. في الخطوة 2 اختر المنطقة الزمنية التي سُجّل بها الملف (تبدأ منطقتك) فتحوّل الوحدة كل سطر. والوقت غير الموجود أو الموجود مرتين بسبب تغيير التوقيت الصيفي يُقرأ كتوقيت قياسي بدل أن يفشل.
مهم: يعرض أودو الأوقات بالمنطقة الزمنية للمتصفح. وإن عملت من بلد آخر فقد تختلف الأوقات التي تراها عن الملف بفارق المنطقتين.

الحدود

الحدالتفصيل
الأسطرحتى 20,000 سطر بيانات في الاستيراد الواحد. قسّم الملفات الأكبر.
الأوراقورقة واحدة في الاستيراد: اختر رقمها في الخطوة 1.
الملفات المحميةلا يمكن قراءة المصنفات المحمية بكلمة مرور: أزلها أولًا.
المعادلاتتُستخدم قيمها المحسوبة، فيجب أن يكون الملف محفوظًا من Excel.
سجلات الحضور الموجودةلا تتغير أبدًا. المطابقة تُتخطى والمتداخلة يُبلَّغ عنها.
حضور مفتوح واحديسمح أودو بسجل حضور مفتوح (بلا خروج) واحد للموظف في الوقت الواحد.

للمطورين

ببساطة: تجاوز هذا الفصل إن كنت تستخدم الوحدة فقط.
البندالتفاصيل
النماذجtaqnix.attendance.import (المعالج) وtaqnix.attendance.import.header وtaqnix.attendance.import.line وtaqnix.attendance.batch الدائم.
الربطhr.attendance.taqnix_batch_id يشير إلى الدفعة التي أنشأت سجل الحضور.
التحليلmodels/parsing.py فيه دوال بسيطة بلا قاعدة بيانات: read_table وparse_datetime وparse_time وparse_date وlocal_to_utc وguess_columns.
from odoo.addons.taqnix_attendance_import.models import parsing

sheet, headers, rows = parsing.read_table(content, 'march.xlsx')
parsing.parse_time('٨:٣٠ م')       # datetime.time(20, 30)
parsing.local_to_utc(naive_dt, 'Asia/Riyadh')

استكشاف الأخطاء

المشكلةما العمل
لا توجد قائمة استيرادتحتاج صلاحية الحضور / مدير.
«تعذّرت قراءة الملف»افتحه في Excel واحفظه من جديد بصيغة .xlsx، أو احفظه CSV. وأزل أي كلمة مرور.
كل الأسطر تقول «لا يوجد موظف»«ابحث عن الموظف بواسطة» خاطئ، أو أرقام البطاقات غير مضبوطة على الموظفين بعد.
الأوقات منزاحةافحص «الأوقات في الملف بتوقيت» (الخطوة 2).
اليوم والشهر مقلوبانفعّل أو ألغِ «اليوم قبل الشهر» (للتواريخ النصية فقط).
الأسطر تقول «يتداخل مع سجل حضور موجود في أودو»لدى الشخص حضور في تلك الفترة. افحصه في الحضور، أو تراجع عن الاستيراد السابق.
استوردت الملف الخطأافتح عمليات الاستيراد السابقة وافتح الدفعة واضغط التراجع عن هذا الاستيراد.

التحديث والإزالة

استبدل المجلد بالإصدار الجديد وأعد تشغيل أودو ونفّذ -u taqnix_attendance_import. للإزالة ألغِ التثبيت من التطبيقات. تبقى سجلات الحضور المستوردة بالفعل في أودو كسجلات عادية؛ وتُزال قائمة عمليات الاستيراد السابقة.

الدعم

المساعدة في التثبيت وإصلاح الأخطاء مشمولان لمدة 6 أشهر مع تحديثات مدى الحياة. تواصل معنا عبر صفحة السوق التي اشتريت منها الوحدة أو راسل support@taqnix.com مع إصدار أودو ولقطة شاشة.