Skip to content

Commit 0558e6d

Browse files
committed
Merge PR #610 into 16.0
Signed-off-by pedrobaeza
2 parents 2d5de36 + 5bd648f commit 0558e6d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+14305
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../../stock_barcodes

setup/stock_barcodes/setup.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import setuptools
2+
3+
setuptools.setup(
4+
setup_requires=['setuptools-odoo'],
5+
odoo_addon=True,
6+
)

stock_barcodes/README.rst

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,214 @@
1+
==============
2+
Stock Barcodes
3+
==============
4+
5+
..
6+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7+
!! This file is generated by oca-gen-addon-readme !!
8+
!! changes will be overwritten. !!
9+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10+
!! source digest: sha256:f6453112d1afcb3f171e5f468a06e4927c98ed93493c10c8af4e4aef077de7fd
11+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12+
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Beta
16+
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
17+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
18+
:alt: License: AGPL-3
19+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--barcode-lightgray.png?logo=github
20+
:target: https://github.com/OCA/stock-logistics-barcode/tree/16.0/stock_barcodes
21+
:alt: OCA/stock-logistics-barcode
22+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
23+
:target: https://translation.odoo-community.org/projects/stock-logistics-barcode-16-0/stock-logistics-barcode-16-0-stock_barcodes
24+
:alt: Translate me on Weblate
25+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
26+
:target: https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-barcode&target_branch=16.0
27+
:alt: Try me on Runboat
28+
29+
|badge1| |badge2| |badge3| |badge4| |badge5|
30+
31+
This module provides a barcode reader interface for stock module.
32+
33+
This module contains a base wizard read barcode that can be extended by
34+
other modules.
35+
36+
This module also makes use of this wizard for providing barcode support for
37+
doing inventories and picking operations.
38+
39+
**Table of contents**
40+
41+
.. contents::
42+
:local:
43+
44+
Usage
45+
=====
46+
47+
Barcode interface for inventory operations
48+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
49+
50+
To use the barcode interface on inventory:
51+
52+
#. Go to *Inventory > operations > Inventory Adjustments*.
53+
#. Create new inventory with "Select products manually" option.
54+
#. Start inventory.
55+
#. Click to "Scan barcodes" smart button.
56+
#. Start reading barcodes.
57+
58+
Barcode interface for picking operations
59+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
60+
You can use the barcode interface in a picking or an operation type, the main
61+
difference is that if you open the barcode interface from a picking, this
62+
picking is locked and you read products for it.
63+
64+
To use the barcode interface on picking operations:
65+
66+
#. Go to *Inventory*.
67+
#. Click on scanner button on any operation type.
68+
#. Start reading barcodes.
69+
70+
To use the barcode interface on a picking:
71+
72+
#. Go to *Inventory > Transfers*.
73+
#. Click to "Scan barcodes" smart button.
74+
#. Start reading barcodes.
75+
76+
The barcode scanner interface has two operation modes. In both of them user
77+
can scan:
78+
79+
#. Warehouse locations with barcode.
80+
#. Product packaging with barcode.
81+
#. Product with barcode.
82+
#. Product Lots (The barcode is name field in this case).
83+
84+
85+
Automatic operation mode
86+
~~~~~~~~~~~~~~~~~~~~~~~~
87+
88+
This is the default mode, all screen controls are locked to avoid scan into
89+
fields.
90+
91+
The user only has to scan barcode in physical warehouse locations with a
92+
scanner hardward, the interface read the barcode and do operations in this
93+
order:
94+
95+
#. Try search a product, if found, is assigned to product_id field and creates
96+
or update inventory line with 1.0 unit. (If product has tracking by lots
97+
the interface wait for a lot to be scanned).
98+
#. Try search a product packaging, if found, the product_id related is set,
99+
product quantities are updated and create or update inventory line with
100+
product quantities defined in the product packaging.
101+
#. Try search a lot (The product is mandatory in this case so you first scan a
102+
product and then scann a lot), this lot field is not erased until that
103+
product change, so for each product scann the interface add or update a
104+
inventory line with this lot.
105+
#. Try to search a location, if found the field location is set and next scan
106+
action will be done with this warehouse location.
107+
108+
If barcode has not found, when message is displayed you can create this lot
109+
scanning the product.
110+
111+
Manual entry mode
112+
~~~~~~~~~~~~~~~~~
113+
114+
You can change to "manual entry" to allow to select data without scanner
115+
hardware, but hardward scanner still active on, so a use case would be when
116+
user wants set quantities manually instead increment 1.0 unit peer scan action.
117+
118+
Scan logs
119+
~~~~~~~~~
120+
121+
All scanned barcodes are saved into model.
122+
Barcode scanning interface display 10 last records linked to model, the goal of
123+
this log is show to user other reads with the same product and location done
124+
by other users.
125+
User can remove the last read scan.
126+
127+
Known issues / Roadmap
128+
======================
129+
130+
* Excute action_done() method outside onchange environment.
131+
* Allow create product when a barcode has not been found.
132+
* Allow to select picking reading its barcode.
133+
* Allow to select multiple pickings to process scanned products.
134+
135+
Changelog
136+
=========
137+
138+
11.0.1.1.0 (2019-09-24)
139+
~~~~~~~~~~~~~~~~~~~~~~~
140+
141+
* [ADD] New feature.
142+
User can uses barcode interface in picking operations.
143+
144+
13.0.1.1.1 (2021-02-06)
145+
~~~~~~~~~~~~~~~~~~~~~~~
146+
147+
* [ADD] New feature.
148+
Add option to get lots automatically based on removal strategy in inventory.
149+
150+
14.0.1.0.0 (2021-04-05)
151+
~~~~~~~~~~~~~~~~~~~~~~~
152+
153+
* [ADD] New feature.
154+
Add security for users.
155+
156+
Bug Tracker
157+
===========
158+
159+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-barcode/issues>`_.
160+
In case of trouble, please check there if your issue has already been reported.
161+
If you spotted it first, help us to smash it by providing a detailed and welcomed
162+
`feedback <https://github.com/OCA/stock-logistics-barcode/issues/new?body=module:%20stock_barcodes%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
163+
164+
Do not contact contributors directly about support or help with technical issues.
165+
166+
Credits
167+
=======
168+
169+
Authors
170+
~~~~~~~
171+
172+
* Tecnativa
173+
174+
Contributors
175+
~~~~~~~~~~~~
176+
177+
178+
* `Tecnativa <https://www.tecnativa.com>`_:
179+
180+
* Sergio Teruel
181+
* Carlos Dauden
182+
* Pedro M. Baeza
183+
* Alexandre D. Díaz
184+
185+
* `Onestein <https://www.onestein.eu>`_:
186+
187+
* Andrea Stirpe
188+
189+
* `InitOS <https://www.initos.com>`_:
190+
191+
* Foram Shah
192+
193+
* `ForgeFlow <https://www.forgeflow.com>`_:
194+
195+
* Lois Rilo
196+
197+
* Enric Tobella
198+
199+
Maintainers
200+
~~~~~~~~~~~
201+
202+
This module is maintained by the OCA.
203+
204+
.. image:: https://odoo-community.org/logo.png
205+
:alt: Odoo Community Association
206+
:target: https://odoo-community.org
207+
208+
OCA, or the Odoo Community Association, is a nonprofit organization whose
209+
mission is to support the collaborative development of Odoo features and
210+
promote its widespread use.
211+
212+
This module is part of the `OCA/stock-logistics-barcode <https://github.com/OCA/stock-logistics-barcode/tree/16.0/stock_barcodes>`_ project on GitHub.
213+
214+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

stock_barcodes/__init__.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Copyright 2019 Sergio Teruel <[email protected]>
2+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
3+
4+
from . import models
5+
from . import wizard
6+
from .hooks import pre_init_hook

stock_barcodes/__manifest__.py

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Copyright 2019 Sergio Teruel <[email protected]>
2+
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
3+
{
4+
"name": "Stock Barcodes",
5+
"summary": "It provides read barcode on stock operations.",
6+
"version": "16.0.1.0.0",
7+
"author": "Tecnativa, " "Odoo Community Association (OCA)",
8+
"website": "https://github.com/OCA/stock-logistics-barcode",
9+
"license": "AGPL-3",
10+
"category": "Extra Tools",
11+
"depends": ["barcodes", "stock", "web_widget_numeric_step"],
12+
"data": [
13+
"security/ir.model.access.csv",
14+
"views/stock_barcodes_action_view.xml",
15+
"views/stock_barcodes_option_view.xml",
16+
"views/stock_location_views.xml",
17+
"views/stock_picking_views.xml",
18+
"wizard/stock_production_lot_views.xml",
19+
"wizard/stock_barcodes_read_views.xml",
20+
"wizard/stock_barcodes_read_picking_views.xml",
21+
"wizard/stock_barcodes_read_todo_view.xml",
22+
"wizard/stock_barcodes_read_inventory_views.xml",
23+
# Keep order
24+
"data/stock_barcodes_action.xml",
25+
"data/stock_barcodes_option.xml",
26+
"views/stock_barcodes_menu.xml",
27+
],
28+
"assets": {
29+
"web.assets_backend": [
30+
"/stock_barcodes/static/src/**/*.esm.js",
31+
(
32+
"after",
33+
"/web_widget_numeric_step/static/src/numeric_step.xml",
34+
"/stock_barcodes/static/src/widgets/numeric_step.xml",
35+
),
36+
"/stock_barcodes/static/src/widgets/view_button.xml",
37+
"/stock_barcodes/static/src/css/stock.scss",
38+
],
39+
},
40+
"installable": True,
41+
"pre_init_hook": "pre_init_hook",
42+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo noupdate="1">
3+
4+
<record id="stock_barcodes_action_picking_in" model="stock.barcodes.action">
5+
<field name="name">Picking IN</field>
6+
<field name="sequence">10</field>
7+
<field name="action_window_id" ref="stock.stock_picking_type_action" />
8+
<field name="key_char_shortcut">1</field>
9+
<field
10+
name="context"
11+
>{'search_default_code': 'incoming', 'search_default_barcode_options': 1}</field>
12+
</record>
13+
<record id="stock_barcodes_action_picking_int" model="stock.barcodes.action">
14+
<field name="name">Picking INTERNAL</field>
15+
<field name="sequence">30</field>
16+
<field name="action_window_id" ref="stock.stock_picking_type_action" />
17+
<field name="key_char_shortcut">3</field>
18+
<field
19+
name="context"
20+
>{'search_default_code': 'internal', 'search_default_barcode_options': 1}</field>
21+
</record>
22+
<record id="stock_barcodes_action_picking_out" model="stock.barcodes.action">
23+
<field name="name">Picking OUT</field>
24+
<field name="sequence">20</field>
25+
<field name="action_window_id" ref="stock.stock_picking_type_action" />
26+
<field name="key_char_shortcut">2</field>
27+
<field
28+
name="context"
29+
>{'search_default_code': 'outgoing', 'search_default_barcode_options': 1}</field>
30+
</record>
31+
<!-- Action for inventory based on quants -->
32+
<record id="stock_barcodes_action_inventory" model="stock.barcodes.action">
33+
<field name="name">Inventory</field>
34+
<field name="sequence">40</field>
35+
<field
36+
name="action_window_id"
37+
ref="stock_barcodes.action_stock_barcodes_read_inventory"
38+
/>
39+
<field name="key_char_shortcut">8</field>
40+
<field name="context">{'inventory_mode': True}</field>
41+
</record>
42+
</odoo>

0 commit comments

Comments
 (0)