odoo-addon-stock-barcodes 15.0.3.1.5.2__py3-none-any.whl → 15.0.3.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/stock_barcodes/README.rst +1 -1
- odoo/addons/stock_barcodes/__manifest__.py +1 -1
- odoo/addons/stock_barcodes/hooks.py +15 -13
- odoo/addons/stock_barcodes/i18n/es.po +69 -133
- odoo/addons/stock_barcodes/i18n/stock_barcodes.pot +55 -2
- odoo/addons/stock_barcodes/models/__init__.py +1 -0
- odoo/addons/stock_barcodes/models/stock_barcodes_action.py +1 -1
- odoo/addons/stock_barcodes/models/stock_move.py +37 -0
- odoo/addons/stock_barcodes/models/stock_move_line.py +6 -12
- odoo/addons/stock_barcodes/models/stock_picking.py +9 -36
- odoo/addons/stock_barcodes/models/stock_picking_type.py +5 -6
- odoo/addons/stock_barcodes/static/description/index.html +8 -5
- odoo/addons/stock_barcodes/tests/test_stock_barcodes_picking.py +1 -0
- odoo/addons/stock_barcodes/wizard/stock_barcodes_read.py +14 -23
- odoo/addons/stock_barcodes/wizard/stock_barcodes_read_picking.py +230 -24
- odoo/addons/stock_barcodes/wizard/stock_barcodes_read_picking_views.xml +12 -1
- odoo/addons/stock_barcodes/wizard/stock_barcodes_read_todo.py +42 -105
- odoo/addons/stock_barcodes/wizard/stock_barcodes_read_todo_view.xml +45 -3
- odoo/addons/stock_barcodes/wizard/stock_barcodes_read_views.xml +0 -1
- {odoo_addon_stock_barcodes-15.0.3.1.5.2.dist-info → odoo_addon_stock_barcodes-15.0.3.2.0.dist-info}/METADATA +4 -4
- {odoo_addon_stock_barcodes-15.0.3.1.5.2.dist-info → odoo_addon_stock_barcodes-15.0.3.2.0.dist-info}/RECORD +23 -22
- {odoo_addon_stock_barcodes-15.0.3.1.5.2.dist-info → odoo_addon_stock_barcodes-15.0.3.2.0.dist-info}/WHEEL +1 -1
- {odoo_addon_stock_barcodes-15.0.3.1.5.2.dist-info → odoo_addon_stock_barcodes-15.0.3.2.0.dist-info}/top_level.txt +0 -0
@@ -7,7 +7,7 @@ Stock Barcodes
|
|
7
7
|
!! This file is generated by oca-gen-addon-readme !!
|
8
8
|
!! changes will be overwritten. !!
|
9
9
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
10
|
-
!! source digest: sha256:
|
10
|
+
!! source digest: sha256:aaf3270f55f43b616a2ceb165378f0909ba3cc1a3d0d36d21a65e4c04c06998f
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
12
12
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
@@ -3,7 +3,7 @@
|
|
3
3
|
{
|
4
4
|
"name": "Stock Barcodes",
|
5
5
|
"summary": "It provides read barcode on stock operations.",
|
6
|
-
"version": "15.0.3.
|
6
|
+
"version": "15.0.3.2.0",
|
7
7
|
"author": "Tecnativa, " "Odoo Community Association (OCA)",
|
8
8
|
"website": "https://github.com/OCA/stock-logistics-barcode",
|
9
9
|
"license": "AGPL-3",
|
@@ -1,18 +1,20 @@
|
|
1
1
|
# Copyright 2021 Tecnativa - Sergio Teruel
|
2
|
+
# Copyright 2024 Tecnativa - Carlos Dauden
|
2
3
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
3
|
-
from odoo import tools
|
4
4
|
|
5
5
|
|
6
6
|
def pre_init_hook(cr):
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
7
|
+
cr.execute(
|
8
|
+
"""
|
9
|
+
ALTER TABLE stock_move_line
|
10
|
+
ADD COLUMN IF NOT EXISTS barcode_scan_state VARCHAR DEFAULT 'pending';
|
11
|
+
ALTER TABLE stock_move_line ALTER COLUMN barcode_scan_state DROP DEFAULT;
|
12
|
+
"""
|
13
|
+
)
|
14
|
+
cr.execute(
|
15
|
+
"""
|
16
|
+
ALTER TABLE stock_move
|
17
|
+
ADD COLUMN IF NOT EXISTS barcode_backorder_action VARCHAR DEFAULT 'pending';
|
18
|
+
ALTER TABLE stock_move ALTER COLUMN barcode_backorder_action DROP DEFAULT;
|
19
|
+
"""
|
20
|
+
)
|
@@ -6,16 +6,16 @@ msgid ""
|
|
6
6
|
msgstr ""
|
7
7
|
"Project-Id-Version: Odoo Server 11.0\n"
|
8
8
|
"Report-Msgid-Bugs-To: \n"
|
9
|
-
"POT-Creation-Date:
|
10
|
-
"PO-Revision-Date:
|
11
|
-
"Last-Translator:
|
9
|
+
"POT-Creation-Date: 2024-07-19 08:31+0000\n"
|
10
|
+
"PO-Revision-Date: 2024-07-19 10:32+0200\n"
|
11
|
+
"Last-Translator: Sergio Teruel <sergio.teruel@tecnativa.com>\n"
|
12
12
|
"Language-Team: \n"
|
13
13
|
"Language: es\n"
|
14
14
|
"MIME-Version: 1.0\n"
|
15
15
|
"Content-Type: text/plain; charset=UTF-8\n"
|
16
16
|
"Content-Transfer-Encoding: 8bit\n"
|
17
17
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
18
|
-
"X-Generator:
|
18
|
+
"X-Generator: Poedit 3.0.1\n"
|
19
19
|
|
20
20
|
#. module: stock_barcodes
|
21
21
|
#: model:ir.model.fields,help:stock_barcodes.field_wiz_candidate_picking__state
|
@@ -152,11 +152,11 @@ msgstr "<i class=\"fa fa-trash-o\" title=\"Limpiar valores\"/>"
|
|
152
152
|
#. module: stock_barcodes
|
153
153
|
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_read_picking_form
|
154
154
|
msgid ""
|
155
|
-
"<i class=\"fa fa-upload\" title=\"Fill from pencil\" style=\"font-
|
156
|
-
"\"/>"
|
155
|
+
"<i class=\"fa fa-upload\" title=\"Fill from pencil\" style=\"font-"
|
156
|
+
"size:1.5em\"/>"
|
157
157
|
msgstr ""
|
158
|
-
"<i class=\"fa fa-upload\" title=\"Fill from pencil\" style=\"font-
|
159
|
-
"\"/>"
|
158
|
+
"<i class=\"fa fa-upload\" title=\"Fill from pencil\" style=\"font-"
|
159
|
+
"size:1.5em\"/>"
|
160
160
|
|
161
161
|
#. module: stock_barcodes
|
162
162
|
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_read_form
|
@@ -330,6 +330,11 @@ msgstr "Poner en paquete automáticamente antes de la validación del albarán"
|
|
330
330
|
msgid "Back"
|
331
331
|
msgstr "Atrás"
|
332
332
|
|
333
|
+
#. module: stock_barcodes
|
334
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_move__barcode_backorder_action
|
335
|
+
msgid "Backorder action"
|
336
|
+
msgstr "Acción entrega parcial"
|
337
|
+
|
333
338
|
#. module: stock_barcodes
|
334
339
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__barcode
|
335
340
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_inventory__barcode
|
@@ -515,6 +520,12 @@ msgstr "movimientos confirmados"
|
|
515
520
|
msgid "Context"
|
516
521
|
msgstr "Contexto"
|
517
522
|
|
523
|
+
#. module: stock_barcodes
|
524
|
+
#: model:ir.model.fields.selection,name:stock_barcodes.selection__stock_move__barcode_backorder_action__create_backorder
|
525
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
526
|
+
msgid "Create Backorder"
|
527
|
+
msgstr "Crear entrega parcial"
|
528
|
+
|
518
529
|
#. module: stock_barcodes
|
519
530
|
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_barcodes_option_group__create_lot
|
520
531
|
msgid "Create lots if not match"
|
@@ -578,6 +589,13 @@ msgstr "Registro del producto escaneado"
|
|
578
589
|
msgid "Customers"
|
579
590
|
msgstr "Clientes"
|
580
591
|
|
592
|
+
#. module: stock_barcodes
|
593
|
+
#: model:ir.model.fields,help:stock_barcodes.field_wiz_stock_barcodes_read__product_uom_id
|
594
|
+
#: model:ir.model.fields,help:stock_barcodes.field_wiz_stock_barcodes_read_inventory__product_uom_id
|
595
|
+
#: model:ir.model.fields,help:stock_barcodes.field_wiz_stock_barcodes_read_picking__product_uom_id
|
596
|
+
msgid "Default unit of measure used for all stock operations."
|
597
|
+
msgstr ""
|
598
|
+
|
581
599
|
#. module: stock_barcodes
|
582
600
|
#: model:ir.model.fields,help:stock_barcodes.field_stock_barcodes_option_group__manual_entry
|
583
601
|
msgid "Default value when open scan interface"
|
@@ -900,6 +918,12 @@ msgstr "Cantidad inventariada"
|
|
900
918
|
msgid "Inventory quants"
|
901
919
|
msgstr "Cantds de Inventario"
|
902
920
|
|
921
|
+
#. module: stock_barcodes
|
922
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_picking__todo_line_is_extra_line
|
923
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_todo__is_extra_line
|
924
|
+
msgid "Is Extra Line"
|
925
|
+
msgstr ""
|
926
|
+
|
903
927
|
#. module: stock_barcodes
|
904
928
|
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_barcodes_option_group__is_manual_confirm
|
905
929
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__is_manual_confirm
|
@@ -1159,6 +1183,11 @@ msgstr "Se ha encontrado más de un producto"
|
|
1159
1183
|
msgid "Move Line"
|
1160
1184
|
msgstr "Línea de Movimiento"
|
1161
1185
|
|
1186
|
+
#. module: stock_barcodes
|
1187
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1188
|
+
msgid "NOT AVAILABLE"
|
1189
|
+
msgstr ""
|
1190
|
+
|
1162
1191
|
#. module: stock_barcodes
|
1163
1192
|
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_barcodes_action__name
|
1164
1193
|
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_barcodes_option__name
|
@@ -1183,6 +1212,12 @@ msgstr "Nuevo movimiento:"
|
|
1183
1212
|
msgid "New Picking Barcode Option Group"
|
1184
1213
|
msgstr "Nuevo Grupo de Opciones de Código de Barras de Albarán"
|
1185
1214
|
|
1215
|
+
#. module: stock_barcodes
|
1216
|
+
#: model:ir.model.fields.selection,name:stock_barcodes.selection__stock_move__barcode_backorder_action__skip_backorder
|
1217
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1218
|
+
msgid "No Backorder"
|
1219
|
+
msgstr "No crear entrega parcial"
|
1220
|
+
|
1186
1221
|
#. module: stock_barcodes
|
1187
1222
|
#: model:ir.model.fields.selection,name:stock_barcodes.selection__wiz_stock_barcodes_read__message_type__not_found
|
1188
1223
|
#: model:ir.model.fields.selection,name:stock_barcodes.selection__wiz_stock_barcodes_read_inventory__message_type__not_found
|
@@ -1213,6 +1248,11 @@ msgstr "Notas"
|
|
1213
1248
|
msgid "OK"
|
1214
1249
|
msgstr "Aceptar"
|
1215
1250
|
|
1251
|
+
#. module: stock_barcodes
|
1252
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1253
|
+
msgid "Odoo will not create a backorder for this move. Are you sure?"
|
1254
|
+
msgstr "Odoo no creará una entrega parcial para este movimiento. ¿Está seguro?"
|
1255
|
+
|
1216
1256
|
#. module: stock_barcodes
|
1217
1257
|
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_read_picking_form
|
1218
1258
|
msgid "Open"
|
@@ -1306,6 +1346,7 @@ msgid "Partner"
|
|
1306
1346
|
msgstr "Empresa"
|
1307
1347
|
|
1308
1348
|
#. module: stock_barcodes
|
1349
|
+
#: model:ir.model.fields.selection,name:stock_barcodes.selection__stock_move__barcode_backorder_action__pending
|
1309
1350
|
#: model:ir.model.fields.selection,name:stock_barcodes.selection__stock_move_line__barcode_scan_state__pending
|
1310
1351
|
#: model:ir.model.fields.selection,name:stock_barcodes.selection__wiz_stock_barcodes_read_todo__state__pending
|
1311
1352
|
msgid "Pending"
|
@@ -1416,13 +1457,6 @@ msgstr "Cdad. de producto"
|
|
1416
1457
|
msgid "Product Qty. Done"
|
1417
1458
|
msgstr ""
|
1418
1459
|
|
1419
|
-
#. module: stock_barcodes
|
1420
|
-
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__product_uom_id
|
1421
|
-
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_inventory__product_uom_id
|
1422
|
-
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_picking__product_uom_id
|
1423
|
-
msgid "Product Uom"
|
1424
|
-
msgstr "Udm del Producto"
|
1425
|
-
|
1426
1460
|
#. module: stock_barcodes
|
1427
1461
|
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_read_picking_form
|
1428
1462
|
msgid "Put in pack"
|
@@ -1506,6 +1540,11 @@ msgstr "Modelo"
|
|
1506
1540
|
msgid "Reserved"
|
1507
1541
|
msgstr "Reservado"
|
1508
1542
|
|
1543
|
+
#. module: stock_barcodes
|
1544
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1545
|
+
msgid "Restore to pending"
|
1546
|
+
msgstr ""
|
1547
|
+
|
1509
1548
|
#. module: stock_barcodes
|
1510
1549
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__result_package_id
|
1511
1550
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_inventory__result_package_id
|
@@ -1655,6 +1694,7 @@ msgid "Steps to scan"
|
|
1655
1694
|
msgstr "Pasos a escanear"
|
1656
1695
|
|
1657
1696
|
#. module: stock_barcodes
|
1697
|
+
#: model:ir.model,name:stock_barcodes.model_stock_move
|
1658
1698
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_todo__stock_move_ids
|
1659
1699
|
msgid "Stock Move"
|
1660
1700
|
msgstr "Movimiento de Existencias"
|
@@ -1691,6 +1731,11 @@ msgstr ""
|
|
1691
1731
|
"botón \"Nuevo\" en un tipo de operación. Se utilizará para crear un albarán "
|
1692
1732
|
"no planificado."
|
1693
1733
|
|
1734
|
+
#. module: stock_barcodes
|
1735
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1736
|
+
msgid "This move will be set to pending. Are you sure?"
|
1737
|
+
msgstr ""
|
1738
|
+
|
1694
1739
|
#. module: stock_barcodes
|
1695
1740
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_picking__todo_line_ids
|
1696
1741
|
msgid "To Do Lines"
|
@@ -1734,6 +1779,13 @@ msgstr "Tipo de operación"
|
|
1734
1779
|
msgid "Type of operation"
|
1735
1780
|
msgstr "Tipo de operación"
|
1736
1781
|
|
1782
|
+
#. module: stock_barcodes
|
1783
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__product_uom_id
|
1784
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_inventory__product_uom_id
|
1785
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_picking__product_uom_id
|
1786
|
+
msgid "Unit of Measure"
|
1787
|
+
msgstr ""
|
1788
|
+
|
1737
1789
|
#. module: stock_barcodes
|
1738
1790
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_todo__uom_id
|
1739
1791
|
msgid "Uom"
|
@@ -1830,9 +1882,8 @@ msgstr "Asistente para leer códigos de barras desde el inventario"
|
|
1830
1882
|
|
1831
1883
|
#. module: stock_barcodes
|
1832
1884
|
#: model:ir.model,name:stock_barcodes.model_wiz_stock_barcodes_read_picking
|
1833
|
-
msgid "Wizard to read barcode on picking
|
1834
|
-
msgstr ""
|
1835
|
-
"Asistente para leer códigos de barras desde las agrupaciones de albaranes"
|
1885
|
+
msgid "Wizard to read barcode on picking"
|
1886
|
+
msgstr "Asistente para leer códigos de barras desde los albaranes"
|
1836
1887
|
|
1837
1888
|
#. module: stock_barcodes
|
1838
1889
|
#: model:ir.model,name:stock_barcodes.model_wiz_stock_barcodes_read_todo
|
@@ -1920,118 +1971,3 @@ msgstr "desbloquear el albarán"
|
|
1920
1971
|
#, python-format
|
1921
1972
|
msgid "{name} is required"
|
1922
1973
|
msgstr ""
|
1923
|
-
|
1924
|
-
#~ msgid "<span>Apply inventory</span>"
|
1925
|
-
#~ msgstr "<span>Aplicar inventario</span>"
|
1926
|
-
|
1927
|
-
#~ msgid "<span>Total Qty</span>"
|
1928
|
-
#~ msgstr "<span>Cdad. total</span>"
|
1929
|
-
|
1930
|
-
#~ msgid "<i class=\"fa fa-upload fa-2x\" title=\"Fill from pencil\"/>"
|
1931
|
-
#~ msgstr "<i class=\"fa fa-upload fa-2x\" title=\"Rellenar desde lápiz\"/>"
|
1932
|
-
|
1933
|
-
#~ msgid "Wizard to read barcode on picking"
|
1934
|
-
#~ msgstr "Asistente para leer códigos de barras desde los albaranes"
|
1935
|
-
|
1936
|
-
#~ msgid "List view of lines"
|
1937
|
-
#~ msgstr "Vista lista de líneas"
|
1938
|
-
|
1939
|
-
#, python-format
|
1940
|
-
#~ msgid "There is no lots to assign quantities"
|
1941
|
-
#~ msgstr "No hay lotes para asignar la cantidad"
|
1942
|
-
|
1943
|
-
#~ msgid "<span>New lot</span>"
|
1944
|
-
#~ msgstr "<span>Nuevo lote</span>"
|
1945
|
-
|
1946
|
-
#~ msgid "Barcode not found"
|
1947
|
-
#~ msgstr "Código de barras no encontrado"
|
1948
|
-
|
1949
|
-
#~ msgid "Barcode: %s (%s)"
|
1950
|
-
#~ msgstr "Cód. Barras: %s (%s)"
|
1951
|
-
|
1952
|
-
#~ msgid "Clean lot"
|
1953
|
-
#~ msgstr "Borrar lote"
|
1954
|
-
|
1955
|
-
#~ msgid "Companies"
|
1956
|
-
#~ msgstr "Compañías"
|
1957
|
-
|
1958
|
-
#~ msgid "Confirmed moves allowed"
|
1959
|
-
#~ msgstr "Permitir movimientos confirmados"
|
1960
|
-
|
1961
|
-
#~ msgid "Demand:"
|
1962
|
-
#~ msgstr "Demanda:"
|
1963
|
-
|
1964
|
-
#~ msgid "Done:"
|
1965
|
-
#~ msgstr "Hecho:"
|
1966
|
-
|
1967
|
-
#~ msgid "Get lots automatically for inventories"
|
1968
|
-
#~ msgstr "Obtener lotes automáticamente para inventarios"
|
1969
|
-
|
1970
|
-
#~ msgid ""
|
1971
|
-
#~ "If checked the lot will be set automatically with the same removal "
|
1972
|
-
#~ "strategy"
|
1973
|
-
#~ msgstr ""
|
1974
|
-
#~ "Si esta marcado el lote se establecerá automáticamente según la "
|
1975
|
-
#~ "estrategia de retirada"
|
1976
|
-
|
1977
|
-
#~ msgid ""
|
1978
|
-
#~ "If checked, after a product barcode is read, the quantities will be "
|
1979
|
-
#~ "distributed\n"
|
1980
|
-
#~ " among all existing lots by removal "
|
1981
|
-
#~ "strategy order."
|
1982
|
-
#~ msgstr ""
|
1983
|
-
#~ "Si está marcado, después de escanear un código de barras de producto, las "
|
1984
|
-
#~ "cantidades se distribuirán entre todos los lotes existentes por orden "
|
1985
|
-
#~ "según la estrategia de retirada"
|
1986
|
-
|
1987
|
-
#~ msgid ""
|
1988
|
-
#~ "If user input more quantities than existing it, the exceeded quantities "
|
1989
|
-
#~ "will be assigned to last lot"
|
1990
|
-
#~ msgstr ""
|
1991
|
-
#~ "Si el usuario introduce más cantidades de las existentes, las cantidades "
|
1992
|
-
#~ "sobrantes se asignarán al último lote"
|
1993
|
-
|
1994
|
-
#~ msgid "Manual entry data"
|
1995
|
-
#~ msgstr "Entrada manual de datos"
|
1996
|
-
|
1997
|
-
#~ msgid "New lot"
|
1998
|
-
#~ msgstr "Nuevo lote"
|
1999
|
-
|
2000
|
-
#~ msgid "OCA Stock Barcodes reader"
|
2001
|
-
#~ msgstr "Lector de códigos de barras (OCA)"
|
2002
|
-
|
2003
|
-
#~ msgid "Reserved:"
|
2004
|
-
#~ msgstr "Reservado:"
|
2005
|
-
|
2006
|
-
#~ msgid "Set a default value for scanner."
|
2007
|
-
#~ msgstr "Establece un valor por defecto para el lector."
|
2008
|
-
|
2009
|
-
#~ msgid "There are no stock moves to assign this operation"
|
2010
|
-
#~ msgstr "No hay movimientos de stock para realizar esta operación"
|
2011
|
-
|
2012
|
-
#~ msgid "Waiting for input lot"
|
2013
|
-
#~ msgstr "A la espera de leer lote"
|
2014
|
-
|
2015
|
-
#~ msgid "Procurement purchase grouping settings"
|
2016
|
-
#~ msgstr "Agrupación de la compra abastecida"
|
2017
|
-
|
2018
|
-
#, fuzzy
|
2019
|
-
#~| msgid "Picking"
|
2020
|
-
#~ msgid "Stock Picking"
|
2021
|
-
#~ msgstr "Albarán"
|
2022
|
-
|
2023
|
-
#~ msgid "The operation type determines the picking view"
|
2024
|
-
#~ msgstr "El tipo de albarán determina la vista de albarán"
|
2025
|
-
|
2026
|
-
#~ msgid "barcode"
|
2027
|
-
#~ msgstr "código de barras"
|
2028
|
-
|
2029
|
-
#~ msgid "This product has not prepare to receipt"
|
2030
|
-
#~ msgstr "Este producto no está listo para ser recibido"
|
2031
|
-
|
2032
|
-
#~ msgid "# Scan log"
|
2033
|
-
#~ msgstr "Lecturas"
|
2034
|
-
|
2035
|
-
#, fuzzy
|
2036
|
-
#~ msgid "Barcode read successfully"
|
2037
|
-
#~ msgstr "Leer más"
|
@@ -262,6 +262,11 @@ msgstr ""
|
|
262
262
|
msgid "Back"
|
263
263
|
msgstr ""
|
264
264
|
|
265
|
+
#. module: stock_barcodes
|
266
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_move__barcode_backorder_action
|
267
|
+
msgid "Backorder action"
|
268
|
+
msgstr ""
|
269
|
+
|
265
270
|
#. module: stock_barcodes
|
266
271
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__barcode
|
267
272
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_inventory__barcode
|
@@ -448,6 +453,12 @@ msgstr ""
|
|
448
453
|
msgid "Context"
|
449
454
|
msgstr ""
|
450
455
|
|
456
|
+
#. module: stock_barcodes
|
457
|
+
#: model:ir.model.fields.selection,name:stock_barcodes.selection__stock_move__barcode_backorder_action__create_backorder
|
458
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
459
|
+
msgid "Create Backorder"
|
460
|
+
msgstr ""
|
461
|
+
|
451
462
|
#. module: stock_barcodes
|
452
463
|
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_barcodes_option_group__create_lot
|
453
464
|
msgid "Create lots if not match"
|
@@ -636,6 +647,11 @@ msgstr ""
|
|
636
647
|
msgid "Forced"
|
637
648
|
msgstr ""
|
638
649
|
|
650
|
+
#. module: stock_barcodes
|
651
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_picking__forced_todo_key
|
652
|
+
msgid "Forced Todo Key"
|
653
|
+
msgstr ""
|
654
|
+
|
639
655
|
#. module: stock_barcodes
|
640
656
|
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_barcodes_option_group__auto_lot
|
641
657
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__auto_lot
|
@@ -825,6 +841,12 @@ msgstr ""
|
|
825
841
|
msgid "Inventory quants"
|
826
842
|
msgstr ""
|
827
843
|
|
844
|
+
#. module: stock_barcodes
|
845
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_picking__todo_line_is_extra_line
|
846
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_todo__is_extra_line
|
847
|
+
msgid "Is Extra Line"
|
848
|
+
msgstr ""
|
849
|
+
|
828
850
|
#. module: stock_barcodes
|
829
851
|
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_barcodes_option_group__is_manual_confirm
|
830
852
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__is_manual_confirm
|
@@ -846,6 +868,11 @@ msgstr ""
|
|
846
868
|
msgid "Is Pending"
|
847
869
|
msgstr ""
|
848
870
|
|
871
|
+
#. module: stock_barcodes
|
872
|
+
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_todo__is_stock_move_line_origin
|
873
|
+
msgid "Is Stock Move Line Origin"
|
874
|
+
msgstr ""
|
875
|
+
|
849
876
|
#. module: stock_barcodes
|
850
877
|
#: model:ir.model.fields,help:stock_barcodes.field_stock_barcodes_option_group__confirmed_moves
|
851
878
|
#: model:ir.model.fields,help:stock_barcodes.field_wiz_stock_barcodes_read__confirmed_moves
|
@@ -1081,6 +1108,11 @@ msgstr ""
|
|
1081
1108
|
msgid "Move Line"
|
1082
1109
|
msgstr ""
|
1083
1110
|
|
1111
|
+
#. module: stock_barcodes
|
1112
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1113
|
+
msgid "NOT AVAILABLE"
|
1114
|
+
msgstr ""
|
1115
|
+
|
1084
1116
|
#. module: stock_barcodes
|
1085
1117
|
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_barcodes_action__name
|
1086
1118
|
#: model:ir.model.fields,field_description:stock_barcodes.field_stock_barcodes_option__name
|
@@ -1105,6 +1137,12 @@ msgstr ""
|
|
1105
1137
|
msgid "New Picking Barcode Option Group"
|
1106
1138
|
msgstr ""
|
1107
1139
|
|
1140
|
+
#. module: stock_barcodes
|
1141
|
+
#: model:ir.model.fields.selection,name:stock_barcodes.selection__stock_move__barcode_backorder_action__skip_backorder
|
1142
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1143
|
+
msgid "No Backorder"
|
1144
|
+
msgstr ""
|
1145
|
+
|
1108
1146
|
#. module: stock_barcodes
|
1109
1147
|
#: model:ir.model.fields.selection,name:stock_barcodes.selection__wiz_stock_barcodes_read__message_type__not_found
|
1110
1148
|
#: model:ir.model.fields.selection,name:stock_barcodes.selection__wiz_stock_barcodes_read_inventory__message_type__not_found
|
@@ -1135,6 +1173,11 @@ msgstr ""
|
|
1135
1173
|
msgid "OK"
|
1136
1174
|
msgstr ""
|
1137
1175
|
|
1176
|
+
#. module: stock_barcodes
|
1177
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1178
|
+
msgid "Odoo will not create a backorder for this move. Are you sure?"
|
1179
|
+
msgstr ""
|
1180
|
+
|
1138
1181
|
#. module: stock_barcodes
|
1139
1182
|
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_read_picking_form
|
1140
1183
|
msgid "Open"
|
@@ -1228,6 +1271,7 @@ msgid "Partner"
|
|
1228
1271
|
msgstr ""
|
1229
1272
|
|
1230
1273
|
#. module: stock_barcodes
|
1274
|
+
#: model:ir.model.fields.selection,name:stock_barcodes.selection__stock_move__barcode_backorder_action__pending
|
1231
1275
|
#: model:ir.model.fields.selection,name:stock_barcodes.selection__stock_move_line__barcode_scan_state__pending
|
1232
1276
|
#: model:ir.model.fields.selection,name:stock_barcodes.selection__wiz_stock_barcodes_read_todo__state__pending
|
1233
1277
|
msgid "Pending"
|
@@ -1351,8 +1395,6 @@ msgid "Put in pack"
|
|
1351
1395
|
msgstr ""
|
1352
1396
|
|
1353
1397
|
#. module: stock_barcodes
|
1354
|
-
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__qty_available
|
1355
|
-
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_inventory__qty_available
|
1356
1398
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_picking__qty_available
|
1357
1399
|
msgid "Qty Available"
|
1358
1400
|
msgstr ""
|
@@ -1428,6 +1470,11 @@ msgstr ""
|
|
1428
1470
|
msgid "Reserved"
|
1429
1471
|
msgstr ""
|
1430
1472
|
|
1473
|
+
#. module: stock_barcodes
|
1474
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1475
|
+
msgid "Restore to pending"
|
1476
|
+
msgstr ""
|
1477
|
+
|
1431
1478
|
#. module: stock_barcodes
|
1432
1479
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read__result_package_id
|
1433
1480
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_inventory__result_package_id
|
@@ -1575,6 +1622,7 @@ msgid "Steps to scan"
|
|
1575
1622
|
msgstr ""
|
1576
1623
|
|
1577
1624
|
#. module: stock_barcodes
|
1625
|
+
#: model:ir.model,name:stock_barcodes.model_stock_move
|
1578
1626
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_todo__stock_move_ids
|
1579
1627
|
msgid "Stock Move"
|
1580
1628
|
msgstr ""
|
@@ -1608,6 +1656,11 @@ msgid ""
|
|
1608
1656
|
" an operation type. It will be used to create a non planned picking."
|
1609
1657
|
msgstr ""
|
1610
1658
|
|
1659
|
+
#. module: stock_barcodes
|
1660
|
+
#: model_terms:ir.ui.view,arch_db:stock_barcodes.view_stock_barcodes_todo_kanban
|
1661
|
+
msgid "This move will be set to pending. Are you sure?"
|
1662
|
+
msgstr ""
|
1663
|
+
|
1611
1664
|
#. module: stock_barcodes
|
1612
1665
|
#: model:ir.model.fields,field_description:stock_barcodes.field_wiz_stock_barcodes_read_picking__todo_line_ids
|
1613
1666
|
msgid "To Do Lines"
|
@@ -43,7 +43,7 @@ class StockBarcodesAction(models.Model):
|
|
43
43
|
}
|
44
44
|
if option_group.get_option_value("location_id", "filled_default"):
|
45
45
|
vals["location_id"] = (
|
46
|
-
self.env["stock.warehouse"].search([])
|
46
|
+
self.env["stock.warehouse"].search([], limit=1).lot_stock_id.id
|
47
47
|
)
|
48
48
|
wiz = self.env["wiz.stock.barcodes.read.inventory"].create(vals)
|
49
49
|
action = self.env["ir.actions.actions"]._for_xml_id(
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# Copyright 2024 Tecnativa - Sergio Teruel
|
2
|
+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).
|
3
|
+
|
4
|
+
from odoo import fields, models
|
5
|
+
|
6
|
+
|
7
|
+
class StockMove(models.Model):
|
8
|
+
_inherit = "stock.move"
|
9
|
+
|
10
|
+
barcode_backorder_action = fields.Selection(
|
11
|
+
[
|
12
|
+
("pending", "Pending"),
|
13
|
+
("create_backorder", "Create Backorder"),
|
14
|
+
("skip_backorder", "No Backorder"),
|
15
|
+
],
|
16
|
+
string="Backorder action",
|
17
|
+
default="pending",
|
18
|
+
)
|
19
|
+
|
20
|
+
def _action_done(self, cancel_backorder=False):
|
21
|
+
moves_cancel_backorder = self.browse()
|
22
|
+
if not cancel_backorder:
|
23
|
+
moves_cancel_backorder = self.filtered(
|
24
|
+
lambda sm: sm.barcode_backorder_action == "skip_backorder"
|
25
|
+
)
|
26
|
+
super(StockMove, moves_cancel_backorder)._action_done(cancel_backorder=True)
|
27
|
+
moves_backorder = self - moves_cancel_backorder
|
28
|
+
moves_backorder.barcode_backorder_action = "pending"
|
29
|
+
return super(StockMove, moves_backorder)._action_done(
|
30
|
+
cancel_backorder=cancel_backorder
|
31
|
+
)
|
32
|
+
|
33
|
+
def copy_data(self, default=None):
|
34
|
+
vals_list = super().copy_data(default=default)
|
35
|
+
for vals in vals_list:
|
36
|
+
vals.pop("barcode_backorder_action", None)
|
37
|
+
return vals_list
|
@@ -28,19 +28,13 @@ class StockMoveLine(models.Model):
|
|
28
28
|
|
29
29
|
def action_barcode_detailed_operation_unlink(self):
|
30
30
|
for sml in self:
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
sml.unlink()
|
31
|
+
stock_move = sml.move_id
|
32
|
+
stock_move.barcode_backorder_action = "pending"
|
33
|
+
sml.unlink()
|
35
34
|
# HACK: To force refresh wizard values
|
36
35
|
wiz_barcode = self.env["wiz.stock.barcodes.read.picking"].browse(
|
37
36
|
self.env.context.get("wiz_barcode_id", False)
|
38
37
|
)
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
wiz_barcode.fill_todo_records()
|
43
|
-
wiz_barcode.determine_todo_action()
|
44
|
-
else:
|
45
|
-
wiz_barcode.fill_todo_records()
|
46
|
-
wiz_barcode.todo_line_id.line_ids = wiz_barcode.todo_line_id.line_ids
|
38
|
+
stock_move._action_assign()
|
39
|
+
wiz_barcode.fill_todo_records()
|
40
|
+
wiz_barcode.determine_todo_action()
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# Copyright 2019 Sergio Teruel <sergio.teruel@tecnativa.com>
|
2
2
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
3
3
|
from odoo import models
|
4
|
-
from odoo.tools.float_utils import float_compare
|
5
4
|
|
6
5
|
|
7
6
|
class StockPicking(models.Model):
|
@@ -19,7 +18,7 @@ class StockPicking(models.Model):
|
|
19
18
|
}
|
20
19
|
if self.picking_type_id.code == "outgoing":
|
21
20
|
vals["location_dest_id"] = self.location_dest_id.id
|
22
|
-
|
21
|
+
elif self.picking_type_id.code == "incoming":
|
23
22
|
vals["location_id"] = self.location_id.id
|
24
23
|
|
25
24
|
if option_group.get_option_value("location_id", "filled_default"):
|
@@ -33,8 +32,8 @@ class StockPicking(models.Model):
|
|
33
32
|
wiz = self.env["wiz.stock.barcodes.read.picking"].create(
|
34
33
|
self._prepare_barcode_wiz_vals(option_group)
|
35
34
|
)
|
36
|
-
wiz.determine_todo_action()
|
37
35
|
wiz.fill_pending_moves()
|
36
|
+
wiz.determine_todo_action()
|
38
37
|
action = self.env["ir.actions.actions"]._for_xml_id(
|
39
38
|
"stock_barcodes.action_stock_barcodes_read_picking"
|
40
39
|
)
|
@@ -42,41 +41,15 @@ class StockPicking(models.Model):
|
|
42
41
|
return action
|
43
42
|
|
44
43
|
def button_validate(self):
|
45
|
-
|
46
|
-
|
47
|
-
and not
|
48
|
-
)
|
49
|
-
|
50
|
-
|
51
|
-
# Variable initialized as True to optimize break loop
|
52
|
-
skip_backorder = True
|
44
|
+
put_in_pack_picks = self.filtered(
|
45
|
+
lambda p: p.picking_type_id.barcode_option_group_id.auto_put_in_pack
|
46
|
+
and not p.move_line_ids.result_package_id
|
47
|
+
)
|
48
|
+
if put_in_pack_picks:
|
49
|
+
put_in_pack_picks.action_put_in_pack()
|
53
50
|
if self.env.context.get("stock_barcodes_validate_picking", False):
|
54
|
-
# Avoid backorder when all move lines are processed (done or done_forced)
|
55
|
-
prec = self.env["decimal.precision"].precision_get(
|
56
|
-
"Product Unit of Measure"
|
57
|
-
)
|
58
|
-
for move in self.move_lines.filtered(lambda sm: sm.state != "cancel"):
|
59
|
-
if (
|
60
|
-
float_compare(
|
61
|
-
move.quantity_done, move.product_uom_qty, precision_digits=prec
|
62
|
-
)
|
63
|
-
< 0
|
64
|
-
):
|
65
|
-
# In normal conditions backorder will be created
|
66
|
-
create_backorder = True
|
67
|
-
if not move.move_line_ids or any(
|
68
|
-
sml.barcode_scan_state in ["pending"]
|
69
|
-
for sml in move.move_line_ids
|
70
|
-
):
|
71
|
-
# If any move are not processed we can not skip backorder
|
72
|
-
skip_backorder = False
|
73
|
-
break
|
74
|
-
if create_backorder and skip_backorder:
|
75
51
|
res = super(
|
76
|
-
StockPicking,
|
77
|
-
self.with_context(
|
78
|
-
picking_ids_not_to_backorder=self.ids, skip_backorder=True
|
79
|
-
),
|
52
|
+
StockPicking, self.with_context(skip_backorder=True)
|
80
53
|
).button_validate()
|
81
54
|
else:
|
82
55
|
res = super().button_validate()
|