Search any item by it barcode
Project description
This module expends Odoo functionality, allowing user to search any item by its barcode.
Table of contents
Usage
In the main menu click on the barcode new button
In the pop up form, enter the barcode and click on the search button
Case 1: One item found
If an item is found, the pop up is closed, and the form view of the item is displayed. (Demo data with 0419100000009 to search a partner)
Case 2: Many items found
If many items are found, the list of the items are displayed and the user can go on the according form view by clicking on the button on the end of the line. This case can occur:
in a normal case, if a barcode is associated to many models. Two typical cases are : product.product / product.template and res.users / res.partner. (Demo data with 3057068106783 to search a product)
if the database is corrupted, and a barcode is set to many differents items.
Case 3: Barcode with specific rule
In some specifics cases when the barcode contains extra data (like price or weight), the barcode will be different than the product barcode. In that case, the item is displayed, and the data is analysed.
Exemple : Barcode 2391000005002 when:
23 is a prefix
91000 is a base code of the product
00500 is the price
2 is a control digit
If this barcode is entered, the product with the barcode 2391000000007 will be returned.
Development
Use in other modules
The search will be done on all the fields named barcode in any models.
For developers, there are one handy method in barcode.search as well:
result = self.env['barcode.search'].search_by_barcode('12345567890123')
@api.model
def search_by_barcode(self, barcode):
"""Return the record associated with the barcode.
Args:
barcode (str): Barcode string to search for.
Returns: a tuple (Field, BaseModel, ExtraData)
Field: a record of the field that matched the search
BaseModel: A record matching the barcode, if existing
ExtraData: An optional dictionnary that provides extra informations
"""
Inheritance
If you want to make a search on a field that is not named ‘barcode’, you should overload the function get_barcode_fields of the model barcode.search.
If you want to implement another integration of extra data in a barcode via a rule, you should overload the function get_model_by_rule_type of the model barcode.search.
For the time being, three rule types are handled:
weight, defined in Odoo stock module
price, defined in Odoo point_of_sale module
price_to_weight, defined in OCA pos_price_to weight module
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
Sylvain LE GAL <https://twitter.com/legalsylvain>
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/stock-logistics-barcode project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file odoo10_addon_barcodes_search-10.0.1.0.2-py2-none-any.whl
.
File metadata
- Download URL: odoo10_addon_barcodes_search-10.0.1.0.2-py2-none-any.whl
- Upload date:
- Size: 86.0 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/30.4.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.5.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50d7fc7b46297bd28c651940ce43ccc776a997176b6035d06255379b7b56ca89 |
|
MD5 | c0da88d30f5822953938d53d368b9c3a |
|
BLAKE2b-256 | 0416dd68249e7f451029c2a58c7813e5edb50b72adb4047025329357990bce73 |