TIP: You can type at any time to perform a new search.
Sale Order Product Picker
sale_order_product_picker · OCA/sale-workflow
- Repository
- OCA/sale-workflow · module folder · Try on Runboat
- Module version
- 1.2.2
- Category
- Sale
- Folder size
- 2.3 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/sale-workflow
- Last tracking update
- 2026-08-07 08:09:12
- Authors
- Odoo Community Association (OCA), Tecnativa
- Maintainers
- Odoo Community Association (OCA), Tecnativa
- Committers
- Jairo Llopis, Miquel Raïch, Carlos Roca, Weblate, OCA-git-bot, oca-ci, Laurent Mignonn (ACSONE)
Code Analysis ⓘ
Views touched (2)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
product_product_tree_picker_filter_view |
product.product.tree.picker.filter | product.product | tree | Inherits product.product_product_tree_view |
view_order_form |
sale.order | form | Inherits sale.view_order_form |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (4)
New fields (0)
No new fields.
Public methods (1)-
get_picker_delay(self)@api.model
New fields (9)
-
picker_filterSelectionselection='_list_product_picker_filters'store=Falsestring='Filter' -
picker_idsOne2many → sale.order.pickercomodel_name='sale.order.picker'compute='_compute_picker_ids'compute_sudo=Trueinverse_name='order_id' -
picker_only_availableBooleanstore=Falsestring='Available' -
picker_orderSelectionselection=[('categ_id', 'Category')]store=False -
picker_origin_dataSelectionselection=[('sale_order', 'Last sales')]store=False -
picker_price_originSelectionselection=[('last_sale_price', 'Last price')]store=False -
picker_product_attribute_value_idMany2one → product.attribute.valuecomodel_name='product.attribute.value'help='Filter products by attribute value'store=Falsestring='Attribute value' -
product_name_searchCharstore=Falsestring='Search product' -
use_delivery_addressBooleandefault=Falsestore=False
-
filter_picker_so_lines(self, picker_data)
New fields (3)
-
categ_idMany2one → product.categoryrelated='product_id.categ_id'store=True args: 'product.category' -
is_different_priceBooleancompute='_compute_is_different_price' -
list_priceFloatrelated='product_id.list_price'
No public methods.
New fields (25)
-
category_idMany2one → product.categoryrelated='product_id.categ_id' args: 'product.category' -
compute_price_unitBooleanstore=False -
currency_idMany2onedepends=['order_id']related='order_id.currency_id' -
discountFloatdigits='Discount'string='Discount (%)' -
is_different_priceBooleancompute='_compute_is_different_price' -
is_in_orderBoolean -
line_price_reduceFloat -
list_priceFloatrelated='product_id.list_price' -
multiple_discountsBoolean -
order_idMany2one → sale.ordercomodel_name='sale.order' -
price_unitFloatcompute='_compute_price_unit'digits='Product Price'string='Unit Price' -
pricelist_item_idMany2one → product.pricelist.itemcompute='_compute_pricelist_item_id' args: 'product.pricelist.item' -
product_idMany2one → product.productcomodel_name='product.product' -
product_imageImagerelated='product_id.image_256' -
product_no_variant_attribute_value_idsMany2many → product.template.attribute.valuecomodel_name='product.template.attribute.value'compute='_compute_no_variant_attribute_values'ondelete='restrict'precompute=Truereadonly=Falsestore=Truestring='Extra Values' -
product_uom_qtyFloatdigits='Product Unit of Measure'string='Quantity' -
qty_availableFloatcompute='_compute_qty_available'digits='Product Unit of Measure'string='On Hand' -
qty_deliveredFloatdigits='Product Unit of Measure'string='Delivered' -
sale_line_idMany2one → sale.order.linecomodel_name='sale.order.line' -
times_deliveredInteger -
to_processBoolean -
unit_factorFloatcompute='_compute_unit_factor' -
unit_nameCharcompute='_compute_unit_name' -
uom_idMany2one → uom.uomcomodel_name='uom.uom'related='product_id.uom_id' -
warehouse_idMany2one → stock.warehousecompute='_compute_warehouse_id' args: 'stock.warehouse'
-
add_to_cart(self) -
get_display_price(self)