mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-20 06:12:02 +02:00
Initial commit: OCA Technical packages (595 packages)
This commit is contained in:
commit
2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions
50
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/views/mrp_bom_view.xml
Normal file
50
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/views/mrp_bom_view.xml
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2017-20 ForgeFlow S.L. (http://www.forgeflow.com)
|
||||
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->
|
||||
<odoo>
|
||||
<record id="mrp_bom_form_view" model="ir.ui.view">
|
||||
<field name="name">mrp.bom.form - ddmrp</field>
|
||||
<field name="model">mrp.bom</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_bom_form_view" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="product_id" position="after">
|
||||
<field name="is_buffered" />
|
||||
<field name="buffer_id" />
|
||||
<label for="dlt" />
|
||||
<div class="o_row" style="width: 60% !important">
|
||||
<field name="dlt" />
|
||||
<field
|
||||
name="context_location_id"
|
||||
options="{'no_open': True}"
|
||||
style="text-align: right;"
|
||||
/>
|
||||
<button
|
||||
title="Change Location"
|
||||
name="action_change_context_location"
|
||||
icon="fa-exchange"
|
||||
type="object"
|
||||
/>
|
||||
</div>
|
||||
</field>
|
||||
<xpath
|
||||
expr="//field[@name='bom_line_ids']/tree/field[@name='product_uom_id']"
|
||||
position="after"
|
||||
>
|
||||
<field name="is_buffered" />
|
||||
<field name="buffer_id" />
|
||||
<field name="dlt" />
|
||||
<field name="context_location_id" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="mrp_bom_line_view_form" model="ir.ui.view">
|
||||
<field name="name">mrp.bom.line.form</field>
|
||||
<field name="model">mrp.bom.line</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_bom_line_view_form" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="parent_product_tmpl_id" position="after">
|
||||
<field name="buffer_id" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="mrp_production_tree_view" model="ir.ui.view">
|
||||
<field name="name">mrp.production.tree</field>
|
||||
<field name="model">mrp.production</field>
|
||||
<field name="inherit_id" ref="mrp.mrp_production_tree_view" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="date_planned_start" position="before">
|
||||
<field name="buffer_id" invisible="1" />
|
||||
<field name="execution_priority_level" invisible="1" />
|
||||
<field
|
||||
name="on_hand_percent"
|
||||
options='{"buffer_id": "buffer_id", "color_from": "execution_priority_level", "field": "ddmrp_chart_execution"}'
|
||||
widget="stock_buffer_info"
|
||||
/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_mrp_production_filter" model="ir.ui.view">
|
||||
<field name="name">mrp.production.select</field>
|
||||
<field name="model">mrp.production</field>
|
||||
<field name="inherit_id" ref="mrp.view_mrp_production_filter" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="product_id" position="before">
|
||||
<field name="execution_priority_level" />
|
||||
<group name="execution_priority" string="On Hand Alert Zones">
|
||||
<filter
|
||||
name="execution_priority_level_red"
|
||||
string="Red"
|
||||
domain="[('execution_priority_level', '=', '1_red')]"
|
||||
/>
|
||||
<filter
|
||||
name="execution_priority_level_yellow"
|
||||
string="Yellow"
|
||||
domain="[('execution_priority_level', '=', '2_yellow')]"
|
||||
/>
|
||||
<filter
|
||||
name="execution_priority_level_green"
|
||||
string="Green"
|
||||
domain="[('execution_priority_level', '=', '3_green')]"
|
||||
/>
|
||||
</group>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,81 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record model="ir.ui.view" id="view_product_adu_calculation_method_tree">
|
||||
<field name="name">product.adu.calculation.method.tree</field>
|
||||
<field name="model">product.adu.calculation.method</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name" />
|
||||
<field name="method" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_product_adu_calculation_method_form">
|
||||
<field name="name">product.adu.calculation.method.form</field>
|
||||
<field name="model">product.adu.calculation.method</field>
|
||||
<field name="arch" type="xml">
|
||||
<form>
|
||||
<sheet>
|
||||
<group name="name">
|
||||
<field name="name" />
|
||||
<field name="method" />
|
||||
<field
|
||||
name="company_id"
|
||||
groups="base.group_multi_company"
|
||||
widget="selection"
|
||||
/>
|
||||
</group>
|
||||
<group name="configuration">
|
||||
<group name="past">
|
||||
<field name="source_past" />
|
||||
<label for="horizon_past" />
|
||||
<div name="horizon_past">
|
||||
<field name="horizon_past" class="oe_inline" /> days
|
||||
</div>
|
||||
<field
|
||||
name="factor_past"
|
||||
attrs="{'invisible': [('method', '!=', 'blended')]}"
|
||||
/>
|
||||
</group>
|
||||
<group name="future">
|
||||
<field name="source_future" />
|
||||
<label for="horizon_future" />
|
||||
<div name="horizon_future">
|
||||
<field name="horizon_future" class="oe_inline" /> days
|
||||
</div>
|
||||
<field
|
||||
name="factor_future"
|
||||
attrs="{'invisible': [('method', '!=', 'blended')]}"
|
||||
/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_product_adu_calculation_method_search" model="ir.ui.view">
|
||||
<field name="name">product.adu.calculation.method.search</field>
|
||||
<field name="model">product.adu.calculation.method</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search ADU Calculatiion methods">
|
||||
<field name="name" />
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record
|
||||
model="ir.actions.act_window"
|
||||
id="product_adu_calculation_method_form_action"
|
||||
>
|
||||
<field name="name">ADU calculation methods</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">product.adu.calculation.method</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_product_adu_calculation_method_search" />
|
||||
</record>
|
||||
<menuitem
|
||||
id="menu_product_adu_calculation_method"
|
||||
parent="ddmrp.menu_ddmrp_config"
|
||||
action="product_adu_calculation_method_form_action"
|
||||
/>
|
||||
</odoo>
|
||||
55
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/views/product_view.xml
Normal file
55
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/views/product_view.xml
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
|
||||
<record id="product_normal_form_view_inherit" model="ir.ui.view">
|
||||
<field name="name">product.product.form.inherit</field>
|
||||
<field name="model">product.product</field>
|
||||
<field name="inherit_id" ref="product.product_normal_form_view" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath
|
||||
expr="//div[@name='button_box']/button[@name='action_view_mrp_area_parameters']"
|
||||
position="after"
|
||||
>
|
||||
<button
|
||||
type="object"
|
||||
name="action_view_stock_buffers"
|
||||
class="oe_stat_button"
|
||||
icon="fa-flask"
|
||||
attrs="{'invisible': [('buffer_count', '=', 0)]}"
|
||||
>
|
||||
<field
|
||||
name="buffer_count"
|
||||
widget="statinfo"
|
||||
string="Stock Buffers"
|
||||
/>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="product_template_only_form_view_inherit" model="ir.ui.view">
|
||||
<field name="name">product.template.product.form.inherit</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="product.product_template_only_form_view" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath
|
||||
expr="//div[@name='button_box']/button[@name='action_view_mrp_area_parameters']"
|
||||
position="after"
|
||||
>
|
||||
<button
|
||||
type="object"
|
||||
name="action_view_stock_buffers"
|
||||
class="oe_stat_button"
|
||||
icon="fa-flask"
|
||||
attrs="{'invisible': [('buffer_count', '=', 0)]}"
|
||||
>
|
||||
<field
|
||||
name="buffer_count"
|
||||
widget="statinfo"
|
||||
string="Stock Buffers"
|
||||
/>
|
||||
</button>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2017-18 ForgeFlow S.L. (http://www.forgeflow.com)
|
||||
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->
|
||||
<odoo>
|
||||
<record id="purchase_order_line_execution_tree" model="ir.ui.view">
|
||||
<field name="name">purchase.order.line.tree - ddmrp</field>
|
||||
<field name="model">purchase.order.line</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree
|
||||
default_order='execution_priority_level,on_hand_percent'
|
||||
create="false"
|
||||
editable="top"
|
||||
delete="false"
|
||||
multi_edit="1"
|
||||
>
|
||||
<field name="order_id" widget="many2one" readonly="True" />
|
||||
<field name="partner_id" string="Vendor" />
|
||||
<field name="execution_priority_level" invisible="1" />
|
||||
<field
|
||||
name="on_hand_percent"
|
||||
options='{"buffer_id": "buffer_ids", "color_from": "execution_priority_level", "field": "ddmrp_chart_execution"}'
|
||||
widget="stock_buffer_info"
|
||||
/>
|
||||
<field name="product_qty" readonly="True" />
|
||||
<field name="product_id" readonly="True" />
|
||||
<field
|
||||
name="buffer_ids"
|
||||
string="Buffers"
|
||||
widget="many2many_tags"
|
||||
readonly="1"
|
||||
/>
|
||||
<field name="date_planned" />
|
||||
<field name="state" />
|
||||
<field name="ddmrp_comment" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="purchase_order_line_search" model="ir.ui.view">
|
||||
<field name="name">purchase.order.line.search - ddmrp</field>
|
||||
<field name="model">purchase.order.line</field>
|
||||
<field name="inherit_id" ref="purchase.purchase_order_line_search" />
|
||||
<field name="arch" type="xml">
|
||||
<filter name="hide_cancelled" position="after">
|
||||
<filter
|
||||
name="hide_no_buffer"
|
||||
string="Buffered"
|
||||
domain="[('buffer_ids','!=',False), ('execution_priority_level','!=',False)]"
|
||||
/>
|
||||
<separator />
|
||||
<group name="execution_priority" string="On Hand Alert Zones">
|
||||
<filter
|
||||
name="execution_priority_level_red"
|
||||
string="Red"
|
||||
domain="[('execution_priority_level', '=', '1_red')]"
|
||||
/>
|
||||
<filter
|
||||
name="execution_priority_level_yellow"
|
||||
string="Yellow"
|
||||
domain="[('execution_priority_level', '=', '2_yellow')]"
|
||||
/>
|
||||
<filter
|
||||
name="execution_priority_level_green"
|
||||
string="Green"
|
||||
domain="[('execution_priority_level', '=', '3_green')]"
|
||||
/>
|
||||
</group>
|
||||
</filter>
|
||||
</field>
|
||||
</record>
|
||||
<record id="po_line_execution_action" model="ir.actions.act_window">
|
||||
<field name="name">PO lines On-Hand Status</field>
|
||||
<field name="res_model">purchase.order.line</field>
|
||||
<field name="view_id" ref="purchase_order_line_execution_tree" />
|
||||
<field name="domain" />
|
||||
<field name="context">{"search_default_hide_no_buffer":1}</field>
|
||||
<field name="view_mode">tree</field>
|
||||
</record>
|
||||
<menuitem
|
||||
id="menu_pol_execution"
|
||||
action="po_line_execution_action"
|
||||
parent="purchase.menu_procurement_management"
|
||||
sequence="8"
|
||||
/>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- Copyright 2017-20 ForgeFlow S.L. (http://www.forgeflow.com)
|
||||
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->
|
||||
<odoo>
|
||||
<record id="purchase_order_form" model="ir.ui.view">
|
||||
<field name="name">purchase.order.form - ddmrp</field>
|
||||
<field name="model">purchase.order</field>
|
||||
<field name="inherit_id" ref="purchase.purchase_order_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath
|
||||
expr="//field[@name='order_line']//field[@name='date_planned']"
|
||||
position="after"
|
||||
>
|
||||
<field name="buffer_ids" invisible="1" />
|
||||
<field name="execution_priority_level" invisible="1" />
|
||||
<field
|
||||
name="on_hand_percent"
|
||||
options='{"buffer_id": "buffer_ids", "color_from": "execution_priority_level", "field": "ddmrp_chart_execution"}'
|
||||
widget="stock_buffer_info"
|
||||
/>
|
||||
</xpath>
|
||||
<xpath
|
||||
expr="//page[@name='purchase_delivery_invoice']/group/group"
|
||||
position="inside"
|
||||
>
|
||||
<field name="ddmrp_comment" />
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='order_line']/form//notebook" position="inside">
|
||||
<page
|
||||
name="buffers"
|
||||
string="Stock Buffers"
|
||||
groups="stock.group_stock_user"
|
||||
>
|
||||
<field name="buffer_ids" />
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_purchase_order_filter" model="ir.ui.view">
|
||||
<field name="name">request.quotation.select - ddmrp</field>
|
||||
<field name="model">purchase.order</field>
|
||||
<field name="inherit_id" ref="purchase.view_purchase_order_filter" />
|
||||
<field name="arch" type="xml">
|
||||
<filter name="order_date" position="before">
|
||||
<filter
|
||||
name="execution_priority_level_red"
|
||||
string="On-Hand Alert: Red"
|
||||
domain="[('order_line.execution_priority_level', '=', '1_red')]"
|
||||
/>
|
||||
<filter
|
||||
name="execution_priority_level_yellow"
|
||||
string="On-Hand Alert: Yellow"
|
||||
domain="[('order_line.execution_priority_level', '=', '2_yellow')]"
|
||||
/>
|
||||
<separator />
|
||||
</filter>
|
||||
</field>
|
||||
</record>
|
||||
<record id="purchase_order_line_form2" model="ir.ui.view">
|
||||
<field name="name">purchase.order.line.form2</field>
|
||||
<field name="model">purchase.order.line</field>
|
||||
<field name="inherit_id" ref="purchase.purchase_order_line_form2" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="name" position="after">
|
||||
<separator string="Stock Buffers" />
|
||||
<field name="buffer_ids" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record model="ir.ui.view" id="view_stock_buffer_profile_lead_time_form">
|
||||
<field name="name">stock.buffer.profile.lead.time.form</field>
|
||||
<field name="model">stock.buffer.profile.lead.time</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Buffer Profile Lead Time Factor">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only" />
|
||||
<h1>
|
||||
<field name="name" class="oe_inline" />
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group name="factor">
|
||||
<field name="factor" />
|
||||
</group>
|
||||
<group name="company" groups="base.group_multi_company">
|
||||
<field name="company_id" />
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_stock_buffer_profile_lead_time_tree">
|
||||
<field name="name">stock.buffer.profile.lead.time.tree</field>
|
||||
<field name="model">stock.buffer.profile.lead.time</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name" />
|
||||
<field name="factor" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_stock_buffer_profile_lead_time_search" model="ir.ui.view">
|
||||
<field name="name">stock.buffer.profile.lead.time.search</field>
|
||||
<field name="model">stock.buffer.profile.lead.time</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Buffer Profile Lead Time">
|
||||
<field name="name" />
|
||||
<field name="factor" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record
|
||||
model="ir.actions.act_window"
|
||||
id="stock_buffer_profile_lead_time_form_action"
|
||||
>
|
||||
<field name="name">Buffer Profile Lead Time Factor</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">stock.buffer.profile.lead.time</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_stock_buffer_profile_lead_time_search" />
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to start a new buffer profile lead time factor
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem
|
||||
id="menu_stock_buffer_profile_lead_time"
|
||||
parent="ddmrp.menu_ddmrp_config"
|
||||
action="stock_buffer_profile_lead_time_form_action"
|
||||
/>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record model="ir.ui.view" id="view_stock_buffer_profile_variability_form">
|
||||
<field name="name">stock.buffer.profile.variability.form</field>
|
||||
<field name="model">stock.buffer.profile.variability</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Buffer Profile Variability Factor">
|
||||
<sheet>
|
||||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only" />
|
||||
<h1>
|
||||
<field name="name" class="oe_inline" />
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group name="factor">
|
||||
<field name="factor" />
|
||||
</group>
|
||||
<group name="company" groups="base.group_multi_company">
|
||||
<field name="company_id" />
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="view_stock_buffer_profile_variability_tree">
|
||||
<field name="name">stock.buffer.profile.variability.tree</field>
|
||||
<field name="model">stock.buffer.profile.variability</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name" />
|
||||
<field name="factor" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_stock_buffer_profile_variability_search" model="ir.ui.view">
|
||||
<field name="name">stock.buffer.profile.variability.search</field>
|
||||
<field name="model">stock.buffer.profile.variability</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Buffer Profile Variability">
|
||||
<field name="name" />
|
||||
<field name="factor" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record
|
||||
model="ir.actions.act_window"
|
||||
id="stock_buffer_profile_variability_form_action"
|
||||
>
|
||||
<field name="name">Buffer Profile Variability Factor</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">stock.buffer.profile.variability</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field
|
||||
name="search_view_id"
|
||||
ref="view_stock_buffer_profile_variability_search"
|
||||
/>
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to start a new buffer profile variability factor
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem
|
||||
id="menu_stock_buffer_profile_variability"
|
||||
parent="ddmrp.menu_ddmrp_config"
|
||||
action="stock_buffer_profile_variability_form_action"
|
||||
/>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="view_stock_buffer_profile_form" model="ir.ui.view">
|
||||
<field name="name">stock.buffer.profile.form</field>
|
||||
<field name="model">stock.buffer.profile</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Buffer Profile">
|
||||
<sheet>
|
||||
<div class="oe_edit_only">
|
||||
<label for="name" class="oe_inline" />
|
||||
<h1>
|
||||
<field name="name" />
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group name="replenish_method">
|
||||
<field name="replenish_method" />
|
||||
</group>
|
||||
<group name="item_type">
|
||||
<field name="item_type" />
|
||||
</group>
|
||||
<group name="lead_time">
|
||||
<field name="lead_time_id" />
|
||||
</group>
|
||||
<group name="variability">
|
||||
<field name="variability_id" />
|
||||
</group>
|
||||
<group name="organization">
|
||||
<field
|
||||
name="company_id"
|
||||
groups="base.group_multi_company"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
</group>
|
||||
<group
|
||||
name="distributed_options"
|
||||
attrs="{'invisible': [('item_type', '!=', 'distributed')]}"
|
||||
>
|
||||
<field name="replenish_distributed_limit_to_free_qty" />
|
||||
<field name="distributed_reschedule_max_proc_time" />
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_stock_buffer_profile_tree" model="ir.ui.view">
|
||||
<field name="name">stock.buffer.profile.tree</field>
|
||||
<field name="model">stock.buffer.profile</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree>
|
||||
<field name="name" />
|
||||
<field name="replenish_method" />
|
||||
<field name="item_type" />
|
||||
<field name="lead_time_id" />
|
||||
<field name="variability_id" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_stock_buffer_profile_search" model="ir.ui.view">
|
||||
<field name="name">stock.buffer.profile.search</field>
|
||||
<field name="model">stock.buffer.profile</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Buffer Profiles">
|
||||
<field name="name" />
|
||||
<separator />
|
||||
<field name="item_type" />
|
||||
<field name="replenish_method" />
|
||||
<field name="lead_time_id" />
|
||||
<field name="variability_id" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="stock_buffer_profile_form_action" model="ir.actions.act_window">
|
||||
<field name="name">Buffer Profiles</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">stock.buffer.profile</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_stock_buffer_profile_search" />
|
||||
<field name="help" type="html">
|
||||
<p class="oe_view_nocontent_create">
|
||||
Click to start a new buffer profile
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
<menuitem
|
||||
id="menu_ddmrp_config"
|
||||
name="DDMRP"
|
||||
parent="stock.menu_stock_config_settings"
|
||||
/>
|
||||
<menuitem
|
||||
id="menu_stock_buffer_profile_mgt"
|
||||
parent="ddmrp.menu_ddmrp_config"
|
||||
action="stock_buffer_profile_form_action"
|
||||
/>
|
||||
</odoo>
|
||||
739
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/views/stock_buffer_view.xml
Normal file
739
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/views/stock_buffer_view.xml
Normal file
|
|
@ -0,0 +1,739 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<odoo>
|
||||
<record id="stock_buffer_view_tree" model="ir.ui.view">
|
||||
<field name="name">stock.buffer.tree</field>
|
||||
<field name="model">stock.buffer</field>
|
||||
<field name="priority">50</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree decoration-danger="procure_recommended_qty > 0">
|
||||
<header>
|
||||
<button
|
||||
name="action_request_procurement"
|
||||
type="object"
|
||||
string="Procure"
|
||||
/>
|
||||
</header>
|
||||
<field name="product_id" />
|
||||
<field name="product_vendor_code" optional="hide" />
|
||||
<field name="warehouse_id" optional="show" />
|
||||
<field name="location_id" groups="stock.group_stock_multi_locations" />
|
||||
<field
|
||||
name="product_uom"
|
||||
string="UoM"
|
||||
groups="uom.group_uom"
|
||||
optional="hide"
|
||||
/>
|
||||
<field name="planning_priority_level" invisible="1" />
|
||||
<field
|
||||
name="net_flow_position_percent"
|
||||
options='{"color_from": "planning_priority_level", "field": "ddmrp_chart"}'
|
||||
widget="stock_buffer_info"
|
||||
/>
|
||||
<field
|
||||
name="product_location_qty_available_not_res"
|
||||
string="On-Hand"
|
||||
optional="show"
|
||||
/>
|
||||
<field name="execution_priority_level" invisible="1" />
|
||||
<field
|
||||
name="on_hand_percent"
|
||||
options='{"color_from": "execution_priority_level", "field": "ddmrp_chart_execution"}'
|
||||
widget="stock_buffer_info"
|
||||
/>
|
||||
<button
|
||||
title="Refresh Buffer"
|
||||
name="refresh_buffer"
|
||||
icon="fa-refresh"
|
||||
type="object"
|
||||
/>
|
||||
<field name="incoming_dlt_qty" string="Incoming Within DLT" />
|
||||
<field
|
||||
name="incoming_outside_dlt_qty"
|
||||
string="Incoming Outside DLT"
|
||||
optional="hide"
|
||||
/>
|
||||
<field
|
||||
name="incoming_total_qty"
|
||||
string="Total Incoming"
|
||||
optional="show"
|
||||
/>
|
||||
<button
|
||||
title="Total Incoming"
|
||||
name="action_view_supply_moves"
|
||||
icon="fa-exchange"
|
||||
type="object"
|
||||
/>
|
||||
<field name="qualified_demand" />
|
||||
<field name="net_flow_position" />
|
||||
<field name="procure_recommended_qty" />
|
||||
<field name="procure_uom_id" groups="uom.group_uom" optional="show" />
|
||||
<button
|
||||
title="Create Procurement"
|
||||
name="%(ddmrp.act_make_procurement_from_buffer)d"
|
||||
icon="fa-cogs"
|
||||
type="action"
|
||||
/>
|
||||
<button
|
||||
title="Some incoming quantities are outside of the DLT Horizon and may require rescheduling. Press this button to display the involved supply orders"
|
||||
name="action_view_supply_moves_outside_dlt_window"
|
||||
icon="fa-warning"
|
||||
type="object"
|
||||
attrs="{'invisible':[('incoming_outside_dlt_qty', '=', 0)]}"
|
||||
/>
|
||||
<field name="rfq_total_qty" optional="hide" />
|
||||
<field name="rfq_outside_dlt_qty" invisible="1" />
|
||||
<button
|
||||
title="Some RFQ quantities are outside of the DLT Horizon and may require rescheduling.
|
||||
Press this button to display the involved RFQs"
|
||||
name="action_view_supply_rfq_outside_dlt_window"
|
||||
icon="fa-warning"
|
||||
type="object"
|
||||
attrs="{'invisible':[('rfq_outside_dlt_qty', '=', 0)]}"
|
||||
/>
|
||||
<field name="rfq_inside_dlt_qty" optional="hide" />
|
||||
<button
|
||||
title="Some RFQs are inside of the DLT Horizon and waiting validation to be accounted into the NFP.
|
||||
Press this button to display them."
|
||||
name="action_view_supply_rfq_inside_dlt_window"
|
||||
icon="fa-warning"
|
||||
type="object"
|
||||
attrs="{'invisible':[('rfq_inside_dlt_qty', '=', 0)]}"
|
||||
/>
|
||||
<button
|
||||
title="No stock available in source location for distributed buffer"
|
||||
name="action_dummy"
|
||||
icon="fa-warning"
|
||||
type="object"
|
||||
attrs="{'invisible':['|', ('distributed_source_location_id', '=', False), ('distributed_source_location_qty', '>', 0)]}"
|
||||
/>
|
||||
<field name="distributed_source_location_id" optional="hide" />
|
||||
<field name="distributed_source_location_qty" optional="hide" />
|
||||
<field name="item_type" optional="show" />
|
||||
<field name="main_supplier_id" optional="show" />
|
||||
<field name="adu" optional="hide" />
|
||||
<field name="dlt" optional="hide" />
|
||||
<field name="top_of_red" optional="hide" />
|
||||
<field name="top_of_yellow" optional="hide" />
|
||||
<field name="top_of_green" optional="hide" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="stock_buffer_view_form" model="ir.ui.view">
|
||||
<field name="name">stock.buffer.form</field>
|
||||
<field name="model">stock.buffer</field>
|
||||
<field name="arch" type="xml">
|
||||
<form duplicate="0">
|
||||
<header>
|
||||
<button
|
||||
string="Refresh Buffer"
|
||||
name="refresh_buffer"
|
||||
icon="fa-refresh"
|
||||
type="object"
|
||||
/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_button_box" name="button_box">
|
||||
<button
|
||||
type="object"
|
||||
name="action_view_yearly_consumption"
|
||||
class="oe_stat_button"
|
||||
string="Consumption"
|
||||
icon="fa-fire"
|
||||
/>
|
||||
<button
|
||||
type="object"
|
||||
name="action_view_stock_demand_estimates"
|
||||
class="oe_stat_button"
|
||||
string="Estimates"
|
||||
icon="fa-signal"
|
||||
attrs="{'invisible': [('adu_calculation_method_type', '!=', 'future')]}"
|
||||
/>
|
||||
<button
|
||||
type="object"
|
||||
name="action_view_bom"
|
||||
class="oe_stat_button"
|
||||
string="Bill of Materials"
|
||||
icon="fa-flask"
|
||||
attrs="{'invisible': [('item_type', '!=', 'manufactured')]}"
|
||||
/>
|
||||
<button
|
||||
type="object"
|
||||
name="action_view_mrp_productions"
|
||||
class="oe_stat_button"
|
||||
string="Manufacturing Orders"
|
||||
icon="fa-wrench"
|
||||
attrs="{'invisible': [('item_type', '!=', 'manufactured')]}"
|
||||
/>
|
||||
<button
|
||||
type="object"
|
||||
name="action_view_purchase"
|
||||
class="oe_stat_button"
|
||||
string="Purchase Orders"
|
||||
icon="fa-credit-card"
|
||||
attrs="{'invisible': [('item_type', '!=', 'purchased')]}"
|
||||
/>
|
||||
<button
|
||||
class="oe_stat_button"
|
||||
name="action_used_in_bom"
|
||||
type="object"
|
||||
attrs="{'invisible':['|',('product_type', 'not in', ['product', 'consu']), ('used_in_bom_count', '=', 0)]}"
|
||||
icon="fa-level-up"
|
||||
>
|
||||
<field
|
||||
string="Used In"
|
||||
name="used_in_bom_count"
|
||||
widget="statinfo"
|
||||
/>
|
||||
</button>
|
||||
</div>
|
||||
<widget
|
||||
name="web_ribbon"
|
||||
title="Archived"
|
||||
bg_color="bg-danger"
|
||||
attrs="{'invisible': [('active', '=', True)]}"
|
||||
/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="active" invisible="1" />
|
||||
<field name="name" />
|
||||
<field name="product_id" />
|
||||
<field
|
||||
name="product_uom"
|
||||
options="{'no_open': True, 'no_create': True}"
|
||||
groups="uom.group_uom"
|
||||
/>
|
||||
<field name="product_type" invisible="1" />
|
||||
</group>
|
||||
<group>
|
||||
<field
|
||||
name="location_id"
|
||||
groups="stock.group_stock_multi_locations"
|
||||
/>
|
||||
<field
|
||||
name="warehouse_id"
|
||||
widget="selection"
|
||||
groups="stock.group_stock_multi_locations"
|
||||
/>
|
||||
<field
|
||||
name="company_id"
|
||||
groups="base.group_multi_company"
|
||||
options="{'no_create': True}"
|
||||
/>
|
||||
</group>
|
||||
<group name="buffer_size_factors">
|
||||
<group
|
||||
name="main_buffer_size_factors"
|
||||
string="Main Buffer size factors"
|
||||
colspan="2"
|
||||
>
|
||||
<field name="buffer_profile_id" />
|
||||
<field name="replenish_method" invisible="1" />
|
||||
<field name="item_type" invisible="1" />
|
||||
<field
|
||||
name="green_override"
|
||||
attrs="{'invisible': [('replenish_method', '!=', 'replenish_override')]}"
|
||||
/>
|
||||
<field
|
||||
name="yellow_override"
|
||||
attrs="{'invisible': [('replenish_method', '!=', 'replenish_override')]}"
|
||||
/>
|
||||
<field
|
||||
name="red_override"
|
||||
attrs="{'invisible': [('replenish_method', '!=', 'replenish_override')]}"
|
||||
/>
|
||||
<field name="adu_calculation_method" />
|
||||
<field
|
||||
name="adu_calculation_method_type"
|
||||
invisible="1"
|
||||
/>
|
||||
<field
|
||||
name="adu_fixed"
|
||||
attrs="{'invisible': [('adu_calculation_method_type', '!=', 'fixed')]}"
|
||||
/>
|
||||
<label for="adu" />
|
||||
<div name="adu" class="o_row">
|
||||
<field
|
||||
name="adu"
|
||||
force_save="1"
|
||||
class="oe_inline"
|
||||
/>
|
||||
<button
|
||||
title="View ADU (Past - Direct Demand)"
|
||||
name="action_view_past_adu_direct_demand"
|
||||
icon="fa-search"
|
||||
type="object"
|
||||
attrs="{'invisible': ['|', ('adu_calculation_method_type', 'in', ['fixed', 'future']), ('adu', '=', 0)]}"
|
||||
/>
|
||||
<button
|
||||
title="View ADU (Past - Indirect Demand)"
|
||||
name="action_view_past_adu_indirect_demand"
|
||||
icon="fa-search"
|
||||
type="object"
|
||||
attrs="{'invisible': ['|', '|', ('adu_calculation_method_type', 'in', ['fixed', 'future']), ('used_in_bom_count', '=', 0), ('adu', '=', 0)]}"
|
||||
/>
|
||||
<button
|
||||
title="View ADU (Future - Direct Demand)"
|
||||
name="action_view_future_adu_direct_demand"
|
||||
icon="fa-search"
|
||||
type="object"
|
||||
attrs="{'invisible': ['|', ('adu_calculation_method_type', 'in', ['fixed', 'past']), ('adu', '=', 0)]}"
|
||||
/>
|
||||
<button
|
||||
title="View ADU (Future - Indirect Demand)"
|
||||
name="action_view_future_adu_indirect_demand"
|
||||
icon="fa-search"
|
||||
type="object"
|
||||
attrs="{'invisible': ['|', '|', ('adu_calculation_method_type', 'in', ['fixed', 'past']), ('used_in_bom_count', '=', 0), ('adu', '=', 0)]}"
|
||||
/>
|
||||
</div>
|
||||
<field
|
||||
name="lead_days"
|
||||
attrs="{'invisible': [('item_type', '!=', 'distributed')]}"
|
||||
/>
|
||||
<label for="dlt" />
|
||||
<div name="dlt">
|
||||
<field name="dlt" class="oe_inline" /> days
|
||||
</div>
|
||||
</group>
|
||||
<group />
|
||||
<group
|
||||
name="secondary_buffer_size_factors"
|
||||
string="Secondary Buffer size factors"
|
||||
colspan="2"
|
||||
>
|
||||
<label for="extra_lead_time" />
|
||||
<div name="extra_lead_time">
|
||||
<field
|
||||
name="extra_lead_time"
|
||||
class="oe_inline"
|
||||
/> days
|
||||
</div>
|
||||
<field name="minimum_order_quantity" />
|
||||
<label for="order_cycle" />
|
||||
<div name="order_cycle">
|
||||
<field name="order_cycle" class="oe_inline" /> days
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
<group name="ddmrp_chart" string="Buffer summary">
|
||||
|
||||
<div colspan="2">
|
||||
<field
|
||||
name="ddmrp_chart"
|
||||
widget="bokeh_chart"
|
||||
nolabel="1"
|
||||
attrs="{'invisible': [('show_execution_chart', '=', True)]}"
|
||||
/>
|
||||
<field
|
||||
name="ddmrp_chart_execution"
|
||||
widget="bokeh_chart"
|
||||
nolabel="1"
|
||||
attrs="{'invisible': [('show_execution_chart', '=', False)]}"
|
||||
/>
|
||||
</div>
|
||||
<div cols="3">
|
||||
<label
|
||||
for="show_execution_chart"
|
||||
string="Planning"
|
||||
class="text-muted"
|
||||
attrs="{'invisible': [('show_execution_chart', '=', False)]}"
|
||||
/>
|
||||
<label
|
||||
for="show_execution_chart"
|
||||
string="Planning"
|
||||
style="font-weight: bold;"
|
||||
attrs="{'invisible': [('show_execution_chart', '=', True)]}"
|
||||
/>
|
||||
<field
|
||||
name="show_execution_chart"
|
||||
widget="boolean_toggle"
|
||||
nolabel="1"
|
||||
options="{'autosave': False}"
|
||||
/>
|
||||
<label
|
||||
for="show_execution_chart"
|
||||
string="Execution"
|
||||
class="text-muted"
|
||||
attrs="{'invisible': [('show_execution_chart', '=', True)]}"
|
||||
/>
|
||||
<label
|
||||
for="show_execution_chart"
|
||||
string="Execution"
|
||||
style="font-weight: bold;"
|
||||
attrs="{'invisible': [('show_execution_chart', '=', False)]}"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
<group name="execution_settings">
|
||||
<group
|
||||
name="qualified_demand"
|
||||
string="Qualified Demand"
|
||||
colspan="2"
|
||||
>
|
||||
<label for="order_spike_horizon" />
|
||||
<div name="order_spike_horizon">
|
||||
<field
|
||||
name="order_spike_horizon"
|
||||
class="oe_inline"
|
||||
/> days
|
||||
</div>
|
||||
<field name="order_spike_threshold" />
|
||||
</group>
|
||||
<group
|
||||
name="procurement_settings"
|
||||
string="Procurement Settings"
|
||||
colspan="2"
|
||||
>
|
||||
<field name="procure_uom_id" groups="uom.group_uom" />
|
||||
<field name="qty_multiple" />
|
||||
<field name="procure_min_qty" />
|
||||
<field name="procure_max_qty" />
|
||||
<field
|
||||
name="group_id"
|
||||
groups="stock.group_adv_location"
|
||||
/>
|
||||
<field
|
||||
name="distributed_source_location_id"
|
||||
attrs="{'invisible': ['|', ('item_type', '!=', 'distributed'), ('distributed_source_location_id', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="distributed_source_location_qty"
|
||||
attrs="{'invisible': ['|', ('item_type', '!=', 'distributed'), ('distributed_source_location_id', '=', False)]}"
|
||||
/>
|
||||
<field
|
||||
name="main_supplier_id"
|
||||
attrs="{'invisible': [('item_type', '!=', 'purchased')]}"
|
||||
/>
|
||||
<field
|
||||
name="product_vendor_code"
|
||||
attrs="{'invisible': [('product_vendor_code', '=', False)]}"
|
||||
/>
|
||||
<field name="auto_procure" />
|
||||
<field
|
||||
name="auto_procure_option"
|
||||
attrs="{'invisible': [('auto_procure', '=', False)]}"
|
||||
/>
|
||||
</group>
|
||||
</group>
|
||||
<group name="buffer_summary">
|
||||
<group
|
||||
name="buffer_information"
|
||||
string="Buffer Information"
|
||||
colspan="2"
|
||||
>
|
||||
<field name="product_location_qty_available_not_res" />
|
||||
<label for="incoming_dlt_qty" />
|
||||
<div name="incoming_dlt_qty" class="o_row">
|
||||
<field name="incoming_dlt_qty" class="oe_inline" />
|
||||
<button
|
||||
title="View Incoming Moves (Within DLT)"
|
||||
name="action_view_supply_moves_inside_dlt_window"
|
||||
icon="fa-search"
|
||||
type="object"
|
||||
attrs="{'invisible': [('incoming_dlt_qty', '=', 0)]}"
|
||||
/>
|
||||
</div>
|
||||
<label for="incoming_outside_dlt_qty" />
|
||||
<div name="incoming_outside_dlt_qty" class="o_row">
|
||||
<field
|
||||
name="incoming_outside_dlt_qty"
|
||||
class="oe_inline"
|
||||
/>
|
||||
<button
|
||||
title="Some incoming qty is outside of the DLT Horizon and may require rescheduling.
|
||||
Press this button to display the involved supply orders"
|
||||
name="action_view_supply_moves_outside_dlt_window"
|
||||
icon="fa-warning"
|
||||
type="object"
|
||||
attrs="{'invisible':[('incoming_outside_dlt_qty', '=', 0)]}"
|
||||
/>
|
||||
<field name="rfq_outside_dlt_qty" invisible="1" />
|
||||
<button
|
||||
title="Some incoming RFQs are outside of the DLT Horizon and may require rescheduling.
|
||||
Press this button to display the involved supply orders"
|
||||
name="action_view_supply_rfq_outside_dlt_window"
|
||||
icon="fa-warning"
|
||||
type="object"
|
||||
attrs="{'invisible':[('rfq_outside_dlt_qty', '=', 0)]}"
|
||||
/>
|
||||
</div>
|
||||
<label for="qualified_demand" />
|
||||
<div name="qualified_demand" class="o_row">
|
||||
<field name="qualified_demand" class="oe_inline" />
|
||||
<field
|
||||
name="qualified_demand_stock_move_ids"
|
||||
invisible="1"
|
||||
/>
|
||||
<field
|
||||
name="qualified_demand_mrp_move_ids"
|
||||
invisible="1"
|
||||
/>
|
||||
<button
|
||||
title="View Qualified Demand from Pickings"
|
||||
name="action_view_qualified_demand_moves"
|
||||
icon="fa-search"
|
||||
type="object"
|
||||
attrs="{'invisible': ['|', ('qualified_demand', '=', 0), ('qualified_demand_stock_move_ids', '=', [])]}"
|
||||
/>
|
||||
<button
|
||||
title="View Qualified Demand from MRP"
|
||||
name="action_view_qualified_demand_mrp"
|
||||
icon="fa-search"
|
||||
type="object"
|
||||
attrs="{'invisible': ['|', ('qualified_demand', '=', 0), ('qualified_demand_mrp_move_ids', '=', [])]}"
|
||||
/>
|
||||
<field name="rfq_inside_dlt_qty" invisible="1" />
|
||||
<button
|
||||
title="Some RFQs are inside of the DLT Horizon and waiting validation to be accounted into the NFP.
|
||||
Press this button to display them."
|
||||
name="action_view_supply_rfq_inside_dlt_window"
|
||||
icon="fa-warning"
|
||||
type="object"
|
||||
attrs="{'invisible':[('rfq_inside_dlt_qty', '=', 0)]}"
|
||||
/>
|
||||
</div>
|
||||
<field name="net_flow_position" />
|
||||
<label for="net_flow_position_percent" />
|
||||
<div name="net_flow_position_percent">
|
||||
<field
|
||||
name="net_flow_position_percent"
|
||||
class="oe_inline"
|
||||
/> %
|
||||
</div>
|
||||
</group>
|
||||
<group />
|
||||
<group
|
||||
name="buffer_target"
|
||||
string="On Hand Target"
|
||||
colspan="2"
|
||||
>
|
||||
<label for="on_hand_target_position" />
|
||||
<div name="on_hand_target_position_uom" class="o_row">
|
||||
<field name="on_hand_target_position" />
|
||||
</div>
|
||||
<label for="on_hand_target_min" />
|
||||
<div name="on_hand_target_range">
|
||||
<field
|
||||
name="on_hand_target_min"
|
||||
class="oe_inline"
|
||||
/> -
|
||||
<field
|
||||
name="on_hand_target_max"
|
||||
class="oe_inline"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Supply & Demand" name="demand_supply_bars">
|
||||
<group>
|
||||
<group string="Supply">
|
||||
<div style="margin-top: 1em;">
|
||||
<field
|
||||
name="ddmrp_supply_chart"
|
||||
style="height:400px"
|
||||
widget="bokeh_chart"
|
||||
nolabel="1"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
<group string="Demand">
|
||||
<div style="margin-top: 1em;">
|
||||
<field
|
||||
name="ddmrp_demand_chart"
|
||||
style="height:400px"
|
||||
widget="bokeh_chart"
|
||||
nolabel="1"
|
||||
/>
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page name="zones_info" string="Zones Information">
|
||||
<group col="3">
|
||||
<group name="green_zone" string="Green zone">
|
||||
<div class="no_print" colspan="2">
|
||||
<p
|
||||
class="oe_grey"
|
||||
>The green zone determines the average order frequency and the order size. It is determined as the maximum of the following three factors: Minimum Order Cycle, Lead Time Factor and Minimum Order Quantity.</p>
|
||||
</div>
|
||||
<field name="green_zone_oc" />
|
||||
<field name="green_zone_moq" />
|
||||
<field name="green_zone_lt_factor" />
|
||||
<field name="green_zone_qty" />
|
||||
</group>
|
||||
<group name="yellow_zone" string="Yellow zone">
|
||||
<div class="no_print" colspan="2">
|
||||
<p
|
||||
class="oe_grey"
|
||||
>The yellow zone represents the stock required to cover a full lead time.</p>
|
||||
</div>
|
||||
<field name="yellow_zone_qty" />
|
||||
</group>
|
||||
<group name="red_zone" string="Red zone">
|
||||
<div class="no_print" colspan="2">
|
||||
<p
|
||||
class="oe_grey"
|
||||
>The red zone is the embedded safety in the buffer. The larger the variability associated with the product, the larger the red zone will be. It is composed of two sub-zones: Red base and red safety.</p>
|
||||
</div>
|
||||
<field name="red_base_qty" />
|
||||
<field name="red_safety_qty" />
|
||||
<field name="red_zone_qty" />
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="stock_buffer_search" model="ir.ui.view">
|
||||
<field name="name">stock.buffer.search</field>
|
||||
<field name="model">stock.buffer</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field
|
||||
name="name"
|
||||
string="Buffer"
|
||||
filter_domain="[
|
||||
'|', '|',
|
||||
('name', 'ilike', self), ('product_id', 'ilike', self), ('location_id', 'ilike', self)]"
|
||||
/>
|
||||
<field name="buffer_profile_id" />
|
||||
<field
|
||||
name="warehouse_id"
|
||||
groups="stock.group_stock_multi_warehouses"
|
||||
/>
|
||||
<field name="location_id" groups="stock.group_stock_multi_locations" />
|
||||
<field name="main_supplier_id" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
<field name="product_id" />
|
||||
<field name="product_categ_id" />
|
||||
<field name="dlt" />
|
||||
<field name="order_cycle" />
|
||||
<field name="minimum_order_quantity" />
|
||||
<field name="planning_priority_level" />
|
||||
<field name="execution_priority_level" />
|
||||
<group name="planning_priority" string="Planning Priority Zones">
|
||||
<filter
|
||||
name="planning_priority_level_red"
|
||||
string="Red"
|
||||
domain="[('planning_priority_level', '=', '1_red')]"
|
||||
/>
|
||||
<filter
|
||||
name="planning_priority_level_yellow"
|
||||
string="Yellow"
|
||||
domain="[('planning_priority_level', '=', '2_yellow')]"
|
||||
/>
|
||||
<filter
|
||||
name="planning_priority_level_green"
|
||||
string="Green"
|
||||
domain="[('planning_priority_level', '=', '3_green')]"
|
||||
/>
|
||||
</group>
|
||||
<separator />
|
||||
<group name="execution_priority" string="On Hand Alert Zones">
|
||||
<filter
|
||||
name="execution_priority_level_red"
|
||||
string="Red"
|
||||
domain="[('execution_priority_level', '=', '1_red')]"
|
||||
/>
|
||||
<filter
|
||||
name="execution_priority_level_yellow"
|
||||
string="Yellow"
|
||||
domain="[('execution_priority_level', '=', '2_yellow')]"
|
||||
/>
|
||||
<filter
|
||||
name="execution_priority_level_green"
|
||||
string="Green"
|
||||
domain="[('execution_priority_level', '=', '3_green')]"
|
||||
/>
|
||||
</group>
|
||||
<separator />
|
||||
<group name="item_type" string="Type">
|
||||
<filter
|
||||
name="item_type_manufactured"
|
||||
string="Manufactured"
|
||||
domain="[('item_type', '=', 'manufactured')]"
|
||||
/>
|
||||
<filter
|
||||
name="item_type_purchased"
|
||||
string="Purchased"
|
||||
domain="[('item_type', '=', 'purchased')]"
|
||||
/>
|
||||
<filter
|
||||
name="item_type_distributed"
|
||||
string="Distributed"
|
||||
domain="[('item_type', '=', 'distributed')]"
|
||||
/>
|
||||
</group>
|
||||
<separator />
|
||||
<group name="procure_recommendation" string="Procurement">
|
||||
<filter
|
||||
name="procure_recommended"
|
||||
string="Procurement recommended"
|
||||
domain="[('procure_recommended_qty', '>', 0.0)]"
|
||||
/>
|
||||
</group>
|
||||
<separator />
|
||||
<filter
|
||||
name="has_long_term_supply"
|
||||
string="Has Long Term Supply"
|
||||
domain="['|', ('incoming_outside_dlt_qty', '>', 0), ('rfq_outside_dlt_qty', '>', 0)]"
|
||||
/>
|
||||
<separator />
|
||||
<filter
|
||||
name="has_distributed_source_location_qty"
|
||||
string="Has Stock In Source Location"
|
||||
domain="[('distributed_source_location_qty', '>', 0)]"
|
||||
/>
|
||||
<separator />
|
||||
<filter
|
||||
string="Archived"
|
||||
name="inactive"
|
||||
domain="[('active','=',False)]"
|
||||
/>
|
||||
<group expand="0" string="Group By">
|
||||
<filter
|
||||
string="Warehouse"
|
||||
name="warehouse"
|
||||
domain="[]"
|
||||
context="{'group_by':'warehouse_id'}"
|
||||
groups="stock.group_stock_multi_warehouses"
|
||||
/>
|
||||
<filter
|
||||
string="Location"
|
||||
name="location"
|
||||
domain="[]"
|
||||
context="{'group_by':'location_id'}"
|
||||
groups="stock.group_stock_multi_locations"
|
||||
/>
|
||||
<filter
|
||||
string="Main supplier"
|
||||
name="main_supplier_group_filter"
|
||||
domain="[]"
|
||||
context="{'group_by':'main_supplier_id'}"
|
||||
/>
|
||||
<filter
|
||||
string="Product Category"
|
||||
name="product_categ_id"
|
||||
domain="[]"
|
||||
context="{'group_by': 'product_categ_id'}"
|
||||
/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_stock_buffer" model="ir.actions.act_window">
|
||||
<field name="name">Stock Buffers</field>
|
||||
<field name="res_model">stock.buffer</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{'location_id': False}</field>
|
||||
</record>
|
||||
<menuitem
|
||||
id="menu_stock_buffer"
|
||||
parent="stock.menu_stock_inventory_control"
|
||||
action="action_stock_buffer"
|
||||
/>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2018-20 ForgeFlow S.L. (http://www.forgeflow.com)
|
||||
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl-3.0) -->
|
||||
<odoo>
|
||||
<record id="view_move_tree" model="ir.ui.view">
|
||||
<field name="name">stock.move.tree</field>
|
||||
<field name="model">stock.move</field>
|
||||
<field name="inherit_id" ref="stock.view_move_tree" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="state" position="after">
|
||||
<button
|
||||
title="Go to Source"
|
||||
name="action_open_stock_move_source"
|
||||
icon="fa-arrow-right"
|
||||
type="object"
|
||||
/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_move_form" model="ir.ui.view">
|
||||
<field name="name">stock.move.form</field>
|
||||
<field name="model">stock.move</field>
|
||||
<field name="inherit_id" ref="stock.view_move_form" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="date" position="attributes">
|
||||
<attribute name="invisible">False</attribute>
|
||||
</field>
|
||||
<field name="move_dest_ids" position="after">
|
||||
<field name="buffer_ids" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_move_consumption_pivot" model="ir.ui.view">
|
||||
<field name="name">stock.move.consumption.pivot</field>
|
||||
<field name="model">stock.move</field>
|
||||
<field name="arch" type="xml">
|
||||
<pivot string="Stock Moves Yearly Consumption">
|
||||
<field name="date" interval="month" type="row" />
|
||||
<field name="location_dest_id" type="col" />
|
||||
<field name="product_uom_qty" type="measure" />
|
||||
</pivot>
|
||||
</field>
|
||||
</record>
|
||||
<record id="stock_move_year_consumption_action" model="ir.actions.act_window">
|
||||
<field name="name">Stock Move Last Year Consumption</field>
|
||||
<field name="res_model">stock.move</field>
|
||||
<field name="view_id" ref="ddmrp.view_move_consumption_pivot" />
|
||||
<field
|
||||
name="context"
|
||||
>{"time_ranges": {"field": "date", "range": "last_365_days"}}</field>
|
||||
<field name="domain" />
|
||||
<field name="view_mode">pivot</field>
|
||||
</record>
|
||||
</odoo>
|
||||
19
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/views/stock_picking.xml
Normal file
19
odoo-bringout-oca-ddmrp-ddmrp/ddmrp/views/stock_picking.xml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<record id="view_picking_form" model="ir.ui.view">
|
||||
<field name="name">stock.picking.form.inherit</field>
|
||||
<field name="model">stock.picking</field>
|
||||
<field name="inherit_id" ref="stock.view_picking_form" />
|
||||
<field name="arch" type="xml">
|
||||
<div name="button_box" position="inside">
|
||||
<button
|
||||
name="action_stock_buffer_open"
|
||||
type="object"
|
||||
string="Product Buffers"
|
||||
class="oe_stat_button"
|
||||
icon="fa-tasks"
|
||||
/>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2018 ForgeFlow S.L. (http://www.forgeflow.com)
|
||||
License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl). -->
|
||||
<odoo>
|
||||
<record id="view_warehouse" model="ir.ui.view">
|
||||
<field name="name">stock.warehouse</field>
|
||||
<field name="model">stock.warehouse</field>
|
||||
<field name="inherit_id" ref="stock.view_warehouse" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@name='warehouse_config']/group" position="inside">
|
||||
<group name="ddmrp" string="DDMRP">
|
||||
<field name="nfp_incoming_safety_factor" />
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Loading…
Add table
Add a link
Reference in a new issue