Biometric Device Integration
by Cybrosys Techno Solutions https://www.cybrosys.com , Mostafa Shokiel https://www.cybrosys.comRequired Apps |
Employees (hr)
|
Lines of code | 1094 |
Technical Name |
hr_zk_attendance |
License | AGPL-3 |
Website | https://www.cybrosys.com |
Also available in version | v 10.0 v 16.0 v 11.0 v 14.0 v 15.0 v 12.0 |

HR Biometric Device Integration
This Module Integrates Biometric Device With HR Attendance
Key Highlights
- Integrates biometric device(Face+Thumb) with HR attendance.
- Option to keep the device attendance log in Odoo.
- Option to clear the device attendance log from both device and Odoo.
- Automating HR attendance.
- Option to configure multiple devices.
- This module will support with ZKteco model 'uFace 202', ZKteco model 'iFace990'

Overview
Automation is an implementation factor for a successful ERP. Using this module, HR attendance can be automated via integrating Thumb / Face detection device with Odoo. One can configure a user both from thumbing device or Odoo employee form.
HR Biometric Device Integration
Integrates biometric device(Face+Thumb) with HR attendance.
Option to keep the device attendance log in Odoo.
Option to clear the device attendance log from both device and Odoo.
Automating HR attendance.
Option to configure multiple devices.
This module will support with ZKteco model 'uFace 202', ZKteco model 'iFace990'
Screenshots
Suggested Products
Our Service

Odoo Customization

Odoo Implementation

Odoo Integration

Odoo Support

Hire Odoo Developers
Our Industries

Trading
Easily procure and sell your products.

Manufacturing
Plan, track and schedule your operations.

Restaurant
Run your bar or restaurant methodical.

POS
Easy configuring and convivial selling.

E-commerce & Website
Mobile friendly, awe-inspiring product pages.

Hotel Management
An all-inclusive hotel management application.

Education
A Collaborative platform for educational management.

Service Management
Keep track of services and invoice accordingly.
Need Any Help?
If you have anything to share with us based on your use of this module, please let us know. We are ready to offer our support.
Email us
odoo@cybrosys.com
Contact Us
www.cybrosys.com
Please log in to comment on this module
Report comment
Any abuse of this reporting system will be penalizedI can't even open the report after installation
错误:
Odoo Server Error
Traceback (most recent call last):
File "/odoo/odoo-server/odoo/api.py", line 745, in get
value = self._data[field][record._ids[0]]
KeyError: 223
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/odoo/odoo-server/odoo/fields.py", line 1002, in __get__
value = env.cache.get(record, self)
File "/odoo/odoo-server/odoo/api.py", line 751, in get
raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('ir.actions.act_window(223,).search_view', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/odoo/odoo-server/odoo/addons/base/models/ir_ui_view.py", line 664, in apply_inheritance_specs
pre_locate=pre_locate)
File "/odoo/odoo-server/odoo/tools/template_inheritance.py", line 230, in apply_inheritance_specs
_("Element '%s' cannot be located in parent view") % tag
ValueError: 父视图中没有找到元素 '<search string="Hr Attendance Search">'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/odoo/odoo-server/odoo/http.py", line 624, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/odoo/odoo-server/odoo/http.py", line 310, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/odoo/odoo-server/odoo/tools/pycompat.py", line 14, in reraise
raise value
File "/odoo/odoo-server/odoo/http.py", line 669, in dispatch
result = self._call_function(**self.params)
File "/odoo/odoo-server/odoo/http.py", line 350, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/odoo/odoo-server/odoo/service/model.py", line 94, in wrapper
return f(dbname, *args, **kwargs)
File "/odoo/odoo-server/odoo/http.py", line 339, in checked_call
result = self.endpoint(*a, **kw)
File "/odoo/odoo-server/odoo/http.py", line 915, in __call__
return self.method(*args, **kw)
File "/odoo/odoo-server/odoo/http.py", line 515, in response_wrap
response = f(*args, **kw)
File "/odoo/odoo-server/addons/web/controllers/main.py", line 1646, in load
action = request.env[action_type].browse([action_id]).read()
File "/odoo/odoo-server/odoo/addons/base/models/ir_actions.py", line 204, in read
result = super(IrActionsActWindow, self).read(fields, load=load)
File "/odoo/odoo-server/odoo/models.py", line 2915, in read
vals[name] = convert(record[name], record, use_name_get)
File "/odoo/odoo-server/odoo/models.py", line 5616, in __getitem__
return self._fields[key].__get__(self, type(self))
File "/odoo/odoo-server/odoo/fields.py", line 1026, in __get__
self.compute_value(recs)
File "/odoo/odoo-server/odoo/fields.py", line 1111, in compute_value
records._compute_field_value(self)
File "/odoo/odoo-server/odoo/models.py", line 3915, in _compute_field_value
getattr(self, field.compute)()
File "/odoo/odoo-server/odoo/addons/base/models/ir_actions.py", line 171, in _compute_search_view
fvg = self.env[act.res_model].fields_view_get(act.search_view_id.id, 'search')
File "/odoo/odoo-server/addons/web/models/models.py", line 206, in fields_view_get
r = super().fields_view_get(view_id, view_type, toolbar, submenu)
File "/odoo/odoo-server/odoo/models.py", line 1521, in fields_view_get
result = self._fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu)
File "/odoo/odoo-server/odoo/models.py", line 1483, in _fields_view_get
root_view = View.browse(view_id).read_combined(['id', 'name', 'field_parent', 'type', 'model', 'arch'])
File "/odoo/odoo-server/odoo/addons/base/models/ir_ui_view.py", line 738, in read_combined
arch = self.apply_view_inheritance(arch_tree, root.id, self.model)
File "/odoo/odoo-server/odoo/addons/base/models/ir_ui_view.py", line 687, in apply_view_inheritance
source = self.apply_inheritance_specs(source, specs_tree, view_id)
File "/odoo/odoo-server/odoo/addons/base/models/ir_ui_view.py", line 666, in apply_inheritance_specs
self.raise_view_error(str(e), inherit_id)
File "/odoo/odoo-server/odoo/addons/base/models/ir_ui_view.py", line 614, in raise_view_error
raise ValueError(message)
ValueError: 父视图中没有找到元素 '<search string="Hr Attendance Search">'
错误的上下文:
视图 `inherited_hr_attendance_view_filter`
[view_id: 839, xml_id: hr_zk_attendance.inherited_hr_attendance_view_filter, model: hr.attendance, parent_id: 714]
click report then out this
Odoo Server Error Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/api.py", line 745, in get value = self._data[field][record._ids[0]] KeyError: 442 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/fields.py", line 996, in __get__ value = env.cache.get(record, self) File "/usr/lib/python3/dist-packages/odoo/api.py", line 751, in get raise CacheMiss(record, field) odoo.exceptions.CacheMiss: ('ir.actions.act_window(442,).search_view', None) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 662, in apply_inheritance_specs pre_locate=pre_locate) File "/usr/lib/python3/dist-packages/odoo/tools/template_inheritance.py", line 230, in apply_inheritance_specs _("Element '%s' cannot be located in parent view") % tag ValueError: 元素 '' 在母级视图中没有找到 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/odoo/http.py", line 624, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "/usr/lib/python3/dist-packages/odoo/http.py", line 310, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 14, in reraise raise value File "/usr/lib/python3/dist-packages/odoo/http.py", line 669, in dispatch result = self._call_function(**self.params) File "/usr/lib/python3/dist-packages/odoo/http.py", line 350, in _call_function return checked_call(self.db, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 94, in wrapper return f(dbname, *args, **kwargs) File "/usr/lib/python3/dist-packages/odoo/http.py", line 339, in checked_call result = self.endpoint(*a, **kw) File "/usr/lib/python3/dist-packages/odoo/http.py", line 915, in __call__ return self.method(*args, **kw) File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap response = f(*args, **kw) File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 1646, in load action = request.env[action_type].browse([action_id]).read() File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions.py", line 204, in read result = super(IrActionsActWindow, self).read(fields, load=load) File "/usr/lib/python3/dist-packages/odoo/models.py", line 2915, in read vals[name] = convert(record[name], record, use_name_get) File "/usr/lib/python3/dist-packages/odoo/models.py", line 5610, in __getitem__ return self._fields[key].__get__(self, type(self)) File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1020, in __get__ self.compute_value(recs) File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1105, in compute_value records._compute_field_value(self) File "/usr/lib/python3/dist-packages/odoo/models.py", line 3915, in _compute_field_value getattr(self, field.compute)() File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_actions.py", line 171, in _compute_search_view fvg = self.env[act.res_model].fields_view_get(act.search_view_id.id, 'search') File "/usr/lib/python3/dist-packages/odoo/addons/web/models/models.py", line 206, in fields_view_get r = super().fields_view_get(view_id, view_type, toolbar, submenu) File "/usr/lib/python3/dist-packages/odoo/models.py", line 1521, in fields_view_get result = self._fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu) File "/usr/lib/python3/dist-packages/odoo/models.py", line 1483, in _fields_view_get root_view = View.browse(view_id).read_combined(['id', 'name', 'field_parent', 'type', 'model', 'arch']) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 736, in read_combined arch = self.apply_view_inheritance(arch_tree, root.id, self.model) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 685, in apply_view_inheritance source = self.apply_inheritance_specs(source, specs_tree, view_id) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 664, in apply_inheritance_specs self.raise_view_error(str(e), inherit_id) File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 612, in raise_view_error raise ValueError(message) ValueError: 元素 '' 在母级视图中没有找到 错误的上下文: 视图 `inherited_hr_attendance_view_filter` [view_id: 2563, xml_id: oh_hr_zk_attendance.inherited_hr_attendance_view_filter, model: hr.attendance, parent_id: 1108]
Can you help me convert finger data from zk v9 to zk v10? Our finger data stored in old device with FP verseion 9 but my company was bought some new device with FP v10 only, and i can't input finger data into new device from old device, pls help me or any advice? Thanks all.
Re:
You must contact zk, I think
Buenas tardes, espero apoyo para el siguiente error. gracias por la ayuda
Cuando abro el menú de informes me arroja el siguiente error. Contexto del error: Vista `inherited_hr_attendance_view_filter` [view_id: 396, xml_id: hr_zk_attendance.inherited_hr_attendance_view_filter, model: hr.attendance, parent_id: 382] 2020-03-18 00:06:37,045 14824 ERROR alica_db odoo.http: Exception during JSON request handling. Traceback (most recent call last): File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 1049, in get value = self._data[key][field][record._ids[0]] KeyError: 130 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1005, in __get__ value = record.env.cache.get(record, self) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 1051, in get raise CacheMiss(record, field) odoo.exceptions.CacheMiss: ('ir.actions.act_window(130,).search_view', None) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 656, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 314, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 87, in reraise raise value File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 698, in dispatch result = self._call_function(**self.params) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 346, in _call_function return checked_call(self.db, *args, **kwargs) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\model.py", line 97, in wrapper return f(dbname, *args, **kwargs) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 339, in checked_call result = self.endpoint(*a, **kw) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 941, in __call__ return self.method(*args, **kw) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 519, in response_wrap response = f(*args, **kw) File "c:\program files (x86)\odoo 12.0\server\odoo\addons\web\controllers\main.py", line 1262, in load action = request.env[action_type].browse([action_id]).read() File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_actions.py", line 210, in read result = super(IrActionsActWindow, self).read(fields, load=load) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 2806, in read vals[name] = convert(record[name], record, use_name_get) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 5134, in __getitem__ return self._fields[key].__get__(self, type(self)) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1009, in __get__ self.determine_value(record) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1122, in determine_value self.compute_value(recs) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1076, in compute_value self._compute_value(records) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1067, in _compute_value getattr(records, self.compute)() File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_actions.py", line 170, in _compute_search_view fvg = self.env[act.res_model].fields_view_get(act.search_view_id.id, 'search') File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 1464, in fields_view_get result = self._fields_view_get(view_id=view_id, view_type=view_type, toolbar=toolbar, submenu=submenu) File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 1427, in _fields_view_get root_view = View.browse(view_id).read_combined(['id', 'name', 'field_parent', 'type', 'model', 'arch']) File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 800, in read_combined arch = self.apply_view_inheritance(arch_tree, root.id, self.model) File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 748, in apply_view_inheritance source = self.apply_inheritance_specs(source, specs_tree, view_id) File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 726, in apply_inheritance_specs self.raise_view_error(_("Element '%s' cannot be located in parent view") % tag, inherit_id) File "c:\program files (x86)\odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 554, in raise_view_error raise ValueError(message) ValueError: El elemento '' no puede ser localizado en la vista padre Contexto del error: Vista `inherited_hr_attendance_view_filter` [view_id: 396, xml_id: hr_zk_attendance.inherited_hr_attendance_view_filter, model: hr.attendance, parent_id: 382] 2020-03-18 00:06:37,053 14824 INFO alica_db werkzeug: 127.0.0.1 - - [18/Mar/2020 00:06:37] "POST /web/action/load HTTP/1.1" 200 - 33 0.030 0.017 2020-03-18 00:06:37,364 14824 INFO ? werkzeug: 127.0.0.1 - - [18/Mar/2020 00:06:37] "GET /web/static/src/xml/dialog.xml?debug=1584489997060 HTTP/1.1" 200 - - - -
is your module compatible for K1t804 model from Hikvision , if so please share a demo link so that we can test it
Odoo v15 Enterprise module
How to use this module with a password
Hey guys. We have test zk module which allows us to connect to the machine using a password. The line of code that does that looks like this:
How can we achieve the same using your module? Because I don't see where we can put a password parameter.
Your kind assistance would be greatly appreciated.
Thank you
Re: How to use this module with a password
Hi,Our biometric Integration modules (hr_zk_attendance, oh_hr_zk_attendance) do not need a password parameter to connect and fetch data from the device. That is why we are passing the value for the password parameter as 0 in the following LOC.
zk = ZK(machine_ip, port=zk_port, timeout=timeout, password=0, force_udp=False, ommit_ping=False)
Error while importing module while importing moduleror
Error while importing module 'hr_zk_attendance'. Module loading hr_zk_attendance failed: file /tmp/tmpj8_bj7g3/hr_zk_attendance/security/ir.model.access.csv could not be processed: No matching record found for external id 'model_zk_machine' in field 'Object' No matching record found for external id 'model_zk_machine_attendance' in field 'Object' No matching record found for external id 'model_zk_report_daily_attendance' in field 'Object' Missing required value for the field 'Object' (model_id) Missing required value for the field 'Object' (model_id) Missing required value for the field 'Object' (model_id) Make sure those modules are installed and try again.
Hi,
I would like to ask if we can use this app with port 4370 in odoo.sh ?
Looking forward to your reply!
Hi,
I would like to ask if we can use this app with port 4370 in odoo.sh ?
Looking forward to your reply!
this app for zk just or any fingerprint device?
Unfortunately, not working with ZKTECO F18
Convert finger data
Hi ALL, i have old device and run with mode finger version 9 but my company was bought some new device with finger v10 mode only. please help me convert data finger up to v10.