Repository
OCA/wms · module folder · Try on Runboat
Module version
1.1.0
Category
Stock
Folder size
0.21 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/wms
Last tracking update
2026-08-07 07:47:43
Authors
Camptocamp, Odoo Community Association (OCA)
Maintainers
Camptocamp, Odoo Community Association (OCA)
Committers
Simone Orsi, Akim Juillerat, Sébastien Alix, Thierry Ducrest, Sébastien BEAU, Dũng (Trần Đình), Weblate, OCA Transbot, OCA-git-bot, oca-travis, oca-ci
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
stock_reception_screen_measuring_device, stock_reception_screen_qty_by_packaging
Description

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
stock_picking_manual_barcode_form stock.picking.manual.barcode.view.form stock.picking.manual.barcode form New
stock_reception_screen_assets stock.reception.screen.assets ir.ui.view qweb Inherits web.assets_backend
stock_reception_screen_view_form stock.reception.screen.form stock.reception.screen form New
view_move_line_tree stock.move.line.tree.stock.reception.screen stock.move.line tree Inherits stock.view_move_line_tree
view_picking_form stock.picking.form.inherit stock.picking form Inherits stock.view_picking_form
view_stock_move_line_operation_tree stock.move.line.operation.tree.inherit stock.move.line tree Inherits stock.view_stock_move_line_operation_tree
vpicktree stock.picking.tree.inherit stock.picking tree Inherits stock.vpicktree
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (6)

New fields (1)
  • storage_type_name Char
    related='package_storage_type_id.name' string='Storage Type'
Public methods (0)

No public methods.

New fields (3)
  • last_move_line_lot_id Many2one → stock.production.lot
    comodel_name='stock.production.lot' index=True
  • reception_screen_current_step Char
    related='picking_id.reception_screen_id.current_step'
  • vendor_code Char
    compute='_compute_vendor_code'
Public methods (2)
  • action_select_move(self)
    Set the move as the current one at the picking level.
  • action_select_product(self)
    "Same than `action_select_move` excepting that as we we are in the 'select_product' step and that the user already selected the right move through this button, we automatically go to the next step (done by `process_select_product`).

New fields (1)
  • lot_expiration_date Datetime
    related='lot_id.expiration_date' string='End of Expiration Date'
Public methods (2)
  • action_reception_screen_open(self)
    Open reception screen from specific move line.
  • action_select_move_line(self)
    Set the move line as the current one at the picking level.

New fields (1)
  • reception_screen_id Many2one → stock.reception.screen
    comodel_name='stock.reception.screen' copy=False string='Reception Screen'
Public methods (2)
  • action_cancel(self)
  • action_reception_screen_open(self)

New fields (1)
  • barcode Char
    string='Barcode'
Public methods (1)
  • button_save(self)

New fields (41)
  • allowed_location_dest_ids One2many → stock.location
    compute='_compute_allowed_location_dest_ids' help='Allowed destination locations based on the package storage type.' string='Allowed destination locations' args: 'stock.location'
  • current_filter_product Char
    copy=False string='Filter product'
  • current_move_has_tracking Selection
    related='current_move_id.has_tracking'
  • current_move_id Many2one → stock.move
    comodel_name='stock.move' copy=False
  • current_move_line_id Many2one → stock.move.line
    comodel_name='stock.move.line' copy=False
  • current_move_line_location_dest_id Many2one
    related='current_move_line_id.location_dest_id'
  • current_move_line_location_dest_stored_id Many2one → stock.location
    comodel_name='stock.location' string='Destination'
  • current_move_line_lot_expiration_date Datetime
    string='End of Expiration Date'
  • current_move_line_lot_id Many2one
    related='current_move_line_id.lot_id' string='Lot NumBer'
  • current_move_line_package Char
    compute='_compute_current_move_line_package' inverse='_inverse_current_move_line_package' string='Package N°'
  • current_move_line_package_stored Char
  • current_move_line_qty_done Float
    readonly=False related='current_move_line_id.qty_done' string='Quantity'
  • current_move_line_qty_status Char
    compute='_compute_current_move_line_qty_status' string='Qty Status'
  • current_move_line_uom_id Many2one
    related='current_move_line_id.product_uom_id' string='UoM'
  • current_move_product_display_name Char
    related='current_move_id.product_id.display_name' string='Product'
  • current_move_product_id Many2one
    related='current_move_id.product_id' string="Move's product"
  • current_move_product_last_lot_expiration_date Datetime
    compute='_compute_current_move_product_last_lot_expiration_date' string='Most recent exp. date'
  • current_move_product_outgoing_qty Float
    compute='_compute_current_move_product_qty_fields'
  • current_move_product_packaging_ids One2many
    related='current_move_id.product_id.packaging_ids'
  • current_move_product_qty_available Float
    compute='_compute_current_move_product_qty_fields'
  • current_move_product_uom_id Many2one
    related='current_move_id.product_uom'
  • current_move_product_uom_qty Float
    related='current_move_id.product_uom_qty'
  • current_move_product_vendor_code Char
    related='current_move_id.vendor_code'
  • current_step Char
    copy=False default='select_product'
  • current_step_descr Char
    compute='_compute_current_step_descr' string='Operation'
  • current_step_focus_field Char
    compute='_compute_current_step_descr' string='Focus field'
  • name Char
    related='picking_id.name' store=True
  • package_height Integer
  • package_storage_type_height_required Boolean
    related='package_storage_type_id.height_required'
  • package_storage_type_id Many2one → stock.package.storage.type
    args: 'stock.package.storage.type'
  • package_storage_type_id Many2one → stock.package.storage.type
    args: 'stock.package.storage.type'
  • picking_filtered_move_lines One2many → stock.move
    comodel_name='stock.move' compute='_compute_picking_filtered_move_lines'
  • picking_id Many2one → stock.picking
    comodel_name='stock.picking' ondelete='cascade' required=True string='Transfer'
  • picking_location_dest_id Many2one
    related='picking_id.location_dest_id'
  • picking_move_lines One2many
    related='picking_id.move_lines'
  • picking_origin Char
    related='picking_id.origin'
  • picking_partner_id Many2one
    related='picking_id.partner_id'
  • picking_state Selection
    related='picking_id.state'
  • product_packaging_id Many2one → product.packaging
    domain="[('product_id', '=', current_move_product_id)]" args: 'product.packaging'
  • warn_notification Char
    default=False
  • warn_notification_html Html
    compute='_compute_warn_notification'
Public methods (23)
  • action_check_quantity(self)
    Used to trigger an implicit call to 'write()' on the form to check the quantity.
  • action_reception_screen_close(self)
    Close the reception screen. It'll automatically reload the picking form.
  • action_reception_screen_manual_barcode(self)
    Display a window to fill manually a barcode. You don't need to open this window if you use a barcode scanner directly on the screen.
  • button_next_pack(self)
    Process the current package and prepare the screen to scan another one for the same product/lot/packaging data. When calling this button we are supposed to be in the `set_package` step, and once triggered the button will complete the first steps with the same data than the previous package, and will stop again on the `set_package` step.
  • button_reset(self)
    Reset the current step. This allows the user to choose another product to process.
  • button_save_step(self)
    Save the current step.
  • get_reception_screen_steps(self)
    Aim to be overloaded to update the reception steps.
  • next_step(self)
    Evaluate the next step for the operator.
  • on_barcode_scanned(self, barcode)
    Dispatch the barcode event to the right method (if any).
  • on_barcode_scanned_select_packaging(self, barcode)
    Auto-complete the package data. The package data is filled automatically depending on the barcode scanned for the package storage type.
  • on_barcode_scanned_select_product(self, barcode)
    Try to find the corresponding product based on the barcode.
  • on_barcode_scanned_set_lot_number(self, barcode)
    Set the lot number on a move line.
  • on_barcode_scanned_set_package(self, barcode)
    Set the package on the move line.
  • onchange_package_storage_type_id(self)
    @api.onchange('package_storage_type_id')
  • onchange_product_packaging_id(self)
    @api.onchange('product_packaging_id')
  • process_select_move(self)
  • process_select_packaging(self)
  • process_select_product(self)
  • process_set_expiry_date(self)
    Set the lot expiration date on a move line.
  • process_set_location(self)
  • process_set_lot_number(self)
  • process_set_package(self)
  • process_set_quantity(self)

Loading…

Loading…