Odoo Mindscape. Understand Odoo faster. Explore modules, fields, dependencies and version differences in one place instead of digging through the source code.
Module: Inventory
Entity: stock.package
Compute Method: _compute_picking_ids
| Inputs | Method | Outputs |
|---|---|---|
|
children_by_dest_pack, all_pack_ids = self._get_all_children_package_dest_ids() groups = self.env['stock.move.line']._read_group( - domain=[('state', 'not in', ['done', 'cancel']), ('result_package_id', 'in', all_pack_ids)], + domain=[('state', 'not in', ['done', 'cancel']), ('result_package_id', 'in', all_pack_ids), ('picking_id', '!=', False)], groupby=['result_package_id'], aggregates=['picking_id:array_agg']) pickings_by_package = {package.id: picking_ids for package, picking_ids in groups} for package in self: picking_ids = {picking_id for child_id in children_by_dest_pack[package] for picking_id in pickings_by_package.get(child_id, [])} picking_ids.update(pickings_by_package.get(package.id, [])) package.picking_ids = [Command.set(list(picking_ids))] |
|
