Commit Graph

922 Commits

Author SHA1 Message Date
Guewen Baconnier
e83ea033c2 Ask to scan a tray type when no storage type is configured
The use cases we want to cover are:

1. Putaway for a package/good without storage type
2. Putaway for a package with a storage type configured to be
   stored in a tray (associated with a tray type)
3. Putaway for a package with a storage type NOT configured on a tray
   type

The case 1. is implement in "stock_vertical_lift", the 2. was already
implement in this module, this commit implements the case 3.

A typical flow is:

* We configure a generic Kardex Box storage type, not associated with
  any tray type, that is set on the package at reception (the reception
  person doesn't know the tray type at this point). this Kardex Box
  storage type is set on the Vertical Lift view (above the shuttles).
* On the putaway transfer, as per the configuration above, the putaway
  changes the destination location to the Vertical Lift view.
* When we scan the package in the shuttle's screen, as we have a storage
  type which is not configured on any locations in the shuttle
  (reminder, if we had, it would select the tray automatically), the
  user is asked to scan a tray type of the correct size.
2021-09-20 22:33:46 +07:00
Guewen Baconnier
48f3d60102 Add stock_vertical_lift_storage_type
Compatibility module between stock_vertical_lift and stock_storage_type
(in OCA/wms).

In the vertical lift's Putaway screen, when a good is scanned for a putaway, the
user has to scan the tray type of the corresponding size, so an empty place in a
matching tray is found. When we use storage types, we should know what tray is
compatible with the storage type.

Changes with this module:

* The storage types of trays cannot be selected in the locations form, they have
  to be set in the Tray types.
* In the lift put-away screen, when a package has a storage type, the user isn't
  asked to scan a tray type, instead, the putaway of the Package Storage Type is
  applied.
2021-09-20 22:33:46 +07:00
OCA-git-bot
1f6996e3fd [ADD] setup.py 2021-09-20 10:40:26 +00:00
OCA-git-bot
f6dec699d8 [UPD] addons table in README.md 2021-09-20 10:40:21 +00:00
oca-travis
af756ae6b3 [UPD] Update stock_vertical_lift_kardex.pot 2021-09-20 09:50:23 +00:00
OCA-git-bot
1f21f4f576 Merge PR #1091 into 14.0
Signed-off-by simahawk
2021-09-20 09:35:41 +00:00
OCA-git-bot
2fccc754b1 [ADD] setup.py 2021-09-20 07:45:37 +00:00
OCA-git-bot
9cb85aa977 [UPD] README.rst 2021-09-20 07:45:36 +00:00
OCA-git-bot
ffdd6bc379 [UPD] addons table in README.md 2021-09-20 07:45:32 +00:00
dzung.tran
c1f9ed9089 [MIG] stock_vertical_lift_kardex: Migration to 14.0 2021-09-20 14:41:58 +07:00
dzung.tran
99ce38378b [IMP] stock_vertical_lift_kardex: black, isort, prettier 2021-09-20 14:41:58 +07:00
OCA-git-bot
ca934f0907 [ADD] icon.png 2021-09-20 14:41:58 +07:00
OCA-git-bot
949c1b2fa5 [UPD] README.rst 2021-09-20 14:41:58 +07:00
oca-travis
ae5d7087e5 [UPD] Update stock_vertical_lift_kardex.pot 2021-09-20 14:41:58 +07:00
Guewen Baconnier
b76cabdc87 Add release (close) of vertical lift trays
* Rename methods that fetch a tray to prevent confusion
* Add methods to release a tray
* The Kardex method to fetch a tray has to send "0" in the carrier and
  carrierNext field
* The pick and inventory screens release the tray only when there is no next
  line, because the release is implicit when we fetch the next line,
  the put screen releases everytime because the operator may take time
  to start the next line and we don't know if they are going to scan a
  next line or not.
* Exiting the screen or switching screen between put/pick/put-away has
  to release the tray as well.
2021-09-20 14:41:58 +07:00
Guewen Baconnier
2592d97823 Rework workflows using a small state machine
The documentation of the state machine is in
VerticalLiftOperationBase._transitions.
2021-09-20 14:41:57 +07:00
Alexandre Fayolle
15d21a1b19 [FIX] laser position are integers 2021-09-20 14:41:57 +07:00
Alexandre Fayolle
2f1233023c [IMP] raise exceptions when config NOK
we need a level to fetch a tray
we need the tray dimensions to point a cell
2021-09-20 14:41:57 +07:00
Alexandre Fayolle
af0e12231b [FIX] laser pointer command
The parameter was not passed in the method chain, loosing track
of the cell to which the laser pointer should be pointed at.
2021-09-20 14:41:57 +07:00
Alexandre Fayolle
aabb7a120d stock_vertical_lift_kardex: add missing dependency
we use the `level` field to materialize the tablar index -> this
field is provided by `stock_location_position`
2021-09-20 14:41:57 +07:00
Alexandre Fayolle
6fc160d25f [IMP] Fix naming of the shuttle address
we hardcode the ID of the gate for now, hence we support
only a single gate.
2021-09-20 14:41:57 +07:00
Guewen Baconnier
355d19f7a6 Add +x on kardex-proxy.py script 2021-09-20 14:41:57 +07:00
Guewen Baconnier
004eaef296 [MIG] stock_vertical_lift{,_kardex}: Migration to 13.0 2021-09-20 14:41:57 +07:00
Guewen Baconnier
f27c4d0de5 [IMP] stock_vertical_lift: black, isort 2021-09-20 14:41:57 +07:00
Alexandre Fayolle
ebcd872bb9 [IMP] add a proxy to communicate with the kardex server 2021-09-20 14:41:57 +07:00
Alexandre Fayolle
18c6aa1dd3 [IMP] abstract communication with shuttle 2021-09-20 14:41:57 +07:00
Guewen Baconnier
24d41819d3 Add method on location to fetch a tray
* Add vertical_lift_shuttle_id field on stock.location, help to find the
shuttle for a location
* Add StockLocation.fetch_vertical_lift_tray(), that needs to be
implemented in addons to send commands to the hardward to fetch a tray,
and if existing show a cell (laser pointer, ...)
* Add helpers on stock.move.line fetch_vertical_lift_tray_source() and
fetch_vertical_lift_tray_dest() that fetch the tray directly from a move
line's source or destination location
2021-09-20 14:41:57 +07:00
Guewen Baconnier
cbd73acaee Add stock_vertical_lift module 2021-09-20 14:41:57 +07:00
oca-travis
c612977318 [UPD] Update stock_location_bin_name.pot 2021-09-20 07:28:40 +00:00
OCA-git-bot
d14f43ce78 Merge PR #1078 into 14.0
Signed-off-by simahawk
2021-09-20 07:23:21 +00:00
Rémi
ca18db54c3 Translated using Weblate (French)
Currently translated at 100.0% (31 of 31 strings)

Translation: stock-logistics-warehouse-14.0/stock-logistics-warehouse-14.0-stock_quant_manual_assign
Translate-URL: https://translation.odoo-community.org/projects/stock-logistics-warehouse-14-0/stock-logistics-warehouse-14-0-stock_quant_manual_assign/fr/
2021-09-18 13:34:07 +00:00
Tran Thanh Phuc
3b67822977 [MIG] stock_location_bin_name: Migration to 14.0 2021-09-18 04:47:41 +07:00
OCA-git-bot
4ad0ba0a94 [ADD] setup.py 2021-09-17 14:05:52 +00:00
OCA-git-bot
51c7c48316 [UPD] addons table in README.md 2021-09-17 14:05:46 +00:00
oca-travis
261fac2c87 [UPD] Update stock_vertical_lift.pot 2021-09-17 13:25:12 +00:00
OCA-git-bot
5c6d61e973 Merge PR #1090 into 14.0
Signed-off-by simahawk
2021-09-17 12:58:20 +00:00
dzung.tran
80d93bffbc [MIG] stock_vertical_lift: Migration to 14.0 2021-09-17 07:47:34 +07:00
dzung.tran
6938b2e269 [IMP] stock_vertical_lift: black, isort, prettier 2021-09-16 20:17:34 +07:00
Carlos Serra-Toro
f092b86092 [FIX] stock_vertical_lift: skip button is only for pick operation
The button to skip an operation is only implemented for the pick
operation (not for the put or for the inventory ones) but it was
shown in the screens for all the operations, yielding to a stack
trace when it was pressed from the wrong operationg. The button
has been moved now to the screen for the pick operation, only.
2021-09-16 20:17:34 +07:00
Carlos Serra-Toro
e1e417b5f7 [IMP] stock_vertical_lift: Add skip operation to vertical lift shuttles
In the screen for the vertical lift shuttles, accessible through
Inventory > Operations > Vertical Lift Shuttles, a new button has been
added to allow to skip an operation. This button can also be triggered
by scanning the barcode O-BTN.skip.svg that is inside the folder
'images'.

When a skip is done, the next stock.move.line to pick is chosen and
shown to the operator. A skipped move line is added to the end of the
list of pending move lines to be picked, so they will be shown again
in the future as soon as the other move lines have been successfully
processed.

This option was added because, sometimes, the operator can not process
a move line for whatever reason. Right now, the only way of proceeding
is to wait until he/she can effectively process it, which involves a
delay in the operations. With this new skip operation, the operator
can continue processing the rest of move lines.
2021-09-16 20:17:34 +07:00
Guewen Baconnier
42d7106315 Revert "[13.0][FIX] stock_vertical_lift: Error in tests" 2021-09-16 20:17:33 +07:00
Sébastien Alix
ff4d9bbfad [FIX] stock_vertical_lift: handles multiple move lines on pick
If there is two move lines for the same product in the vertical lift
(stored in2 differents trays for instance), the pick scenario was
failing when the user was processing the first line.

To circumvent this, instead of validating directly the move, we put the line
in its own stock move, then we put the stock move in its own transfer and
validate this one.

Methods used to do that have been copied from the `shopfloor` module,
they probably deserves their own module as they are quite generic.
2021-09-16 20:17:33 +07:00
Víctor Martínez
a2476efdaa [FIX] stock_vertical_lift: Error in tests 2021-09-16 20:17:33 +07:00
Guewen Baconnier
8fb6930ed5 Improve put-away release in vertical lift
If we have several goods to put in the same tray, it is inefficient to
release (close) the tray between each line if we reopen the same tray.
Release the tray only when the last line is reached.
2021-09-16 20:17:33 +07:00
Guewen Baconnier
4306b8db4a inventory: always fetch tray
The check was means as an optimization: no need to fetch at tray already
open. But "fetch_tray" will not only open the tray, it may also move the
laser on the exact position. So  we should do it for every inventory line.
2021-09-16 20:17:33 +07:00
Simone Orsi
60ab3f72a1 stock_vertical_lift: change x/y tray order 2021-09-16 20:17:33 +07:00
Simone Orsi
457ee74690 stock_vertical_lift: make pkg compute more solid (#16)
* stock_vertical_lift: make pkg compute more solid

Somehow sometimes you can get a move line without product
while computing product packaging in inventory.

Make it more defensive and skip packaging rendering if no product is
there.
2021-09-16 20:17:33 +07:00
Simone Orsi
6a702b30bb stock_vertical_lift: packaging template more flexible
As the template is not used by JS we can pass full objects to it.
This way we can use any recordset information directly in the template
without having to override the method.
2021-09-16 20:17:33 +07:00
Guewen Baconnier
59952bf8c4 Prevent crash if 2 packages have the same name 2021-09-16 20:17:33 +07:00
Guewen Baconnier
c58d60a26d Add release (close) of vertical lift trays
* Rename methods that fetch a tray to prevent confusion
* Add methods to release a tray
* The Kardex method to fetch a tray has to send "0" in the carrier and
  carrierNext field
* The pick and inventory screens release the tray only when there is no next
  line, because the release is implicit when we fetch the next line,
  the put screen releases everytime because the operator may take time
  to start the next line and we don't know if they are going to scan a
  next line or not.
* Exiting the screen or switching screen between put/pick/put-away has
  to release the tray as well.
2021-09-16 20:17:33 +07:00