Repository
OCA/stock-logistics-warehouse · module folder · Try on Runboat
Module version
1.0.0
Category
Stock
Folder size
0.15 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/stock-logistics-warehouse
Last tracking update
2026-08-07 08:42:50
Authors
Camptocamp, Odoo Community Association (OCA)
Maintainers
Camptocamp, Odoo Community Association (OCA)
Committers
Duy (Đỗ Anh), Weblate, OCA-git-bot, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
stock_vertical_lift
Description
Add an optional Tray Type on Stock Locations. A tray type defines a
number of columns and rows. A location with a tray type becomes a tray,
and sub-locations are automatically created according to the columns and
rows of the tray type

![](../static/description/location-tray.png)

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
view_location_form stock.location.form.tray.type stock.location form Inherits stock.view_location_form
view_location_search stock.location.search.tray.type stock.location search Inherits stock.view_location_search
view_stock_location_tray_type_form stock.location.tray.type.form stock.location.tray.type form New
view_stock_location_tray_type_search stock.location.tray.type.search stock.location.tray.type search New
view_stock_location_tray_type_tree stock.location.tray.type.list stock.location.tray.type list New
view_stock_move_line_operation_tree stock.move.line.operations.tree.tray.type stock.move.line tree Inherits stock.view_stock_move_line_operation_tree
view_stock_move_line_tray stock.move.line.tray stock.move.line form New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (3)

New fields (4)
  • cell_in_tray_type_id Many2one
    related='location_id.tray_type_id' string='Cell Tray Type'
  • cell_name_format Char
    default=<expr> help='Cells sub-locations generated in a tray will be named after this format. Replacement fields between curly braces are used to inject positions. {x}, {y}, and {z} will be replaced by their corresponding position. Complex formatting (such as padding, ...) can be done using the format specification at https://docs.python.org/3/library/string.html#formatstrings' string='Name Format for Cells'
  • tray_cell_contains_stock Boolean
    compute='_compute_tray_cell_contains_stock' help='Used to know if a cell of a Tray location is empty.'
  • tray_type_id Many2one → stock.location.tray.type
    comodel_name='stock.location.tray.type' ondelete='restrict'
Public methods (4)
  • action_tray_matrix_click(self, coordX, coordY)
  • create(self, vals_list)
    @api.model_create_multi
  • tray_cell_center_position(self)
    Return the center position in mm of a cell The returned position is a tuple with the number of millimeters from the bottom-left corner. Tuple: (left, bottom)
  • write(self, vals)

New fields (11)
  • active Boolean
    default=True
  • code Char
    required=True
  • cols Integer
    required=True
  • depth Integer
    help='Depth of the tray in mm'
  • depth_per_cell Float
    compute='_compute_depth_per_cell'
  • height Integer
    help='Height of the tray in mm'
  • location_ids One2many → stock.location
    comodel_name='stock.location' inverse_name='tray_type_id'
  • name Char
    required=True
  • rows Integer
    required=True
  • width Integer
    help='Width of the tray in mm'
  • width_per_cell Float
    compute='_compute_width_per_cell'
Public methods (1)
  • open_locations(self)

New fields (2)
  • show_tray_destination_location Boolean
    compute='_compute_show_tray_location'
  • show_tray_source_location Boolean
    compute='_compute_show_tray_location'
Public methods (2)
  • action_show_dest_tray(self)
  • action_show_source_tray(self)

Loading…

Loading…