New report to easily order missing products in each warehouse. Orderpoint have a new type: 'manual'. Manual orderpoint are not trigger by the scheduler but the user could create replenishment from the report directly. The report use the forecast report in order to detect missing quantity for today (it does not search depending the lead time for each product warehouse due to lake of performance). It compares missing quantity with incoming RFQ and other ongoing orderpoint. If it still missing a new entry for replenihsment is created (it's also automaticaly deleted if the replenihsment has been done another way). Task: 2161378
446 lines
32 KiB
XML
446 lines
32 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
<data>
|
|
<!-- Manufacturing Order -->
|
|
<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="arch" type="xml">
|
|
<tree string="Manufacturing Orders" default_order="date_planned_start desc"
|
|
decoration-bf="message_needaction==True" decoration-info="state=='confirmed'"
|
|
decoration-danger="date_planned_start<current_date and state not in ('done','cancel')"
|
|
decoration-muted="state in ('done','cancel')" multi_edit="1">
|
|
<field name="message_needaction" invisible="1"/>
|
|
<field name="name"/>
|
|
<field name="date_planned_start" readonly="1" optional="show"
|
|
attrs="{'readonly': [('state', 'in', ['done', 'cancel'])]}"/>
|
|
<field name="product_id" readonly="1" optional="show"/>
|
|
<field name="product_uom_id" string="Unit of Measure" options="{'no_open':True,'no_create':True}" groups="uom.group_uom" optional="show"/>
|
|
<field name="bom_id" readonly="1" optional="hide"/>
|
|
<field name="origin" optional="show"/>
|
|
<field name="user_id" optional="hide"/>
|
|
<field name="routing_id" groups="mrp.group_mrp_routings" optional="show"/>
|
|
<field name="reservation_state" optional="show"/>
|
|
<field name="product_qty" sum="Total Qty" string="Quantity" readonly="1" optional="show"/>
|
|
<field name="state" optional="show"/>
|
|
<field name="company_id" readonly="1" groups="base.group_multi_company" optional="show"/>
|
|
<field name="activity_exception_decoration" widget="activity_exception"/>
|
|
<field name="delay_alert_date" invisible="1"/>
|
|
<field string=" " name="json_popover" widget="stock_rescheduling_popover" attrs="{'invisible': [('delay_alert_date', '=', False)]}"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="production_order_server_action" model="ir.actions.server">
|
|
<field name="name">Mrp: Plan Production Orders</field>
|
|
<field name="model_id" ref="mrp.model_mrp_production"/>
|
|
<field name="binding_model_id" ref="mrp.model_mrp_production"/>
|
|
<field name="binding_view_types">list</field>
|
|
<field name="groups_id" eval="[(4, ref('mrp.group_mrp_routings'))]"/>
|
|
<field name="state">code</field>
|
|
<field name="code">records.button_plan()</field>
|
|
</record>
|
|
|
|
<record id="mrp_production_form_view" model="ir.ui.view">
|
|
<field name="name">mrp.production.form</field>
|
|
<field name="model">mrp.production</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Manufacturing Orders">
|
|
<header>
|
|
<field name="confirm_cancel" invisible="1"/>
|
|
<button name="button_mark_done" attrs="{'invisible': [('state', '!=', 'to_close')]}" string="Mark as Done" type="object" class="oe_highlight"/>
|
|
<button name="action_confirm" attrs="{'invisible': ['|', ('state', '!=', 'draft'), ('is_locked', '=', False)]}" string="Mark as Todo" type="object" class="oe_highlight"/>
|
|
<button name="action_assign" attrs="{'invisible': ['|', '|', ('is_locked', '=', False), ('state', 'in', ('draft', 'done', 'cancel')), ('reserve_visible', '=', False)]}" string="Check availability" type="object" class="oe_highlight"/>
|
|
<button name="button_plan" attrs="{'invisible': ['|', ('state', '!=', 'confirmed'), ('routing_id', '=', False)]}" type="object" string="Plan" class="oe_highlight"/>
|
|
<button name="button_unplan" type="object" string="Unplan" attrs="{'invisible': ['|', '|', ('state', '!=', 'planned'), ('date_planned_start', '=', False), ('date_planned_finished', '=', False)]}"/>
|
|
<button name="open_produce_product" attrs="{'invisible': ['|', '|', '|', ('state', '=', 'to_close'), ('is_locked', '=', False), ('reservation_state', '!=', 'assigned'), ('routing_id', '!=', False)]}" string="Produce" type="object" class="oe_highlight"/>
|
|
<button name="open_produce_product" attrs="{'invisible': ['|', '|', '|', ('state', '=', 'to_close'), ('is_locked', '=', False), ('reservation_state', 'not in', ('confirmed', 'waiting')), ('routing_id', '!=', False)]}" string="Produce" type="object"/>
|
|
<button name="post_inventory" string="Post Inventory" type="object" attrs="{'invisible': [('post_visible', '=', False)]}"/>
|
|
<button name="button_scrap" type="object" string="Scrap" attrs="{'invisible': ['|', ('state', 'in', ('cancel', 'draft')), ('is_locked', '=', False)]}"/>
|
|
<button name="button_unreserve" type="object" string="Unreserve" attrs="{'invisible': [('unreserve_visible', '=', False)]}"/>
|
|
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done"/>
|
|
<button name="action_toggle_is_locked" attrs="{'invisible': ['|', '|', ('state', 'in', ('cancel', 'draft')), ('id', '=', False), ('is_locked', '=', False)]}" string="Unlock" groups="mrp.group_mrp_manager" type="object" help="Unlock the manufacturing order to correct what has been consumed or produced."/>
|
|
<button name="action_toggle_is_locked" attrs="{'invisible': [('is_locked', '=', True)]}" string="Lock" class="oe_highlight" groups="mrp.group_mrp_manager" type="object"/>
|
|
<button name="action_cancel" type="object" string="Cancel"
|
|
attrs="{'invisible': ['|', '|', '|', ('id', '=', False), ('is_locked', '=', False), ('state', 'in', ('done','cancel')), ('confirm_cancel', '=', True)]}"/>
|
|
<button name="action_cancel" type="object" string="Cancel"
|
|
attrs="{'invisible': ['|', '|', '|', ('id', '=', False), ('is_locked', '=', False), ('state', 'in', ('done','cancel')), ('confirm_cancel', '=', False)]}"
|
|
confirm="Some product moves have already been confirmed, this manufacturing order can't be completely cancelled. Are you still sure you want to process ?"/>
|
|
<button name="button_unbuild" type="object" string="Unbuild" attrs="{'invisible': [('state', '!=', 'done')]}"/>
|
|
</header>
|
|
<sheet>
|
|
<field name="reservation_state" invisible="1"/>
|
|
<field name="is_locked" invisible="1"/>
|
|
<field name="post_visible" invisible="1"/>
|
|
<field name="unreserve_visible" invisible="1"/>
|
|
<field name="reserve_visible" invisible="1"/>
|
|
<field name="consumption" invisible="1"/>
|
|
<div class="oe_button_box" name="button_box">
|
|
<button name="%(stock.action_stock_report)d" icon="fa-arrow-up" class="oe_stat_button" string="Traceability" type="action" states="done" groups="stock.group_production_lot"/>
|
|
<button name="%(action_mrp_workorder_production_specific)d" type="action" attrs="{'invisible': [('workorder_count', '=', 0)]}" class="oe_stat_button" icon="fa-play-circle-o">
|
|
<div class="o_field_widget o_stat_info">
|
|
<span class="o_stat_value"><field name="workorder_done_count" widget="statinfo" nolabel="1"/> / <field name="workorder_count" widget="statinfo" nolabel="1"/></span>
|
|
<span class="o_stat_text">Work Orders</span>
|
|
</div>
|
|
</button>
|
|
<button name="%(action_mrp_production_moves)d" type="action" string="Product Moves" class="oe_stat_button" icon="fa-exchange" attrs="{'invisible': [('state', 'not in', ('progress', 'done'))]}"/>
|
|
<button type="object" name="action_view_mo_delivery" class="oe_stat_button" icon="fa-truck" groups="base.group_user" attrs="{'invisible': [('delivery_count', '=', 0)]}">
|
|
<field name="delivery_count" widget="statinfo" string="Transfers"/>
|
|
</button>
|
|
<button class="oe_stat_button" name="action_see_move_scrap" type="object" icon="fa-arrows-v" attrs="{'invisible': [('scrap_count', '=', 0)]}">
|
|
<div class="o_field_widget o_stat_info">
|
|
<span class="o_stat_value"><field name="scrap_count"/></span>
|
|
<span class="o_stat_text">Scraps</span>
|
|
</div>
|
|
</button>
|
|
<button class="oe_stat_button" name="action_view_mrp_production_childs" type="object" icon="fa-wrench" attrs="{'invisible': [('mrp_production_child_count', '=', 0)]}">
|
|
<div class="o_field_widget o_stat_info">
|
|
<span class="o_stat_value"><field name="mrp_production_child_count"/></span>
|
|
<span class="o_stat_text">Child MO's</span>
|
|
</div>
|
|
</button>
|
|
<button class="oe_stat_button" name="action_view_mrp_production_sources" type="object" icon="fa-wrench" attrs="{'invisible': [('mrp_production_source_count', '=', 0)]}">
|
|
<div class="o_field_widget o_stat_info">
|
|
<span class="o_stat_value"><field name="mrp_production_source_count"/></span>
|
|
<span class="o_stat_text">Source MO's</span>
|
|
</div>
|
|
</button>
|
|
<field name="workorder_ids" invisible="1"/>
|
|
</div>
|
|
<div class="oe_title">
|
|
<h1><field name="name" placeholder="Manufacturing Reference" nolabel="1"/></h1>
|
|
</div>
|
|
<group>
|
|
<group>
|
|
<field name="id" invisible="1"/>
|
|
<field name="allowed_product_ids" invisible="1"/>
|
|
<field name="product_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
|
<field name="product_tmpl_id" invisible="1"/>
|
|
<field name="product_description_variants" attrs="{'invisible': [('product_description_variants', '=', False)], 'readonly': [('state', '!=', 'draft')]}"/>
|
|
<label for="product_qty"/>
|
|
<div class="o_row no-gutters d-flex">
|
|
<div class="col">
|
|
<field name="product_qty" class="mr-1" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
|
<field name="product_uom_category_id" invisible="1"/>
|
|
<field name="product_uom_id" options="{'no_open':True,'no_create':True}" force_save="1" groups="uom.group_uom" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
|
<button type="action"
|
|
name="%(mrp.action_change_production_qty)d"
|
|
context="{'default_mo_id': id}"
|
|
string="Update" class="oe_link" attrs="{'invisible': ['|', '|', ('state', 'in', ('draft', 'done','cancel')), ('id', '=', False), ('bom_id', '=', False)]}"/>
|
|
</div>
|
|
</div>
|
|
<field name="bom_id"
|
|
context="{'default_product_tmpl_id': product_tmpl_id}" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
|
<field name="routing_id" groups="mrp.group_mrp_routings"/>
|
|
</group>
|
|
<group>
|
|
<field name="date_deadline" attrs="{'readonly': [('state', 'in', ['done', 'cancel'])]}"/>
|
|
<div class="o_row o_td_label">
|
|
<label for="date_planned_start" string="Planned Date"
|
|
attrs="{'invisible': [
|
|
('routing_id', '!=', False),
|
|
('state', 'in', ['draft', 'confirmed'])
|
|
]}"/>
|
|
<label for="date_planned_start" string="Plan from"
|
|
attrs="{'invisible': [
|
|
'|',
|
|
('routing_id', '=', False),
|
|
('state', 'not in', ['draft', 'confirmed'])
|
|
]}"/>
|
|
</div>
|
|
<div class="o_row">
|
|
<field name="date_planned_start"
|
|
attrs="{'readonly': [
|
|
'|',
|
|
'&',
|
|
('routing_id', '=', False),
|
|
('state', 'in', ['done', 'cancel']),
|
|
'&',
|
|
('routing_id', '!=', False),
|
|
('state', 'not in', ['draft', 'confirmed'])]}"/>
|
|
<label for="date_planned_finished" string="to" attrs="{'invisible': [
|
|
'|',
|
|
('id', '=', False),
|
|
'&',
|
|
('routing_id', '!=', False),
|
|
('state', 'in', ['draft', 'confirmed'])
|
|
]}"/>
|
|
<field name="date_planned_finished" required="1"
|
|
attrs="{'readonly': [
|
|
'|',
|
|
'&',
|
|
('routing_id', '=', False),
|
|
('state', 'in', ['done', 'cancel']),
|
|
('routing_id', '!=', False)
|
|
], 'invisible': [
|
|
('routing_id', '!=', False),
|
|
('state', 'in', ['draft', 'confirmed'])
|
|
]}"/>
|
|
<field name="delay_alert_date" invisible="1"/>
|
|
<field string=" " name="json_popover" widget="stock_rescheduling_popover" attrs="{'invisible': [('delay_alert_date', '=', False)]}"/>
|
|
</div>
|
|
<field name="user_id" domain="[('share', '=', False)]"/>
|
|
<field name="origin"/>
|
|
<field name="company_id" groups="base.group_multi_company" options="{'no_create': True}" attrs="{'readonly': [('state', '!=', 'draft')]}" force_save="1"/>
|
|
<field name="show_final_lots" invisible="1"/>
|
|
<field name="production_location_id" invisible="1" readonly="1"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Components" name="components">
|
|
<field name="move_raw_ids" context="{'final_lots': show_final_lots, 'tree_view_ref': 'mrp.view_stock_move_raw_tree', 'form_view_ref': 'mrp.view_stock_move_lots', 'default_location_id': location_src_id, 'default_location_dest_id': production_location_id, 'default_state': 'draft', 'default_raw_material_production_id': id, 'default_picking_type_id': picking_type_id}" attrs="{'readonly': ['&', '&', ('state', '!=', 'draft'), ('is_locked', '=', True), '|', ('state', '!=', 'confirmed'), ('consumption', '=', 'strict')]}"/>
|
|
</page>
|
|
<page string="Finished Products" name="finished_products">
|
|
<field name="move_finished_ids" invisible="1"/>
|
|
<field name="finished_move_line_ids" context="{'form_view_ref': 'mrp.view_finisehd_move_line'}" attrs="{'readonly': [('is_locked', '=', True)], 'invisible': [('finished_move_line_ids', '=', [])]}">
|
|
<tree default_order="done_move" editable="bottom" create="0" delete="0" decoration-muted="state in ('done', 'cancel')">
|
|
<field name="product_id" readonly="1"/>
|
|
<field name="company_id" invisible="1"/>
|
|
<field name="lot_id" groups="stock.group_production_lot" context="{'default_product_id': product_id}" attrs="{'invisible': [('lots_visible', '=', False)]}"/>
|
|
<field name="product_uom_id" groups="uom.group_uom"/>
|
|
<field name="qty_done" string="Produced"/>
|
|
<field name="lots_visible" invisible="1"/>
|
|
<field name="done_move" invisible="1"/>
|
|
<field name="state" invisible="1"/>
|
|
<field name="product_uom_category_id" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
<p attrs="{'invisible': [('finished_move_line_ids', '!=', [])]}">
|
|
Use the Produce button or process the work orders to create some finished products.
|
|
</p>
|
|
</page>
|
|
<page string="Miscellaneous" name="miscellaneous" groups="stock.group_stock_multi_locations">
|
|
<group>
|
|
<group>
|
|
<field name="picking_type_id" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
|
<field name="location_src_id" options="{'no_create': True}" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
|
<field name="location_dest_id" options="{'no_create': True}" attrs="{'readonly': [('state', '!=', 'draft')]}"/>
|
|
</group>
|
|
</group>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
<div class="oe_chatter">
|
|
<field name="message_follower_ids" widget="mail_followers"/>
|
|
<field name="activity_ids" widget="mail_activity"/>
|
|
<field name="message_ids" widget="mail_thread"/>
|
|
</div>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="mrp_production_kanban_view" model="ir.ui.view">
|
|
<field name="name">mrp.production.kanban</field>
|
|
<field name="model">mrp.production</field>
|
|
<field name="arch" type="xml">
|
|
<kanban class="o_kanban_mobile">
|
|
<field name="name"/>
|
|
<field name="product_id"/>
|
|
<field name="product_qty"/>
|
|
<field name="product_uom_id" options="{'no_open':True,'no_create':True}"/>
|
|
<field name="date_deadline"/>
|
|
<field name="state"/>
|
|
<field name="activity_state"/>
|
|
<progressbar field="activity_state" colors='{"planned": "success", "today": "warning", "overdue": "danger"}'/>
|
|
<templates>
|
|
<t t-name="kanban-box">
|
|
<div t-attf-class="oe_kanban_card oe_kanban_global_click">
|
|
<div class="o_kanban_record_top">
|
|
<div class="o_kanban_record_headings mt4">
|
|
<strong class="o_kanban_record_title"><span><t t-esc="record.product_id.value"/></span></strong>
|
|
</div>
|
|
<span class="float-right text-right"><t t-esc="record.product_qty.value"/> <small><t t-esc="record.product_uom_id.value"/></small></span>
|
|
</div>
|
|
<div class="o_kanban_record_bottom">
|
|
<div class="oe_kanban_bottom_left text-muted">
|
|
<span><t t-esc="record.name.value"/> <t t-esc="record.date_deadline.value and record.date_deadline.value.split(' ')[0] or False"/></span>
|
|
<field name="activity_ids" widget="kanban_activity"/>
|
|
<field name="delay_alert_date" invisible="1"/>
|
|
<field string=" " name="json_popover" widget="stock_rescheduling_popover" attrs="{'invisible': [('delay_alert_date', '=', False)]}"/>
|
|
</div>
|
|
<div class="oe_kanban_bottom_right">
|
|
<span t-attf-class="badge #{['draft', 'cancel'].indexOf(record.state.raw_value) > -1 ? 'badge-secondary' : ['none'].indexOf(record.state.raw_value) > -1 ? 'badge-danger' : ['confirmed'].indexOf(record.state.raw_value) > -1 ? 'badge-warning' : ['done'].indexOf(record.state.raw_value) > -1 ? 'badge-success' : 'badge-primary'}"><t t-esc="record.state.value"/></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</t>
|
|
</templates>
|
|
</kanban>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_production_calendar" model="ir.ui.view">
|
|
<field name="name">mrp.production.calendar</field>
|
|
<field name="model">mrp.production</field>
|
|
<field eval="2" name="priority"/>
|
|
<field name="arch" type="xml">
|
|
<calendar date_start="date_planned_start" date_stop="date_planned_finished"
|
|
string="Manufacturing Orders" color="routing_id" event_limit="5" quick_add="False">
|
|
<field name="routing_id" filters="1"/>
|
|
<field name="user_id" avatar_field="image_128"/>
|
|
<field name="product_id"/>
|
|
<field name="product_qty"/>
|
|
</calendar>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_production_gantt" model="ir.ui.view">
|
|
<field name="name">mrp.production.gantt</field>
|
|
<field name="model">mrp.production</field>
|
|
<field name="arch" type="xml">
|
|
<gantt date_stop="date_finished" date_start="date_start" string="Productions" default_group_by="routing_id" create="0">
|
|
</gantt>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_production_pivot" model="ir.ui.view">
|
|
<field name="name">mrp.production.pivot</field>
|
|
<field name="model">mrp.production</field>
|
|
<field name="arch" type="xml">
|
|
<pivot string="Manufacturing Orders">
|
|
<field name="date_deadline" type="row"/>
|
|
</pivot>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="view_production_graph" model="ir.ui.view">
|
|
<field name="name">mrp.production.graph</field>
|
|
<field name="model">mrp.production</field>
|
|
<field name="arch" type="xml">
|
|
<graph string="Manufacturing Orders" type="line">
|
|
<field name="date_planned_finished"/>
|
|
</graph>
|
|
</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="arch" type="xml">
|
|
<search string="Search Production">
|
|
<field name="name" string="Manufacturing Order" filter_domain="['|', ('name', 'ilike', self), ('origin', 'ilike', self)]"/>
|
|
<field name="product_id"/>
|
|
<field name="move_raw_ids" string="Component" filter_domain="[('move_raw_ids.product_id', 'ilike', self)]"/>
|
|
<field name="name" string="Work Center" filter_domain="[('routing_id.operation_ids.workcenter_id', 'ilike', self)]"/>
|
|
<field name="routing_id" groups="mrp.group_mrp_routings"/>
|
|
<field name="origin"/>
|
|
<filter string="To Do" name="todo" domain="[('state', 'in', ('draft', 'confirmed', 'planned','progress', 'to_close'))]"
|
|
help="Manufacturing Orders which are in confirmed state."/>
|
|
<separator/>
|
|
<filter string="Draft" name="filter_draft" domain="[('state', '=', 'draft')]"/>
|
|
<filter string="Confirmed" name="filter_confirmed" domain="[('state', '=', 'confirmed')]"/>
|
|
<filter string="Planned" name="filter_planned" domain="[('state', '=', 'planned')]" groups="mrp.group_mrp_routings"/>
|
|
<filter string="In Progress" name="filter_in_progress" domain="[('state', '=', 'progress')]"/>
|
|
<filter string="To Close" name="filter_to_close" domain="[('state', '=', 'to_close')]"/>
|
|
<filter string="Done" name="filter_done" domain="[('state', '=', 'done')]"/>
|
|
<filter string="Cancelled" name="filter_cancel" domain="[('state', '=', 'cancel')]"/>
|
|
<separator/>
|
|
<filter string="Waiting for Component" name="waiting" domain="[('reservation_state', 'in', ('waiting', 'confirmed'))]"/>
|
|
<filter string="Component Available" name="filter_ready" domain="[('reservation_state', '=', 'assigned')]"/>
|
|
<separator/>
|
|
<filter string="Late" name="late" help="Production started late"
|
|
domain="['&', ('date_deadline', '<', current_date), ('state', '=', 'confirmed')]"/>
|
|
<filter string="Planning Issues" name="delay_alert_date" domain="[('delay_alert_date', '!=', False)]"/>
|
|
<separator/>
|
|
<filter invisible="1" string="Late Activities" name="activities_overdue"
|
|
domain="[('activity_ids.date_deadline', '<', context_today().strftime('%Y-%m-%d'))]"
|
|
help="Show all records which has next action date is before today"/>
|
|
<filter invisible="1" string="Today Activities" name="activities_today"
|
|
domain="[('activity_ids.date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"/>
|
|
<filter invisible="1" string="Future Activities" name="activities_upcoming_all"
|
|
domain="[('activity_ids.date_deadline', '>', context_today().strftime('%Y-%m-%d'))]"/>
|
|
<separator/>
|
|
<filter string="Warnings" name="activities_exception"
|
|
domain="[('activity_exception_decoration', '!=', False)]"/>
|
|
<group expand="0" string="Group By...">
|
|
<filter string="Product" name="product" domain="[]" context="{'group_by': 'product_id'}"/>
|
|
<filter string="Routing" name="routing" domain="[]" context="{'group_by': 'routing_id'}" groups="mrp.group_mrp_routings"/>
|
|
<filter string="Status" name="status" domain="[]" context="{'group_by': 'state'}"/>
|
|
<filter string="Material Availability" name="groupby_reservation_state" domain="[]" context="{'group_by': 'reservation_state'}"/>
|
|
<filter string="Scheduled Date" name="scheduled_date" domain="[]" context="{'group_by': 'date_planned_start'}" help="Scheduled Date by Month"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="mrp_production_action" model="ir.actions.act_window">
|
|
<field name="name">Manufacturing Orders</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">mrp.production</field>
|
|
<field name="view_mode">tree,kanban,form,calendar,pivot,graph</field>
|
|
<field name="view_id" eval="False"/>
|
|
<field name="search_view_id" ref="view_mrp_production_filter"/>
|
|
<field name="context">{'search_default_todo': True, 'default_company_id': allowed_company_ids[0]}</field>
|
|
<field name="domain">[('picking_type_id.active', '=', True)]</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
Create a new manufacturing order <br/>
|
|
</p><p>
|
|
Consume components and build finished products using bills of materials
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="mrp_production_action_picking_deshboard" model="ir.actions.act_window">
|
|
<field name="name">Manufacturing Orders</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">mrp.production</field>
|
|
<field name="view_mode">tree,kanban,form</field>
|
|
<field name="view_id" eval="False"/>
|
|
<field name="search_view_id" ref="view_mrp_production_filter"/>
|
|
<field name="domain">[('picking_type_id', '=', active_id)]</field>
|
|
</record>
|
|
|
|
<record id="mrp_production_action_unreserve_tree" model="ir.actions.server">
|
|
<field name="name">Unreserve</field>
|
|
<field name="model_id" ref="mrp.model_mrp_production"/>
|
|
<field name="binding_model_id" ref="mrp.model_mrp_production"/>
|
|
<field name="binding_view_types">list</field>
|
|
<field name="state">code</field>
|
|
<field name="code">
|
|
if records:
|
|
records.do_unreserve()
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem action="mrp_production_action"
|
|
id="menu_mrp_production_action"
|
|
parent="menu_mrp_manufacturing"
|
|
sequence="1"/>
|
|
|
|
<record id="mrp_production_report" model="ir.actions.act_window">
|
|
<field name="name">Manufacturing Orders</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">mrp.production</field>
|
|
<field name="view_mode">graph,pivot,form</field>
|
|
<field name="target">current</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_mrp_workorder_todo"
|
|
name="Work Orders"
|
|
action="mrp_workorder_todo"
|
|
parent="menu_mrp_manufacturing"
|
|
groups="group_mrp_routings"/>
|
|
|
|
<menuitem id="menu_mrp_production_report"
|
|
name="Manufacturing Orders"
|
|
parent="menu_mrp_reporting"
|
|
action="mrp_production_report"
|
|
sequence="11"/>
|
|
|
|
<menuitem id="menu_mrp_work_order_report"
|
|
name="Work Orders"
|
|
parent="menu_mrp_reporting"
|
|
action="mrp_workorder_report"
|
|
groups="group_mrp_routings"
|
|
sequence="11"/>
|
|
|
|
<record id="action_mrp_production_form" model="ir.actions.act_window">
|
|
<field name="name">Manufacturing Orders</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">mrp.production</field>
|
|
<field name="view_mode">form</field>
|
|
</record>
|
|
</data>
|
|
</odoo>
|