-
-
Notifications
You must be signed in to change notification settings - Fork 738
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ADD] stock_picking_procure_method: New module
- Loading branch information
1 parent
b628a8f
commit a94ba14
Showing
15 changed files
with
883 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,142 @@ | ||
============================ | ||
Stock Picking Procure Method | ||
============================ | ||
|
||
.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! This file is generated by oca-gen-addon-readme !! | ||
!! changes will be overwritten. !! | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png | ||
:target: https://odoo-community.org/page/development-status | ||
:alt: Beta | ||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png | ||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html | ||
:alt: License: AGPL-3 | ||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fstock--logistics--warehouse-lightgray.png?logo=github | ||
:target: https://github.com/OCA/stock-logistics-warehouse/tree/11.0/stock_picking_procure_method | ||
:alt: OCA/stock-logistics-warehouse | ||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png | ||
:target: https://translation.odoo-community.org/projects/stock-logistics-warehouse-11-0/stock-logistics-warehouse-11-0-stock_picking_procure_method | ||
:alt: Translate me on Weblate | ||
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png | ||
:target: https://runbot.odoo-community.org/runbot/153/11.0 | ||
:alt: Try me on Runbot | ||
|
||
|badge1| |badge2| |badge3| |badge4| |badge5| | ||
|
||
This module adds the possibility to set the supply method to *Apply Procurement | ||
Rules* in the pickings, which is normally set to *Take From Stock* by default. | ||
|
||
This way, you can configure MTO flows triggered from the picking itself. | ||
|
||
**Table of contents** | ||
|
||
.. contents:: | ||
:local: | ||
|
||
Installation | ||
============ | ||
|
||
This module is useless without either Odoo's `mrp` or `purchase` modules (or | ||
both). Depending on your needs you should install them in advance. | ||
|
||
Configuration | ||
============= | ||
|
||
This is an example scenario with two warehouses. WH2 will be allways supplied | ||
through WH1. | ||
|
||
Common steps to `mrp` and `purchase` procurements: | ||
|
||
#. Go to *Inventory > Configuration > Settings > Warehouse* and set *Multi-Step | ||
Routes* on. | ||
#. Go to *Inventory > Configuration > Warehouse Management > Warehouses* | ||
#. Create **WH1** with either *Manufacture in this Warehouse* or *Purchase to | ||
resupply this warehouse* or both set. | ||
#. Create **WH2** setting off *Manufacture in this Warehouse* and *Purchase to | ||
resupply this warehouse*. Set **WH1** as the *Resupply Warehouse*. | ||
#. Go to *Inventory > Configuration > Warehouse Management > Routes* and click | ||
on the *Make To Order* one. | ||
#. Add a new *Procurement Rule* with these settings and save: | ||
|
||
- Name: *WH1 -> WH2-MTO* | ||
- Action: *Move From Another Location* | ||
- Procurement Location: *WH2/Stock* | ||
- Served Warehouse: *WH2* | ||
- Source Location: *WH1/Stock* | ||
- Move Supply Method: *Create Procurement* | ||
- Operation Type: *WH1: Internal Transfers* | ||
- Propagation of Procurement Group: *Propagate* | ||
- Propagate cancel and split: `True` | ||
- Warehouse to Propagate: *WH1* | ||
|
||
Now if you want to trigger a manufacture: | ||
|
||
- Create a stockable product product with a BoM list. | ||
- In the product's *Inventory > Routes section* set *Make To Order* and | ||
*Manufacture* on. | ||
|
||
Or if you want to trigger a purchase: | ||
|
||
- Create a stockable product product with a supplier. | ||
- In the product's *Inventory > Routes section* set *Make To Order* and | ||
*Purchase* on. | ||
|
||
Usage | ||
===== | ||
|
||
After configuring you procurement rules and your product routes: | ||
|
||
#. Go to *Inventory > Dashboard* and click on the *more options* icon (☰). | ||
#. Choose *New > Planned Transfer*. | ||
#. Set an origin and destination that is considered in the routes procurement | ||
rules. | ||
#. Set *Supply Method* to *Apply Procurement Rules*. | ||
#. Set the products and quantities you want to supply. | ||
#. Save and click on *Mark as To Do*. | ||
#. Depending on the product's supply type a new MO or a new PO should be | ||
created. | ||
|
||
Bug Tracker | ||
=========== | ||
|
||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/stock-logistics-warehouse/issues>`_. | ||
In case of trouble, please check there if your issue has already been reported. | ||
If you spotted it first, help us smashing it by providing a detailed and welcomed | ||
`feedback <https://github.com/OCA/stock-logistics-warehouse/issues/new?body=module:%20stock_picking_procure_method%0Aversion:%2011.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_. | ||
|
||
Do not contact contributors directly about support or help with technical issues. | ||
|
||
Credits | ||
======= | ||
|
||
Authors | ||
~~~~~~~ | ||
|
||
* Tecnativa | ||
|
||
Contributors | ||
~~~~~~~~~~~~ | ||
|
||
* `Tecnativa <https://www.tecnativa.com>`_: | ||
|
||
* David Vidal | ||
* Pedro M. Baeza | ||
|
||
Maintainers | ||
~~~~~~~~~~~ | ||
|
||
This module is maintained by the OCA. | ||
|
||
.. image:: https://odoo-community.org/logo.png | ||
:alt: Odoo Community Association | ||
:target: https://odoo-community.org | ||
|
||
OCA, or the Odoo Community Association, is a nonprofit organization whose | ||
mission is to support the collaborative development of Odoo features and | ||
promote its widespread use. | ||
|
||
This module is part of the `OCA/stock-logistics-warehouse <https://github.com/OCA/stock-logistics-warehouse/tree/11.0/stock_picking_procure_method>`_ project on GitHub. | ||
|
||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import models |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Copyright 2018 Tecnativa - David Vidal | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
{ | ||
'name': 'Stock Picking Procure Method', | ||
'summary': 'Allows to force the procurement method from the picking', | ||
'version': '11.0.1.0.0', | ||
'category': 'Warehouse', | ||
'author': 'Tecnativa,' | ||
'Odoo Community Association (OCA)', | ||
'website': 'https://github.com/OCA/stock-logistics-warehouse', | ||
'license': 'AGPL-3', | ||
'depends': [ | ||
'stock', | ||
], | ||
'data': [ | ||
'views/stock_picking_views.xml', | ||
], | ||
'installable': True, | ||
} |
30 changes: 30 additions & 0 deletions
30
stock_picking_procure_method/i18n/stock_picking_procure_method.pot
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Translation of Odoo Server. | ||
# This file contains the translation of the following modules: | ||
# * stock_picking_procure_method | ||
# | ||
msgid "" | ||
msgstr "" | ||
"Project-Id-Version: Odoo Server 11.0\n" | ||
"Report-Msgid-Bugs-To: \n" | ||
"Last-Translator: <>\n" | ||
"Language-Team: \n" | ||
"MIME-Version: 1.0\n" | ||
"Content-Type: text/plain; charset=UTF-8\n" | ||
"Content-Transfer-Encoding: \n" | ||
"Plural-Forms: \n" | ||
|
||
#. module: stock_picking_procure_method | ||
#: model:ir.model.fields,help:stock_picking_procure_method.field_stock_picking_procure_method | ||
msgid "By default, the system will take from the stock in the source location and passively wait for availability. The other possibility allows you to directly create a procurement on the source location (and thus ignore its current stock) to gather products. If we want to chain moves and have this one to wait for the previous, this second option should be chosen." | ||
msgstr "" | ||
|
||
#. module: stock_picking_procure_method | ||
#: model:ir.model.fields,field_description:stock_picking_procure_method.field_stock_picking_procure_method | ||
msgid "Supply Method" | ||
msgstr "" | ||
|
||
#. module: stock_picking_procure_method | ||
#: model:ir.model,name:stock_picking_procure_method.model_stock_picking | ||
msgid "Transfer" | ||
msgstr "" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import stock_picking |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
# Copyright 2018 Tecnativa - David Vidal | ||
# Copyright 2018 Tecnativa - Pedro M. Baeza | ||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). | ||
|
||
from odoo import api, fields, models | ||
|
||
|
||
class StockPicking(models.Model): | ||
_inherit = 'stock.picking' | ||
|
||
procure_method = fields.Selection( | ||
selection='_selection_procure_method', | ||
compute='_compute_procure_method', | ||
inverse='_inverse_procure_method', | ||
string='Supply Method', | ||
help='By default, the system will take from the stock in the source ' | ||
'location and passively wait for availability. The other ' | ||
'possibility allows you to directly create a procurement on the ' | ||
'source location (and thus ignore its current stock) to gather ' | ||
'products. If we want to chain moves and have this one to wait ' | ||
'for the previous, this second option should be chosen.', | ||
) | ||
|
||
def _selection_procure_method(self): | ||
return self.env['stock.move'].fields_get( | ||
allfields=['procure_method'])['procure_method']['selection'] | ||
|
||
@api.depends('move_lines.procure_method') | ||
def _compute_procure_method(self): | ||
for picking in self: | ||
procure_method = False | ||
for move in picking.move_lines: | ||
if not procure_method: | ||
procure_method = move.procure_method | ||
elif procure_method != move.procure_method: | ||
procure_method = False | ||
break | ||
picking.procure_method = procure_method | ||
|
||
def _inverse_procure_method(self): | ||
self.filtered('procure_method').mapped('move_lines').update({ | ||
'procure_method': self.procure_method, | ||
}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
This is an example scenario with two warehouses. WH2 will be allways supplied | ||
through WH1. | ||
|
||
Common steps to `mrp` and `purchase` procurements: | ||
|
||
#. Go to *Inventory > Configuration > Settings > Warehouse* and set *Multi-Step | ||
Routes* on. | ||
#. Go to *Inventory > Configuration > Warehouse Management > Warehouses* | ||
#. Create **WH1** with either *Manufacture in this Warehouse* or *Purchase to | ||
resupply this warehouse* or both set. | ||
#. Create **WH2** setting off *Manufacture in this Warehouse* and *Purchase to | ||
resupply this warehouse*. Set **WH1** as the *Resupply Warehouse*. | ||
#. Go to *Inventory > Configuration > Warehouse Management > Routes* and click | ||
on the *Make To Order* one. | ||
#. Add a new *Procurement Rule* with these settings and save: | ||
|
||
- Name: *WH1 -> WH2-MTO* | ||
- Action: *Move From Another Location* | ||
- Procurement Location: *WH2/Stock* | ||
- Served Warehouse: *WH2* | ||
- Source Location: *WH1/Stock* | ||
- Move Supply Method: *Create Procurement* | ||
- Operation Type: *WH1: Internal Transfers* | ||
- Propagation of Procurement Group: *Propagate* | ||
- Propagate cancel and split: `True` | ||
- Warehouse to Propagate: *WH1* | ||
|
||
Now if you want to trigger a manufacture: | ||
|
||
- Create a stockable product product with a BoM list. | ||
- In the product's *Inventory > Routes section* set *Make To Order* and | ||
*Manufacture* on. | ||
|
||
Or if you want to trigger a purchase: | ||
|
||
- Create a stockable product product with a supplier. | ||
- In the product's *Inventory > Routes section* set *Make To Order* and | ||
*Purchase* on. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
* `Tecnativa <https://www.tecnativa.com>`_: | ||
|
||
* David Vidal | ||
* Pedro M. Baeza |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
This module adds the possibility to set the supply method to *Apply Procurement | ||
Rules* in the pickings, which is normally set to *Take From Stock* by default. | ||
|
||
This way, you can configure MTO flows triggered from the picking itself. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
This module is useless without either Odoo's `mrp` or `purchase` modules (or | ||
both). Depending on your needs you should install them in advance. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
After configuring you procurement rules and your product routes: | ||
|
||
#. Go to *Inventory > Dashboard* and click on the *more options* icon (☰). | ||
#. Choose *New > Planned Transfer*. | ||
#. Set an origin and destination that is considered in the routes procurement | ||
rules. | ||
#. Set *Supply Method* to *Apply Procurement Rules*. | ||
#. Set the products and quantities you want to supply. | ||
#. Save and click on *Mark as To Do*. | ||
#. Depending on the product's supply type a new MO or a new PO should be | ||
created. |
Oops, something went wrong.