[IMP] stock_picking_product_interchangeable

Description update
This commit is contained in:
Ivan Sokolov
2023-11-15 17:10:34 +01:00
committed by Bearnard21
parent 112eb6852e
commit c511480c5b
17 changed files with 198 additions and 42 deletions

View File

@@ -7,7 +7,7 @@ Stock Picking Product Interchangeable
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:53a61d84207fe2234c17a6277c9f5f97d3b956c7bdc091631d241bdf21ce8897
!! source digest: sha256:616f36a88d886ec8f84816c3abdf434d6ad6abb59cfdd2ab0008aefe05f0bff1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
@@ -28,23 +28,92 @@ Stock Picking Product Interchangeable
|badge1| |badge2| |badge3| |badge4| |badge5|
This module implements "interchangeable" products. If an interchangeable product is not available in stock in requested quantity its substitute products will be added to picking to complete the order.
This module implements "interchangeable" products for Sales Orders. If
an interchangeable product is not available in stock in sufficient
quantity to complete the order its substitute products will be added to
picking to complete the order.
Eg there is an "English Breakfast" tea and "Breakfast in England" tea which are absolutely the same inside and have the same price. Only package labels are different. And our customers don't care which of them will be actually delivered.
NB: Interchangeable products substitute each other. Eg if "English Breakfast" can substitutes "Breakfast in England" then "Breakfast in England" can substitute "English Breakfast".
**NB:** Interchangeable products substitute each other. Eg if "English
Breakfast" can substitutes "Breakfast in England" then "Breakfast in
England" can substitute "English Breakfast".
**Table of contents**
.. contents::
:local:
Use Cases / Context
===================
Imagine that you have several products in your inventory that are
physically absolutely the same products. Eg there is an "English
Breakfast" tea and "Breakfast in England" tea which are absolutely the
same inside and have the same price. Only package labels are different.
And our customers don't care which of them will be actually delivered.
By default if there in not enough stock of the "English Breakfast"
available you will not be able to complete the operation even if you
have enough stock of the "Breakfast in England" available. This module
provides a solution for such case by allowing to substitute one product
with another in the inventory operation.
Configuration
=============
Open **Inventory** -> **Configuration** -> **Operations types** and
select an Operation Type you would like to use interchangeable products
in. **NB:** Only Operation Types of the **Delivery** type can use this
feature.
Select **Substitute Products** mode:
- "If all available". Interchangeable products will be added products
will be added only if it is possible to reserve all requested amount.
- "If any available". Interchangeable products will be added if there
is at least a single one available.
|Operation Type|
**Product Settings**
In Product form open **Interchangeable** tab and add products that can
be used as a substitute.
**Important**: if you are using product variants Interchangeable
products must be defined for each variant separately.
|Product form|
.. |Operation Type| image:: https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/op_type_setting.png
.. |Product form| image:: https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/product_form.png
Usage
=====
Click **Mark todo** or "Check availability" button in Stock Picking form.
- Create a new quotation with some interchangeable product(s) in it
|New quotation|
If **Substitute Products** option is activated for picking operation type and there is not enough stock of an interchangeable product substitute products will be added to picking.
- Confirm the quotation
- If there is not enough stock of the product available its substitute
will be added to complete the delivery order
|Picking|
.. |New quotation| image:: https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/new_quotation.png
.. |Picking| image:: https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/picking_with_substitutes.png
Known issues / Roadmap
======================
Currently interchangeable products are implemented only for pickings
created from Sales Orders.
**TODO:**
- Add interchangeable products to pickings created directly from the
"Inventory/Operations" menu
- Use interchangeable products in other operation types. Eg "Internal
Transfer"
Bug Tracker
===========
@@ -60,12 +129,17 @@ Credits
=======
Authors
~~~~~~~
-------
* Cetmix
Contributors
------------
Cetmix `cetmix.com <https://cetmix.com>`__
Maintainers
~~~~~~~~~~~
-----------
This module is maintained by the OCA.
@@ -77,16 +151,13 @@ 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.
.. |maintainer-geomer198| image:: https://github.com/geomer198.png?size=40px
:target: https://github.com/geomer198
:alt: geomer198
.. |maintainer-CetmixGitDrone| image:: https://github.com/CetmixGitDrone.png?size=40px
:target: https://github.com/CetmixGitDrone
:alt: CetmixGitDrone
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-geomer198| |maintainer-CetmixGitDrone|
|maintainer-CetmixGitDrone|
This module is part of the `OCA/stock-logistics-warehouse <https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_picking_product_interchangeable>`_ project on GitHub.

View File

@@ -5,8 +5,9 @@
"version": "16.0.1.0.0",
"category": "Inventory/Inventory",
"website": "https://github.com/OCA/stock-logistics-warehouse",
"maintainers": ["geomer198", "CetmixGitDrone"],
"maintainers": ["CetmixGitDrone"],
"depends": ["stock_available"],
"images": ["static/description/banner.png"],
"data": [
"views/product_views.xml",
"views/stock_picking_type_views.xml",

View File

@@ -1,11 +1,17 @@
Open **Inventory** -> **Configuration** -> **Operations types** and select an Operation Type you would like to use interchangeable products in.
Only Operation Types of type **Delivery** can use this feature.
**NB:** Only Operation Types of the **Delivery** type can use this feature.
Select **Substitute Products** mode:
- "If all available". Interchangeable products will be added products will be added only if it is possible to reserve all requested amount.
- "If any available". Interchangeable products will be added if there is at least a single one available.
![Operation Type](../static/img/op_type_setting.png)
**Product Settings**
In Product form open **Interchangeable** tab and add products that can be used as a substitute.
**Important**: if you are using product variants Interchangeable products must be defined for each variant separately.
![Product form](../static/img/product_form.png)

View File

@@ -0,0 +1,5 @@
Imagine that you have several products in your inventory that are physically absolutely the same products.
Eg there is an "English Breakfast" tea and "Breakfast in England" tea which are absolutely the same inside and have the same price. Only package labels are different.
And our customers don't care which of them will be actually delivered.
By default if there in not enough stock of the "English Breakfast" available you will not be able to complete the operation even if you have enough stock of the "Breakfast in England" available.
This module provides a solution for such case by allowing to substitute one product with another in the inventory operation.

View File

@@ -0,0 +1 @@
Cetmix [cetmix.com](https://cetmix.com)

View File

@@ -0,0 +1,4 @@
This module implements "interchangeable" products for Sales Orders.
If an interchangeable product is not available in stock in sufficient quantity to complete the order its substitute products will be added to picking to complete the order.
**NB:** Interchangeable products substitute each other. Eg if "English Breakfast" can substitutes "Breakfast in England" then "Breakfast in England" can substitute "English Breakfast".

View File

@@ -1,5 +0,0 @@
This module implements "interchangeable" products. If an interchangeable product is not available in stock in requested quantity its substitute products will be added to picking to complete the order.
Eg there is an "English Breakfast" tea and "Breakfast in England" tea which are absolutely the same inside and have the same price. Only package labels are different. And our customers don't care which of them will be actually delivered.
NB: Interchangeable products substitute each other. Eg if "English Breakfast" can substitutes "Breakfast in England" then "Breakfast in England" can substitute "English Breakfast".

View File

@@ -0,0 +1,5 @@
Currently interchangeable products are implemented only for pickings created from Sales Orders.
**TODO:**
- Add interchangeable products to pickings created directly from the "Inventory/Operations" menu
- Use interchangeable products in other operation types. Eg "Internal Transfer"

View File

@@ -0,0 +1,7 @@
- Create a new quotation with some interchangeable product(s) in it
![New quotation](../static/img/new_quotation.png)
- Confirm the quotation
- If there is not enough stock of the product available its substitute will be added to complete the delivery order
![Picking](../static/img/picking_with_substitutes.png)

View File

@@ -1,3 +0,0 @@
Click **Mark todo** or "Check availability" button in Stock Picking form.
If **Substitute Products** option is activated for picking operation type and there is not enough stock of an interchangeable product substitute products will be added to picking.

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

View File

@@ -367,31 +367,91 @@ ul.auto-toc {
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:53a61d84207fe2234c17a6277c9f5f97d3b956c7bdc091631d241bdf21ce8897
!! source digest: sha256:616f36a88d886ec8f84816c3abdf434d6ad6abb59cfdd2ab0008aefe05f0bff1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_picking_product_interchangeable"><img alt="OCA/stock-logistics-warehouse" src="https://img.shields.io/badge/github-OCA%2Fstock--logistics--warehouse-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/stock-logistics-warehouse-16-0/stock-logistics-warehouse-16-0-stock_picking_product_interchangeable"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/stock-logistics-warehouse&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module implements “interchangeable” products. If an interchangeable product is not available in stock in requested quantity its substitute products will be added to picking to complete the order.</p>
<p>Eg there is an “English Breakfast” tea and “Breakfast in England” tea which are absolutely the same inside and have the same price. Only package labels are different. And our customers dont care which of them will be actually delivered.</p>
<p>NB: Interchangeable products substitute each other. Eg if “English Breakfast” can substitutes “Breakfast in England” then “Breakfast in England” can substitute “English Breakfast”.</p>
<p>This module implements “interchangeable” products for Sales Orders. If
an interchangeable product is not available in stock in sufficient
quantity to complete the order its substitute products will be added to
picking to complete the order.</p>
<p><strong>NB:</strong> Interchangeable products substitute each other. Eg if “English
Breakfast” can substitutes “Breakfast in England” then “Breakfast in
England” can substitute “English Breakfast”.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-5">Maintainers</a></li>
<li><a class="reference internal" href="#use-cases-context" id="toc-entry-1">Use Cases / Context</a></li>
<li><a class="reference internal" href="#configuration" id="toc-entry-2">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="toc-entry-3">Usage</a></li>
<li><a class="reference internal" href="#known-issues-roadmap" id="toc-entry-4">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-5">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-6">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-7">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-8">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-9">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="use-cases-context">
<h1><a class="toc-backref" href="#toc-entry-1">Use Cases / Context</a></h1>
<p>Imagine that you have several products in your inventory that are
physically absolutely the same products. Eg there is an “English
Breakfast” tea and “Breakfast in England” tea which are absolutely the
same inside and have the same price. Only package labels are different.
And our customers dont care which of them will be actually delivered.
By default if there in not enough stock of the “English Breakfast”
available you will not be able to complete the operation even if you
have enough stock of the “Breakfast in England” available. This module
provides a solution for such case by allowing to substitute one product
with another in the inventory operation.</p>
</div>
<div class="section" id="configuration">
<h1><a class="toc-backref" href="#toc-entry-2">Configuration</a></h1>
<p>Open <strong>Inventory</strong> -&gt; <strong>Configuration</strong> -&gt; <strong>Operations types</strong> and
select an Operation Type you would like to use interchangeable products
in. <strong>NB:</strong> Only Operation Types of the <strong>Delivery</strong> type can use this
feature.</p>
<p>Select <strong>Substitute Products</strong> mode:</p>
<ul class="simple">
<li>“If all available”. Interchangeable products will be added products
will be added only if it is possible to reserve all requested amount.</li>
<li>“If any available”. Interchangeable products will be added if there
is at least a single one available.</li>
</ul>
<p><img alt="Operation Type" src="https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/op_type_setting.png" /></p>
<p><strong>Product Settings</strong></p>
<p>In Product form open <strong>Interchangeable</strong> tab and add products that can
be used as a substitute.</p>
<p><strong>Important</strong>: if you are using product variants Interchangeable
products must be defined for each variant separately.</p>
<p><img alt="Product form" src="https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/product_form.png" /></p>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<p>Click <strong>Mark todo</strong> or “Check availability” button in Stock Picking form.</p>
<p>If <strong>Substitute Products</strong> option is activated for picking operation type and there is not enough stock of an interchangeable product substitute products will be added to picking.</p>
<h1><a class="toc-backref" href="#toc-entry-3">Usage</a></h1>
<ul class="simple">
<li>Create a new quotation with some interchangeable product(s) in it
<img alt="New quotation" src="https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/new_quotation.png" /></li>
<li>Confirm the quotation</li>
<li>If there is not enough stock of the product available its substitute
will be added to complete the delivery order</li>
</ul>
<p><img alt="Picking" src="https://raw.githubusercontent.com/OCA/stock-logistics-warehouse/16.0/stock_picking_product_interchangeable/static/img/picking_with_substitutes.png" /></p>
</div>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#toc-entry-4">Known issues / Roadmap</a></h1>
<p>Currently interchangeable products are implemented only for pickings
created from Sales Orders.</p>
<p><strong>TODO:</strong></p>
<ul class="simple">
<li>Add interchangeable products to pickings created directly from the
“Inventory/Operations” menu</li>
<li>Use interchangeable products in other operation types. Eg “Internal
Transfer”</li>
</ul>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h1>
<h1><a class="toc-backref" href="#toc-entry-5">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/stock-logistics-warehouse/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
@@ -399,22 +459,26 @@ If you spotted it first, help us to smash it by providing a detailed and welcome
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-3">Credits</a></h1>
<h1><a class="toc-backref" href="#toc-entry-6">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-4">Authors</a></h2>
<h2><a class="toc-backref" href="#toc-entry-7">Authors</a></h2>
<ul class="simple">
<li>Cetmix</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-8">Contributors</a></h2>
<p>Cetmix <a class="reference external" href="https://cetmix.com">cetmix.com</a></p>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-5">Maintainers</a></h2>
<h2><a class="toc-backref" href="#toc-entry-9">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a>
<p>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.</p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
<p><a class="reference external image-reference" href="https://github.com/geomer198"><img alt="geomer198" src="https://github.com/geomer198.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/CetmixGitDrone"><img alt="CetmixGitDrone" src="https://github.com/CetmixGitDrone.png?size=40px" /></a></p>
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p>
<p><a class="reference external image-reference" href="https://github.com/CetmixGitDrone"><img alt="CetmixGitDrone" src="https://github.com/CetmixGitDrone.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/stock-logistics-warehouse/tree/16.0/stock_picking_product_interchangeable">OCA/stock-logistics-warehouse</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB