odoo/addons/stock/stock_view.xml

1674 lines
102 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Top menu item -->
<menuitem name="Warehouse"
id="menu_stock_root"
groups="group_stock_manager,group_stock_user"
sequence="50"/>
<menuitem id="menu_stock_warehouse_mgmt" name="Receive/Deliver By Orders" parent="menu_stock_root" sequence="1"/>
<menuitem id="menu_stock_products_moves" name="Receive/Deliver Products" parent="menu_stock_root" sequence="2"/>
<menuitem id="menu_stock_product" name="Products" parent="menu_stock_root" sequence="6"/>
<menuitem name="Products by Category" id="menu_product_by_category_stock_form" action="product.product_category_action"
parent="stock.menu_stock_product" sequence="0"/>
<menuitem action="product.product_normal_action" id="menu_stock_products_menu" parent="menu_stock_product" sequence="1"/>
<menuitem id="menu_stock_configuration" name="Configuration" parent="menu_stock_root" sequence="15" groups="group_stock_manager"/>
<menuitem id="menu_warehouse_config" name="Warehouse Management" parent="menu_stock_configuration" sequence="40" groups="base.group_no_one"/>
<menuitem id="menu_stock_inventory_control" name="Inventory Control" parent="menu_stock_root" sequence="4"/>
<menuitem
id="menu_product_in_config_stock" name="Products"
parent="stock.menu_stock_configuration" sequence="45" groups="base.group_no_one"/>
<menuitem
action="product.product_category_action_form" id="menu_product_category_config_stock"
parent="stock.menu_product_in_config_stock" sequence="0"/>
<menuitem
action="product.product_ul_form_action" groups="product.group_stock_packaging"
id="menu_product_packaging_stock_action" parent="stock.menu_product_in_config_stock" sequence="1"/>
<menuitem
id="menu_stock_unit_measure_stock" name="Units of Measure"
parent="stock.menu_product_in_config_stock" sequence="35" groups="product.group_uom"/>
<menuitem
action="product.product_uom_categ_form_action" id="menu_stock_uom_categ_form_action"
parent="menu_stock_configuration" sequence="30" groups="product.group_uom"/>
<menuitem
action="product.product_uom_form_action" id="menu_stock_uom_form_action"
parent="menu_stock_configuration" sequence="35" groups="product.group_uom"/>
<record id="stock_inventory_line_tree" model="ir.ui.view">
<field name="name">stock.inventory.line.tree</field>
<field name="model">stock.inventory.line</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stock Inventory Lines">
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" groups="product.group_uom"/>
<field name="prod_lot_id" groups="stock.group_production_lot"/>
<button name="%(stock.action_view_stock_inventory_line_split)d"
string="Split inventory lines" groups="stock.group_inventory_valuation"
type="action" icon="gtk-justify-fill"/>
<field name="location_id" groups="stock.group_locations"/>
</tree>
</field>
</record>
<record id="view_inventory_line_form" model="ir.ui.view">
<field name="name">stock.inventory.line.form</field>
<field name="model">stock.inventory.line</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stock Inventory Lines" version="7.0">
<group col="4">
<field context="{'location':location_id, 'uom':product_uom, 'to_date':parent.date}" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom,parent.date)" domain="[('type','&lt;&gt;','service')]"/>
<field name="product_qty"/>
<field name="product_uom" groups="product.group_uom"/>
<field name="prod_lot_id" groups="stock.group_production_lot"/>
<field domain="[('usage','=','internal')]" name="location_id"/>
<button name="%(stock.action_view_stock_inventory_line_split)d"
string="Split Inventory Line" groups="stock.group_inventory_valuation"
type="action" icon="terp-stock_effects-object-colorize"/>
</group>
</form>
</field>
</record>
<record id="view_inventory_filter" model="ir.ui.view">
<field name="name">stock.inventory.filter</field>
<field name="model">stock.inventory</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Inventory">
<group>
<field name="name" string="Inventory Reference"/>
<separator orientation="vertical"/>
<field name="date"/>
<separator orientation="vertical"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
<record id="view_inventory_tree" model="ir.ui.view">
<field name="name">stock.inventory.tree</field>
<field name="model">stock.inventory</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Lot Inventory" colors="grey:state == 'cancel'">
<field name="name"/>
<field name="date"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="view_inventory_form" model="ir.ui.view">
<field name="name">stock.inventory.form</field>
<field name="model">stock.inventory</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Physical Inventory" version="7.0">
<header>
<button name="action_confirm" states="draft" string="Confirm Inventory" type="object" class="oe_highlight"/>
<button name="action_done" states="confirm" string="Validate Inventory" type="object" class="oe_highlight"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
<button name="action_cancel_inventory" states="draft,confirm,done" string="Cancel Inventory" type="object"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
</header>
<sheet>
<div>
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name" placeholder="e.g. Annual inventory" class="oe_inline"/> -
<field name="date" class="oe_inline"/>
</h1>
</div>
<group>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<notebook>
<page string="General Informations">
<field name="inventory_line_id">
<tree string="Products" editable="bottom">
<field domain="[('usage','=','internal')]" name="location_id" groups="stock.group_locations"/>
<field context="{'location':location_id, 'uom':product_uom, 'to_date':parent.date}" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom,parent.date)" domain="[('type','&lt;&gt;','service')]"/>
<field name="product_qty"/>
<field name="product_uom" groups="product.group_uom"/>
<field name="prod_lot_id" groups="stock.group_production_lot"/>
<button name="%(stock.action_view_stock_inventory_line_split)d"
string="Split inventory lines" groups="stock.group_inventory_valuation"
type="action" icon="terp-stock_effects-object-colorize" states="draft,confirm"/>
<field name="state" invisible="True"/>
</tree>
<form string="Products" version="7.0">
<group>
<group>
<field domain="[('usage','=','internal')]" name="location_id"/>
<field context="{'location':location_id, 'uom':product_uom, 'to_date':parent.date}" name="product_id" on_change="on_change_product_id(location_id,product_id,product_uom,parent.date)" domain="[('type','&lt;&gt;','service')]"/>
</group>
<group>
<label for="product_qty"/>
<div>
<field name="product_qty" class="oe_inline"/>
<field name="product_uom" class="oe_inline" groups="product.group_uom"/>
</div>
<field name="prod_lot_id" groups="stock.group_production_lot"/>
<button name="%(stock.action_view_stock_inventory_line_split)d"
string="Split inventory lines" groups="stock.group_inventory_valuation"
type="action" icon="terp-stock_effects-object-colorize"/>
</group>
</group>
</form>
</field>
</page>
<page string="Posted Inventory">
<field name="move_ids" context="{'inventory_id':active_id}" >
<tree string="Stock Moves">
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<button name="%(track_line)d" string="Split in serial numbers" type="action"
icon="terp-stock_effects-object-colorize"
attrs="{'invisible': [('prodlot_id','&lt;&gt;',False)]}"
states="draft,done,cancel"
context="{'inventory_id':parent.id}"
groups="stock.group_production_lot"/>
<field groups="stock.group_tracking_lot" name="tracking_id"/>
<button name="%(split_into)d" string="Put in a new pack" type="action"
groups="stock.group_tracking_lot"
icon="terp-stock_effects-object-colorize"
context="{'inventory_id':parent.id}"
states="draft,done,cancel"/>
<field name="location_id" groups="stock.group_locations"/>
<field name="location_dest_id" groups="stock.group_locations"/>
<field name="date" string="Date"/>
<field name="state" invisible="True"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="action_inventory_form" model="ir.actions.act_window">
<field name="name">Physical Inventories</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">stock.inventory</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_inventory_tree"/>
<field name="search_view_id" ref="view_inventory_filter"/>
<field name="help">Periodical Inventories are used to count the number of products available per location. You can use it once a year when you do the general inventory or whenever you need it, to correct the current stock level of a product.</field>
</record>
<menuitem action="action_inventory_form" id="menu_action_inventory_form" parent="menu_stock_inventory_control" sequence="30"/>
<record id="action_inventory_form_draft" model="ir.actions.act_window">
<field name="name">Draft Physical Inventories</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">stock.inventory</field>
<field name="view_type">form</field>
<field name="domain">[('state','=','draft')]</field>
<field name="filter" eval="True"/>
</record>
<record id="view_tracking_form" model="ir.ui.view">
<field name="name">stock.tracking.form</field>
<field name="model">stock.tracking</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Packs" version="7.0">
<group>
<group groups="product.group_stock_packaging" string="Pack Identification">
<field name="name"/>
<field name="serial"/>
<field name="date"/>
<field name="active"/>
</group>
<group groups="stock.group_tracking_lot" string="Traceability">
<button name="action_traceability" icon="gtk-go-up" string="Upstream Traceability" type="object"
colspan="2"/>
<button name="action_traceability" icon="gtk-go-down" string="Downstream Traceability" type="object"
context="{'type': 'move_history_ids'}" colspan="2"/>
</group>
</group>
<field name="move_ids"/>
</form>
</field>
</record>
<record id="view_tracking_tree" model="ir.ui.view">
<field name="name">stock.tracking.tree</field>
<field name="model">stock.tracking</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Packs">
<field name="name"/>
<field name="serial"/>
<field name="date"/>
</tree>
</field>
</record>
<record id="action_tracking_form" model="ir.actions.act_window">
<field name="name">Packs</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">stock.tracking</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_tracking_tree"/>
<field name="help">This is the list of all your packs. When you select a Pack, you can get the upstream or downstream traceability of the products contained in the pack.</field>
</record>
<menuitem id="menu_traceability" name="Traceability" parent="menu_stock_root" sequence="3"/>
<menuitem action="action_tracking_form" id="menu_action_tracking_form"
groups="product.group_stock_packaging"
sequence="6"
parent="menu_traceability"/>
<record id="lot_line_tree" model="ir.ui.view">
<field name="name">stock.tracking.tree</field>
<field name="model">stock.tracking</field>
<field name="type">tree</field>
<field name="field_parent">child_ids</field>
<field name="arch" type="xml">
<tree colors="grey:not active" string="Packs">
<field name="name"/>
<field name="serial"/>
<field name="date"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="search_stock_packs">
<field name="name">Pack Search</field>
<field name="model">stock.tracking</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Pack Search">
<group>
<field name="name" string="Pack" filter_domain="['|',('name','ilike',self),('serial','ilike',self)]"/>
<separator orientation="vertical"/>
<field name="date"/>
<separator orientation="vertical"/>
<field name="active"/>
</group>
</search>
</field>
</record>
<record id="view_production_lot_revision_form" model="ir.ui.view">
<field name="name">stock.production.lot.revision.form</field>
<field name="model">stock.production.lot.revision</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Serial Number Revisions" version="7.0">
<group col="4">
<field name="name"/>
<field name="indice"/>
<field name="date"/>
<field name="author_id"/>
</group>
<separator string="Description"/>
<field name="description"/>
</form>
</field>
</record>
<record id="view_production_lot_revision_tree" model="ir.ui.view">
<field name="name">stock.production.lot.revision.tree</field>
<field name="model">stock.production.lot.revision</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Serial Number Revisions">
<field name="indice"/>
<field name="author_id"/>
<field name="date"/>
<field name="name"/>
</tree>
</field>
</record>
<record id="view_production_lot_form" model="ir.ui.view">
<field name="name">stock.production.lot.form</field>
<field name="model">stock.production.lot</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Serial Number" version="7.0">
<div class="oe_button_box oe_right">
<button name="action_traceability" string="Upstream Traceability" type="object" context="{'type': '', 'field': 'prodlot_id'}" icon="gtk-go-up"/>
<button name="action_traceability" string="Downstream Traceability" type="object" context="{'type': 'move_history_ids', 'field': 'prodlot_id'}" icon="gtk-go-down"/>
</div>
<div class="oe_title">
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name"/>
</h1>
</div>
<group>
<group>
<field name="product_id"/>
<field name="prefix"/>
<field name="ref"/>
</group>
<group>
<field name="date"/>
<field name="stock_available"/>
</group>
</group>
<notebook>
<page string="Revisions">
<field name="revisions"/>
</page>
<page string="Stock Moves">
<field name="move_ids">
<tree string="Stock Moves">
<field name="picking_id" string="Reference"/>
<field name="origin"/>
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="tracking_id" groups="stock.group_tracking_lot"/>
<field name="date"/>
<field name="prodlot_id"/>
<field name="location_id" groups="stock.group_locations"/>
<field name="location_dest_id" groups="stock.group_locations"/>
<field name="state"/>
</tree>
</field>
</page>
</notebook>
</form>
</field>
</record>
<record id="view_production_lot_tree" model="ir.ui.view">
<field name="name">stock.production.lot.tree</field>
<field name="model">stock.production.lot</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Serial Number">
<field name="prefix"/>
<field name="name"/>
<field name="ref"/>
<field name="product_id"/>
<field name="stock_available"/>
<field name="date"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="search_product_lot_filter">
<field name="name">Production Lots Filter</field>
<field name="model">stock.production.lot</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Product Lots Filter">
<group>
<field name="name" string="Product Lots" filter_domain="['|','|',('name','ilike',self),('prefix','ilike',self),('ref','ilike',self)]"/>
<separator orientation="vertical"/>
<field name="date"/>
<separator orientation="vertical"/>
<filter icon="terp-check" name="available" string="Available" domain="[('stock_available', '&gt;', 0)]" help="Available Product Lots"/>
<separator orientation="vertical"/>
<field name="product_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_production_lot_form" model="ir.actions.act_window">
<field name="name">Serial Number</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">stock.production.lot</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_production_lot_tree"/>
<field name="search_view_id" ref="search_product_lot_filter"/>
<field name="context">{}</field>
<field name="help">This is the list of all the production lots (serial numbers) you recorded. When you select a lot, you can get the upstream or downstream traceability of the products contained in lot. By default, the list is filtred on the serial numbers that are available in your warehouse but you can uncheck the 'Available' button to get all the lots you produced, received or delivered to customers.</field>
</record>
<menuitem action="action_production_lot_form" id="menu_action_production_lot_form"
parent="menu_traceability" groups="stock.group_production_lot"
sequence="1"/>
#
# Lot composition (history)
#
<record id="stock_move_tree" model="ir.ui.view">
<field name="name">Stock Moves</field>
<field name="model">stock.move</field>
<field name="type">tree</field>
<field name="field_parent">move_history_ids</field>
<field name="arch" type="xml">
<tree colors="grey:state == 'cancel'" string="Moves">
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<field name="tracking_id" groups="stock.group_tracking_lot"/>
<field name="product_packaging" domain="[('product_id','=',product_id)]" groups="product.group_stock_packaging"/>
<field name="picking_id"/>
<field name="location_id" groups="stock.group_locations"/>
<field name="location_dest_id" groups="stock.group_locations"/>
<field name="create_date" groups="base.group_no_one"/>
<field name="date" string="Date" groups="base.group_no_one"/>
<field name="date_expected" string="Date Expected"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="stock_move_tree2" model="ir.ui.view">
<field name="name">Stock Moves</field>
<field name="model">stock.move</field>
<field name="type">tree</field>
<field name="field_parent">move_history_ids2</field>
<field name="arch" type="xml">
<tree colors="grey:state == 'cancel'" string="Moves">
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<field name="tracking_id" groups="stock.group_tracking_lot"/>
<field name="product_packaging" domain="[('product_id','=',product_id)]" groups="product.group_stock_packaging"/>
<field name="picking_id"/>
<field name="location_id" groups="stock.group_locations"/>
<field name="location_dest_id" groups="stock.group_locations"/>
<field name="create_date" groups="base.group_no_one"/>
<field name="date" string="Date" groups="base.group_no_one"/>
<field name="date_expected" string="Date Expected"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="action3" model="ir.actions.act_window">
<field name="name">Downstream traceability</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">stock.move</field>
<field name="domain">[('id','in',active_ids)]</field>
<field name="view_type">tree</field>
<field eval="stock_move_tree2" name="view_id"/>
</record>
<record id="ir_move_traceability_upstream" model="ir.values">
<field name="key2">tree_but_action</field>
<field name="model">stock.move</field>
<field name="name">Downstream traceability</field>
<field eval="'ir.actions.act_window,'+str(action3)" name="value"/>
</record>
<record id="action5" model="ir.actions.act_window">
<field name="name">Upstream traceability</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">stock.move</field>
<field name="domain">[('id','in',active_ids)]</field>
<field name="view_type">tree</field>
<field eval="stock_move_tree" name="view_id"/>
</record>
<record id="ir_move_traceability_downstream" model="ir.values">
<field name="key2">tree_but_action</field>
<field name="model">stock.move</field>
<field name="name">Upstream traceability</field>
<field eval="'ir.actions.act_window,'+str(action5)" name="value"/>
</record>
<record id="view_location_form" model="ir.ui.view">
<field name="name">stock.location.form</field>
<field name="model">stock.location</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stock Location" version="7.0">
<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>
<label for="location_id" class="oe_edit_only"/>
<h2><field name="location_id"/></h2>
<group>
<group string="Additional Information">
<field name="usage"/>
<field name="partner_id"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="icon"/>
<field name="scrap_location"/>
<field name="active"/>
</group>
<group string="Chained Locations">
<field name="chained_location_type"/>
<field name="chained_location_id" attrs="{'required':[('chained_location_type','=','fixed')]}"/>
<field name="chained_auto_packing"/>
<field name="chained_delay"/>
<field name="chained_journal_id"/>
<field name="chained_picking_type"/>
<field name="chained_company_id" widget="selection"/>
</group>
<group string="Localization">
<field name="posx"/>
<field name="posy"/>
<field name="posz"/>
</group><group string="Accounting Information">
<field name="valuation_in_account_id" attrs="{'readonly':[('usage','not in',('inventory','production'))]}"/>
<field name="valuation_out_account_id" attrs="{'readonly':[('usage','not in',('inventory','production'))]}"/>
</group>
</group>
<separator string="Additional Information"/>
<field name="comment"/>
</form>
</field>
</record>
<record id="view_location_search" model="ir.ui.view">
<field name="name">stock.location.search</field>
<field name="model">stock.location</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Stock Locations">
<field name="name" string="Stock Locations"/>
<separator orientation="vertical"/>
<filter icon="terp-go-home" name="in_location"
string="Internal" domain="[('usage', '=', 'internal')]" help="Internal Locations"/>
<filter icon="terp-personal" name="customer"
string="Customer" domain="[('usage', '=', 'customer')]" help="Customer Locations"/>
<filter icon="terp-personal" name="supplier"
string="Supplier" domain="[('usage', '=', 'supplier')]" help="Supplier Locations"/>
<separator orientation="vertical"/>
<field name="location_id" string="Parent Location"/>
</search>
</field>
</record>
<record id="view_location_tree2" model="ir.ui.view">
<field name="name">stock.location.tree</field>
<field name="model">stock.location</field>
<field name="type">tree</field>
<field name="priority" eval="2"/>
<field name="arch" type="xml">
<tree string="Stock Location" colors="blue:usage=='view';darkred:usage=='internal'">
<field name="complete_name"/>
<field name="usage"/>
<field name="stock_real" invisible="'product_id' not in context"/>
<field name="stock_virtual" invisible="'product_id' not in context"/>
</tree>
</field>
</record>
<record id="action_location_form" model="ir.actions.act_window">
<field name="name">Locations</field>
<field name="res_model">stock.location</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_location_tree2"/>
<field name="search_view_id" ref="view_location_search"/>
<field name="context">{'search_default_in_location':1}</field>
<field name="help">Define your locations to reflect your warehouse structure and organization. OpenERP is able to manage physical locations (warehouses, shelves, bin, etc), partner locations (customers, suppliers) and virtual locations which are the counterpart of the stock operations like the manufacturing orders consumptions, inventories, etc. Every stock operation in OpenERP moves the products from one location to another one. For instance, if you receive products from a supplier, OpenERP will move products from the Supplier location to the Stock location. Each report can be performed on physical, partner or virtual locations.</field>
</record>
<menuitem action="action_location_form" id="menu_action_location_form" groups="stock.group_locations"
parent="menu_stock_configuration" sequence="5"/>
<record id="view_location_tree" model="ir.ui.view">
<field name="name">stock.location.tree</field>
<field name="model">stock.location</field>
<field name="type">tree</field>
<field name="field_parent">child_ids</field>
<field name="arch" type="xml">
<tree toolbar="1">
<field icon="icon" name="name"/>
</tree>
</field>
</record>
<record id="action_location_tree" model="ir.actions.act_window">
<field name="name">Location Structure</field>
<field name="res_model">stock.location</field>
<field name="type">ir.actions.act_window</field>
<field name="domain">[('location_id','=',False)]</field>
<field name="view_type">tree</field>
<field name="view_id" ref="view_location_tree"/>
<field name="help">This is the structure of your company's warehouses and locations. You can click on a location to get the list of the products and their stock level in this particular location and all its children.</field>
</record>
<menuitem action="action_location_tree"
id="menu_action_location_tree"
parent="menu_stock_inventory_control"
sequence="20"/>
<record id="view_warehouse" model="ir.ui.view">
<field name="name">stock.warehouse</field>
<field name="model">stock.warehouse</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Warehouse" version="7.0">
<label for="name" class="oe_edit_only"/>
<h1><field name="name"/></h1>
<group>
<group>
<field name="lot_input_id"/>
<field name="lot_stock_id"/>
<field name="lot_output_id"/>
</group>
<group>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="partner_id"/>
</group>
</group>
</form>
</field>
</record>
<record id="view_warehouse_tree" model="ir.ui.view">
<field name="name">stock.warehouse.tree</field>
<field name="model">stock.warehouse</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Warehouse">
<field name="name"/>
<field name="lot_input_id"/>
<field name="lot_stock_id"/>
<field name="lot_output_id"/>
<field name="partner_id"/>
</tree>
</field>
</record>
<record id="action_warehouse_form" model="ir.actions.act_window">
<field name="name">Warehouses</field>
<field name="res_model">stock.warehouse</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_warehouse_tree"/>
<field name="help">Create and manage your warehouses and assign them a location from here</field>
</record>
<menuitem action="action_warehouse_form" id="menu_action_warehouse_form" groups="stock.group_locations"
parent="menu_stock_configuration" sequence="1"/>
<!--
Stock picking
Defaults and Internal Pickings
-->
<record model="ir.ui.view" id="stock_picking_calendar">
<field name="name">stock.picking.calendar</field>
<field name="model">stock.picking</field>
<field name="type">calendar</field>
<field name="priority" eval="2"/>
<field name="arch" type="xml">
<calendar string="Calendar View" date_start="min_date" date_stop="max_date" color="partner_id">
<field name="origin"/>
<field name="type"/>
<field name="partner_id"/>
</calendar>
</field>
</record>
<record id="vpicktree" model="ir.ui.view">
<field name="name">stock.picking.tree</field>
<field name="model">stock.picking</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state == 'draft';grey:state == 'cancel';red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">
<field name="name"/>
<field name="backorder_id"/>
<field name="origin"/>
<field name="date"/>
<field name="min_date"/>
<field name="invoice_state"/>
<field name="stock_journal_id" widget="selection"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="view_picking_form" model="ir.ui.view">
<field name="name">stock.picking.form</field>
<field name="model">stock.picking</field>
<field name="type">form</field>
<field eval="12" name="priority"/>
<field name="arch" type="xml">
<form string="Internal Picking List" version="7.0">
<header>
<span groups="base.group_user">
<button name="draft_force_assign" states="draft" string="Confirm" type="object" class="oe_highlight"/>
<button name="draft_validate" states="draft" string="Confirm &amp; Transfer" type="object" class="oe_highlight"/>
<button name="force_assign" states="confirmed" string="Force Availability" type="object" class="oe_highlight"/>
<button name="action_process" states="assigned" string="Confirm &amp; Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/>
<button name="%(action_stock_invoice_onshipping)d" string="Create Invoice" attrs="{'invisible': ['|','|',('state','&lt;&gt;','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" class="oe_highlight"/>
<button name="%(act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="_Cancel"/>
</span>
<field name="state" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
</header>
<sheet>
<label for="name" class="oe_edit_only"/>
<h1>
<field name="name" class="oe_inline"/>
<span attrs="{'invisible': [('origin','=',False)]}"> - </span>
<field name="origin" placeholder="PO0032" class="oe_inline"/>
</h1>
<label for="partner_id" class="oe_edit_only"/>
<h2>
<field name="partner_id" on_change="onchange_partner_in(partner_id)"/>
</h2>
<group>
<group>
<field name="backorder_id" readonly="1"/>
<field name="invoice_state" string="Invoice Control" groups="account.group_account_invoice"/>
<field name="stock_journal_id" widget="selection" groups="account.group_account_user"/>
</group>
<group>
<field name="date"/>
<field name="min_date" readonly="1"/>
</group>
</group>
<notebook>
<page string="Products">
<field name="move_lines" context="{'address_in_id': partner_id}">
<tree colors="grey:scrapped == True" string="Stock Moves">
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="product_uos" groups="product.group_uos"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="gtk-convert" context="{'scrap': True}"
states="draft,waiting,confirmed,assigned"
groups="base.group_user"/>
<field name="scrapped" invisible="1"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<button
name="%(stock.track_line)d"
string="Split in Serial Number"
groups="stock.group_production_lot"
type="action" icon="terp-stock_effects-object-colorize"
states="draft,waiting,confirmed,assigned"/>
<field groups="stock.group_tracking_lot" name="tracking_id"/>
<button name="setlast_tracking" string="Put in current pack" type="object"
attrs="{'invisible': [('tracking_id','&lt;&gt;',False)]}"
icon="terp-stock_effects-object-colorize"
groups="stock.group_tracking_lot"
states="draft,assigned,confirmed"/>
<button name="%(split_into)d" string="Put in a new pack" type="action"
groups="product.group_stock_packaging"
icon="terp-stock_effects-object-colorize"
states="draft,assigned,confirmed"/>
<field name="location_dest_id" groups="stock.group_locations"/>
<field name="state"/>
</tree>
<form string="Stock Moves" version="7.0">
<header>
<span groups="base.group_user">
<button name="force_assign" states="confirmed" string="Force Availability" type="object" icon="gtk-jump-to"/>
<button name="action_confirm" states="draft" string="Confirm" type="object" icon="gtk-apply"/>
<button name="cancel_assign" states="assigned" string="Cancel Availability" type="object" icon="gtk-find"/>
</span>
<field name="state" widget="statusbar" statusbar_visible="draft,assigned,done"/>
</header>
<group>
<group>
<field name="name" invisible="1"/>
<field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, parent.partner_id)"/>
<label for="product_qty"/>
<div>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)" class="oe_inline"/>
<field name="product_uom" string="Unit Of Measure" groups="product.group_uom" class="oe_inline"/>
<button name="%(stock.move_scrap)d"
string="Scrap" type="action"
icon="gtk-convert" context="{'scrap': True}"
states="draft,waiting,confirmed,assigned"
groups="base.group_user"/>
</div>
<label for="product_uos_qty" groups="product.group_uos"/>
<div groups="product.group_uos">
<field name="product_uos_qty" on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)" class="oe_inline"/>
<field name="product_uos" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)" class="oe_inline"/>
</div>
<field name="product_packaging" groups="product.group_stock_packaging" domain="[('product_id','=',product_id)]"/>
</group>
<group>
<field name="create_date" invisible="1"/>
<field name="date"/>
<field name="date_expected" on_change="onchange_date(date,date_expected)"/>
</group>
<group string="Locations" groups="stock.group_locations">
<field name="location_id" domain="[('usage','&lt;&gt;','view')]"/>
<field name="location_dest_id" domain="[('usage','=','internal')]" groups="stock.group_locations"/>
</group>
<group groups="stock.group_tracking_lot" string="Traceability">
<label for="tracking_id"/>
<div>
<field name="tracking_id" groups="stock.group_tracking_lot" class="oe_inline"/>
<button name="%(split_into)d" string="New Pack" type="action"
groups="product.group_stock_packaging"
icon="terp-stock_effects-object-colorize"
states="draft,assigned,confirmed"/>
</div>
<label for="prodlot_id"/>
<div>
<field name="prodlot_id" groups="stock.group_production_lot"
context="{'location_id':location_id, 'product_id':product_id}"
domain="[('product_id','=?',product_id)]"
on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id, product_uom)" class="oe_inline"/>
<button name="%(track_line)d"
groups="stock.group_tracking_lot"
states="draft,waiting,confirmed,assigned"
string="Split" type="action" icon="terp-stock_effects-object-colorize"/>
</div>
</group>
</group>
</form>
</field>
</page>
<page string="Additional Info">
<group>
<group>
<field name="move_type"/>
<field name="type"/>
<field name="auto_picking"/>
</group>
<group>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="date_done"/>
</group>
</group>
</page>
<page string="Notes">
<field name="note" placeholder="Add an internal note..."/>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="view_picking_internal_search" model="ir.ui.view">
<field name="name">stock.picking.internal.search</field>
<field name="model">stock.picking</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Internal Picking List">
<group>
<field name="name" string="Internal Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/>
<separator orientation="vertical"/>
<filter icon="terp-check" string="Ready" domain="[('state','=','assigned')]" help="Assigned Internal Moves"/>
<filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Internal Moves"/>
<filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Pickings already processed"/>
<separator orientation="vertical"/>
<field name="partner_id"/>
<field name="product_id"/>
<field name="stock_journal_id" widget="selection"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
<filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
<separator orientation="vertical"/>
<filter string="Origin" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
<separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_picking_tree6" model="ir.actions.act_window">
<field name="name">Internal Moves</field>
<field name="res_model">stock.picking</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="domain">[('type','=','internal')]</field>
<field name="context">{'contact_display': 'partner_address', 'search_default_available': 1}</field>
<field name="search_view_id" ref="view_picking_internal_search"/>
<field name="help">Internal Moves display all inventory operations you have to perform in your warehouse. All operations can be categorized into stock journals, so that each worker has his own list of operations to perform in his own journal. Most operations are prepared automatically by OpenERP according to your preconfigured logistics rules, but you can also record manual stock operations.</field>
</record>
<record model="ir.actions.act_window.view" id="action_picking_tree6_tree_view">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="vpicktree"/>
<field name="act_window_id" ref="action_picking_tree6"/>
</record>
<record model="ir.actions.act_window.view" id="action_picking_tree6_form_view">
<field name="sequence" eval="2"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_picking_form"/>
<field name="act_window_id" ref="action_picking_tree6"/>
</record>
<!-- Sending Products -->
<record id="view_picking_out_tree" model="ir.ui.view">
<field name="name">stock.picking.out.tree</field>
<field name="model">stock.picking</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state == 'draft';grey:state == 'cancel';red:state not in ('cancel', 'done') and min_date &lt; current_date" string="Delivery Orders">
<field name="name"/>
<field name="partner_id"/>
<field name="origin"/>
<field name="min_date"/>
<field name="date"/>
<field name="backorder_id"/>
<field name="stock_journal_id" groups="account.group_account_user"/>
<field name="invoice_state"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="view_picking_out_form" model="ir.ui.view">
<field name="name">stock.picking.out.form</field>
<field name="model">stock.picking.out</field>
<field name="inherit_id" ref="view_picking_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<data>
<xpath expr="/form/header//button[@name='%(act_stock_return_picking)d']" position="replace">
<button name="%(report_picking_list_out)d" string="Print Delivery Slip" type="action" states="done" class="oe_highlight"/>
<button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action"/>
</xpath>
<xpath expr="/form/header//button[@name='draft_validate']" position="replace">
<button name="draft_validate" states="draft" string="Confirm &amp; Deliver" type="object" class="oe_highlight"/>
<button name="action_assign" states="confirmed" string="Check Availability" type="object" class="oe_highlight"/>
</xpath>
<xpath expr="/form/header//button[@name='action_process']" position="replace">
<button name="action_process" states="assigned" string="Deliver" type="object" icon="gtk-go-forward" class="oe_highlight"/>
</xpath>
<xpath expr="/form/header//field[@name='state']" position="replace">
<field name="state" nolabel="1" readonly="1" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"auto":"blue", "confirmed":"blue"}'/>
</xpath>
<xpath expr="//field[@name='partner_id']" position="replace">
<field name="partner_id" on_change="onchange_partner_in(partner_id)" colspan="4" string="Customer"/>
</xpath>
<xpath expr="/form/sheet" position="after">
<div class="oe_chatter">
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
</div>
</xpath>
</data>
</field>
</record>
<record id="view_picking_out_search" model="ir.ui.view">
<field name="name">stock.picking.out.search</field>
<field name="model">stock.picking</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Picking list">
<group>
<field name="name" string="Picking List" filter_domain="['|',('name','ilike', self),('origin','ilike',self)]"/>
<separator orientation="vertical"/>
<filter icon="terp-check" name="available" string="Ready" domain="[('state','=','assigned')]" help="Assigned Delivery Orders"/>
<filter icon="terp-camera_test" name="confirmed" string="Waiting" domain="[('state','=','confirmed')]" help="Confirmed Delivery Orders"/>
<filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Delivery orders already processed"/>
<filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
<filter icon="terp-dolar" name="to_invoice" string="To Invoice" domain="[('invoice_state','=','2binvoiced')]" help="Delivery orders to invoice"/>
<separator orientation="vertical"/>
<field name="stock_journal_id" widget="selection"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<separator orientation="vertical"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
<filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
<separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_picking_tree" model="ir.actions.act_window">
<field name="name">Delivery Orders</field>
<field name="res_model">stock.picking.out</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="domain">[('type','=','out')]</field>
<field name="context">{'default_type': 'out', 'contact_display': 'partner_address'}</field>
<field name="search_view_id" ref="view_picking_out_search"/>
<field name="help">This is the list of all delivery orders that have to be prepared, according to your different sales orders and your logistics rules.</field>
</record>
<record id="action_picking_tree_out_view1_waiting" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_picking_out_tree"/>
<field name="act_window_id" ref="action_picking_tree"/>
</record>
<record id="action_picking_tree_out_view2_waiting" model="ir.actions.act_window.view">
<field eval="2" name="sequence"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_picking_out_form"/>
<field name="act_window_id" ref="action_picking_tree"/>
</record>
<record id="action_picking_tree_out_view2_waiting_cal" model="ir.actions.act_window.view">
<field eval="3" name="sequence"/>
<field name="view_mode">calendar</field>
<field name="act_window_id" ref="action_picking_tree"/>
</record>
<menuitem action="action_picking_tree" id="menu_action_picking_tree" parent="menu_stock_warehouse_mgmt" sequence="3"/>
<!-- Incomming Shipments -->
<record id="view_picking_in_tree" model="ir.ui.view">
<field name="name">stock.picking.in.tree</field>
<field name="model">stock.picking.in</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree colors="blue:state == 'draft';grey:state == 'done';red:state not in ('cancel', 'done') and date &lt; current_date" string="Picking list">
<field name="name"/>
<field name="partner_id"/>
<field name="backorder_id"/>
<field name="origin"/>
<field name="date"/>
<field name="min_date"/>
<field name="invoice_state" groups="account.group_account_invoice"/>
<field name="stock_journal_id" widget="selection" groups="account.group_account_user"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="view_picking_in_form" model="ir.ui.view">
<field name="name">stock.picking.in.form</field>
<field name="model">stock.picking.in</field>
<field name="inherit_id" ref="view_picking_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<data>
<xpath expr="/form/header//button[@name='%(act_stock_return_picking)d']" position="replace">
<button name="%(act_stock_return_picking)d" string="Return Products" states="done" type="action"/>
</xpath>
<xpath expr="//button[@name='draft_validate']" position="replace">
<button name="draft_validate" states="draft" string="Confirm &amp; Receive" type="object" class="oe_highlight"/>
</xpath>
<xpath expr="//button[@name='action_process']" position="replace">
<button name="action_process" states="assigned" string="Receive" type="object" class="oe_highlight"/>
</xpath>
<xpath expr="//field[@name='partner_id']" position="replace">
<field name="partner_id" on_change="onchange_partner_in(partner_id)" colspan="4" string="Supplier"/>
</xpath>
<xpath expr="/form/sheet" position="after">
<div class="oe_chatter">
<field name="message_ids" colspan="4" widget="mail_thread" nolabel="1"/>
</div>
</xpath>
</data>
</field>
</record>
<record id="view_picking_in_search" model="ir.ui.view">
<field name="name">stock.picking.in.search</field>
<field name="model">stock.picking.in</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Incoming Shipments">
<group>
<field name="name" string="Incoming Shipments" filter_domain="['|',('name','ilike',self),('origin','ilike',self)]"/>
<separator orientation="vertical"/>
<filter icon="terp-check" name="available" string="Ready to Process" domain="[('state','=','assigned')]" help="Incoming Shipments Available"/>
<filter icon="terp-dialog-close" name="done" string="Done" domain="[('state','=','done')]" help="Incoming Shipments already processed"/>
<filter icon="terp-accessories-archiver-minus" string="Back Orders" domain="[('backorder_id', '!=', False)]" help="Is a Back Order"/>
<filter string="To Invoice" name="to_invoice" icon="terp-dolar" domain="[('invoice_state', '=', '2binvoiced')]"/>
<separator orientation="vertical"/>
<field name="stock_journal_id" widget="selection"/>
<field name="product_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<separator orientation="vertical"/>
<filter icon="terp-stock_effects-object-colorize" name="state" string="Status" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
<filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
<separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'stock_journal_id'}"/>
</group>
</search>
</field>
</record>
<record id="action_picking_tree4" model="ir.actions.act_window">
<field name="name">Incoming Shipments</field>
<field name="res_model">stock.picking.in</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="domain">[('type','=','in')]</field>
<field name="context">{'contact_display': 'partner_address', 'default_type': 'in'}</field>
<field name="search_view_id" ref="view_picking_in_search"/>
<field name="help">The Incoming Shipments is the list of all orders you will receive from your suppliers. An incoming shipment contains a list of products to be received according to the original purchase order. You can validate the shipment totally or partially.</field>
</record>
<record id="action_invoice_tree5_view1" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_picking_in_tree"/>
<field name="act_window_id" ref="action_picking_tree4"/>
</record>
<record id="action_invoice_tree5_view2" model="ir.actions.act_window.view">
<field eval="2" name="sequence"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_picking_in_form"/>
<field name="act_window_id" ref="action_picking_tree4"/>
</record>
<record id="action_invoice_tree5_view2_cal" model="ir.actions.act_window.view">
<field eval="3" name="sequence"/>
<field name="view_mode">calendar</field>
<field name="act_window_id" ref="action_picking_tree4"/>
</record>
<menuitem action="action_picking_tree4" id="menu_action_picking_tree4" parent="menu_stock_warehouse_mgmt" sequence="1"/>
<menuitem action="action_picking_tree6" id="menu_action_picking_tree6" parent="menu_stock_warehouse_mgmt" sequence="2"/>
<record id="view_move_tree" model="ir.ui.view">
<field name="name">stock.move.tree</field>
<field name="model">stock.move</field>
<field name="type">tree</field>
<field eval="6" name="priority"/>
<field name="arch" type="xml">
<tree colors="grey:state == 'cancel';red:(state not in ('cancel','done')) and date > current_date" string="Moves" editable="top">
<field name="name"/>
<field name="picking_id" string="Reference"/>
<field name="origin"/>
<field name="create_date" invisible="1" groups="base.group_no_one"/>
<field name="product_id"/>
<field name="product_qty" on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="product_uos" groups="product.group_uos"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="gtk-convert" context="{'scrap': True}"
states="draft,waiting,confirmed,assigned"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<button name="%(track_line)d" string="Split in Serial Numbers" type="action"
icon="terp-stock_effects-object-colorize" attrs="{'invisible': [('prodlot_id','&lt;&gt;',False)]}"
states="draft,waiting,confirmed,assigned,done"
groups="stock.group_tracking_lot"/>
<field name="tracking_id" groups="stock.group_tracking_lot"/>
<button name="setlast_tracking" string="Put in current pack" type="object"
groups="product.group_stock_packaging"
icon="terp-stock_effects-object-colorize" attrs="{'invisible': [('tracking_id','&lt;&gt;',False)]}"
states="draft,assigned,confirmed,done"/>
<button name="%(split_into)d" string="Put in a new pack" type="action"
groups="product.group_stock_packaging"
icon="terp-stock_effects-object-colorize"
states="draft,assigned,confirmed,done"/>
<field name="location_id" groups="stock.group_locations"/>
<field name="location_dest_id" groups="stock.group_locations"/>
<field name="date" groups="base.group_no_one"/>
<field name="date_expected"/>
<field name="state"/>
<button name="action_done" states="confirmed,assigned" string="Process" type="object" icon="gtk-go-forward"/>
</tree>
</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="type">form</field>
<field eval="4" name="priority"/>
<field name="arch" type="xml">
<form string="Stock Moves" version="7.0">
<header>
<button name="action_confirm" states="draft" string="Process Later" type="object" class="oe_highlight"/>
<button name="%(action_partial_move_server)d" string="Process Partially" type="action" states="assigned" class="oe_highlight"/>
<button name="action_done" states="draft,assigned,confirmed" string="Process Entirely" type="object" class="oe_highlight"/>
<button name="force_assign" states="confirmed" string="Set Available" type="object" class="oe_highlight"/>
<button name="action_cancel" states="assigned,confirmed" string="_Cancel" type="object"/>
<field name="state" widget="statusbar" statusbar_visible="draft,confirmed,assigned,done" statusbar_colors='{"waiting":"blue","confirmed":"blue"}'/>
</header>
<sheet>
<group>
<group name="main_grp" string="Details">
<field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id, False)"/>
<label for="product_qty"/>
<div>
<field name="product_qty"
on_change="onchange_quantity(product_id, product_qty, product_uom, product_uos)"
class="oe_inline"/>
<field name="product_uom" groups="product.group_uom" class="oe_inline"/>
<button name="%(stock.move_scrap)d"
string="Scrap" type="action"
icon="gtk-convert" context="{'scrap': True}"
states="draft,waiting,confirmed,assigned" colspan="1"/>
</div>
<label for="product_uos_qty" groups="product.group_uos"/>
<div groups="product.group_uos">
<field name="product_uos_qty"
on_change="onchange_uos_quantity(product_id, product_uos_qty, product_uos, product_uom)"
class="oe_inline"/>
<field name="product_uos" class="oe_inline"/>
</div>
<field name="name" string="Reason"/>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
</group>
<group name="origin_grp" string="Origin">
<field name="picking_id"/>
<field name="location_id" groups="stock.group_locations"/>
<field name="create_date" groups="base.group_no_one"/>
</group>
<group name="destination_grp" string="Destination">
<field name="location_dest_id" groups="stock.group_locations"/>
<field name="partner_id" context="{'contact_display':'partner'}"
groups="stock.group_locations"/>
<field name="date_expected" on_change="onchange_date(date,date_expected)"/>
<field name="date" groups="base.group_no_one"/>
</group>
<group string="Tracability"
groups="stock.group_tracking_lot,stock.group_production_lot">
<label for="tracking_id" groups="stock.group_tracking_lot"/>
<div groups="stock.group_tracking_lot">
<field name="tracking_id" class="oe_inline"/>
<button name="%(split_into)d" string="New Pack" type="action"
groups="product.group_stock_packaging"
icon="terp-stock_effects-object-colorize"
states="draft,assigned,confirmed"/>
</div>
<label for="prodlot_id" groups="stock.group_production_lot"/>
<div groups="stock.group_production_lot">
<field name="prodlot_id"
context="{'location_id':location_id, 'product_id':product_id}"
domain="[('product_id','=?',product_id)]" class="oe_inline"
on_change="onchange_lot_id(prodlot_id,product_qty, location_id, product_id, product_uom)"/>
<button name="%(track_line)d"
states="draft,waiting,confirmed,assigned"
string="Split" type="action" icon="terp-stock_effects-object-colorize"/>
</div>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="view_move_search" model="ir.ui.view">
<field name="name">stock.move.search</field>
<field name="model">stock.move</field>
<field name="type">search</field>
<field eval="3" name="priority"/>
<field name="arch" type="xml">
<search string="Stock Moves">
<group>
<field name="origin" string="Stock Moves"/>
<separator orientation="vertical" groups="base.group_no_one"/>
<field name="date" groups="base.group_no_one"/>
<separator orientation="vertical"/>
<filter icon="terp-camera_test" string="Ready" name="ready" domain="[('state','=','assigned')]" help="Stock moves that are Available (Ready to process)"/>
<filter icon="terp-stock" string="Future" name="future" domain="[('state','in',('assigned','confirmed','waiting'))]" help="Stock moves that are Confirmed, Available or Waiting"/>
<filter icon="terp-dialog-close" string="Done" name="done" domain="[('state','=','done')]" help="Stock moves that have been processed"/>
<filter icon="terp-go-today" string="Today" domain="[('date','&lt;=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','&gt;=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders processed Today or planned for Today"/>
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="location_id" string="Location" filter_domain="['|',('location_id','ilike',self),('location_dest_id','ilike',self)]"/>
<field name="partner_id" string="Partner" filter_domain="[('picking_id.partner_id','ilike',self)]"/>
<field name="prodlot_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Product" name="by_product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Picking" name="groupby_picking_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'picking_id'}"/>
<filter string="Lot" name="groupby_prodlot_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'prodlot_id'}"/>
<filter string="Pack" name="groupby_tracking_id" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'tracking_id'}"/>
<separator orientation="vertical"/>
<filter string="Source" name="groupby_location_id" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'location_id'}"/>
<filter string="Destination" name="groupby_dest_location_id" icon="terp-gtk-jump-to-ltr" domain="[]" context="{'group_by':'location_dest_id'}"/>
<separator orientation="vertical"/>
<filter icon="terp-stock_effects-object-colorize" string="Status" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical"/>
<filter string="Creation" name="groupby_create_date" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
<filter string="Expected" name="groupby_date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
</record>
<record id="action_move_form2" model="ir.actions.act_window">
<field name="name">Stock Moves</field>
<field name="res_model">stock.move</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_id" ref="view_move_tree"/>
<field name="search_view_id" ref="view_move_search"/>
<field name="context">{}</field>
<field name="help">This menu gives you the full traceability of inventory operations on a specific product. You can filter on the product to see all the past or future movements for the product.</field>
</record>
<menuitem action="action_move_form2" id="menu_action_move_form2" parent="menu_traceability" sequence="3"/>
<!--
Reception Picking (By Stock Move)
From stock_partial_move_view
-->
<record id="view_move_tree_reception_picking" model="ir.ui.view">
<field name="name">stock.move.tree2</field>
<field name="model">stock.move</field>
<field name="type">tree</field>
<field name="priority" eval="6"/>
<field name="arch" type="xml">
<tree colors="grey:state == 'cancel'" string="Moves">
<field name="picking_id" string="Reference"/>
<field name="origin"/>
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="gtk-convert" context="{'scrap': True}"
states="draft,waiting,confirmed,assigned"/>
<field name="prodlot_id" groups="stock.group_production_lot"/>
<button name="%(track_line)d" string="Split in Serial Numbers" type="action"
icon="terp-stock_effects-object-colorize" attrs="{'invisible': [('prodlot_id','&lt;&gt;',False)]}"
states="draft,waiting,confirmed,assigned,done"
groups="stock.group_tracking_lot"/>
<field name="tracking_id" groups="stock.group_tracking_lot"/>
<button name="setlast_tracking" string="Put in current pack" type="object"
attrs="{'invisible': [('tracking_id','&lt;&gt;',False)]}"
groups="product.group_stock_packaging"
icon="terp-stock_effects-object-colorize"
states="draft,assigned,confirmed,done"/>
<button name="%(split_into)d" string="Put in a new pack" type="action"
groups="product.group_stock_packaging"
icon="terp-stock_effects-object-colorize"
states="draft,assigned,confirmed,done"/>
<field name="date" groups="base.group_no_one"/>
<field name="state"/>
</tree>
</field>
</record>
<!-- test -->
<record id="view_move_tree_reception_picking_board" model="ir.ui.view">
<field name="name">stock.move.tree3</field>
<field name="model">stock.move</field>
<field name="type">tree</field>
<field eval="6" name="priority"/>
<field name="arch" type="xml">
<tree string="Moves">
<field name="picking_id" string="Reference"/>
<field name="product_id"/>
<field name="product_qty"/>
<field name="product_uom" string="Unit of Measure" groups="product.group_uom"/>
<field name="date" groups="base.group_no_one"/>
</tree>
</field>
</record>
<record id="view_move_search_reception_incoming_picking" model="ir.ui.view">
<field name="name">stock.move.incoming.search2</field>
<field name="model">stock.move</field>
<field name="type">search</field>
<field eval="6" name="priority"/>
<field name="arch" type="xml">
<search string="Stock Moves">
<group>
<field name="origin" string="Stock Moves"/>
<separator orientation="vertical"/>
<filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting " domain="[('state','in',('confirmed','assigned'))]" help="Stock to be receive"/>
<filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/>
<filter icon="terp-dialog-close" name="done" string="Done" domain="[('state', '=', 'done')]"/>
<filter icon="terp-go-today" string="Today" domain="[('date','&lt;=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','&gt;=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/>
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="prodlot_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<separator orientation="vertical"/>
<filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical" groups="base.group_no_one"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" groups="base.group_no_one"/>
</group>
</search>
</field>
</record>
<record id="view_move_search_reception_outcoming_picking" model="ir.ui.view">
<field name="name">stock.move.outgoing.search2</field>
<field name="model">stock.move</field>
<field name="type">search</field>
<field eval="6" name="priority"/>
<field name="arch" type="xml">
<search string="Stock Moves">
<group>
<field name="origin" string="Stock Moves"/>
<separator orientation="vertical"/>
<filter icon="terp-gtk-go-back-rtl" name="receive" string="Waiting" domain="[('state','in',('confirmed','assigned'))]" help="Stock to be delivered (Available or not)"/>
<filter icon="terp-check" name="available" string="Available" domain="[('state','in',('assigned',))]" help="Stock available to be delivered"/>
<filter icon="terp-dialog-close" name="received" string="Done" domain="[('state','=','done')]"/>
<filter icon="terp-go-today" string="Today" domain="[('date','&lt;=',time.strftime('%%Y-%%m-%%d 23:59:59')),('date','&gt;=',time.strftime('%%Y-%%m-%%d 00:00:00'))]" help="Orders planned for today"/>
<separator orientation="vertical"/>
<field name="product_id"/>
<field name="prodlot_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
<filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
<filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical" groups="base.group_no_one"/>
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}" groups="base.group_no_one"/>
</group>
</search>
</field>
</record>
<record id="action_reception_picking_move" model="ir.actions.act_window">
<field name="name">Receive Products</field>
<field name="res_model">stock.move</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">['|','&amp;',('picking_id','=',False),('location_id.usage', 'in', ['customer','supplier']),'&amp;',('picking_id','!=',False),('picking_id.type','=','in')]</field>
<field name="view_id" ref="view_move_tree_reception_picking"/>
<field name="context" eval="'{\'product_receive\' : True, \'default_location_id\':%d, \'default_location_dest_id\':%d}' % (ref('stock_location_suppliers'),ref('stock_location_stock') )"/>
<field name="search_view_id" ref="view_move_search_reception_incoming_picking"/>
<field name="help">Here you can receive individual products, no matter what purchase order or picking order they come from. You will find the list of all products you are waiting for. Once you receive an order, you can filter based on the name of the supplier or the purchase order reference. Then you can confirm all products received using the buttons on the right of each line.</field>
</record>
<record model="ir.actions.act_window.view" id="action_move_reception_picking_tree">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_move_tree_reception_picking"/>
<field name="act_window_id" ref="action_reception_picking_move"/>
</record>
<record model="ir.actions.act_window.view" id="action_move_reception_picking_form">
<field name="sequence" eval="2"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_move_form"/>
<field name="act_window_id" ref="action_reception_picking_move"/>
</record>
<!-- Stock incoterms -->
<record id="view_incoterms_tree" model="ir.ui.view">
<field name="name">stock.incoterms.tree</field>
<field name="model">stock.incoterms</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Incoterms">
<field name="code"/>
<field colspan="4" name="name"/>
</tree>
</field>
</record>
<record id="stock_incoterms_form" model="ir.ui.view">
<field name="name">stock.incoterms.form</field>
<field name="model">stock.incoterms</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Incoterms" version="7.0">
<group>
<field name="name"/>
<field name="code"/>
<field name="active"/>
</group>
</form>
</field>
</record>
<record id="action_incoterms_tree" model="ir.actions.act_window">
<field name="name">Incoterms</field>
<field name="res_model">stock.incoterms</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem action="action_incoterms_tree" id="menu_action_incoterm_open" parent="menu_warehouse_config" sequence="1"/>
<act_window
context="{'location': active_id}"
domain="[('type','&lt;&gt;','service')]"
id="act_product_location_open"
name="Products"
res_model="product.product"
src_model="stock.location"/>
<act_window
context="{'search_default_done': 1,'search_default_product_id': [active_id], 'default_product_id': active_id}"
id="act_product_stock_move_open"
name="Inventory Move"
res_model="stock.move"
src_model="product.product"/>
<act_window
context="{'search_default_future': 1,'search_default_product_id': [active_id], 'default_product_id': active_id}"
domain="[('state','in',('waiting','confirmed','assigned'))]"
id="act_product_stock_move_futur_open"
name="Future Stock Moves"
res_model="stock.move"
src_model="product.product"/>
<record id="ir_act_product_location_open" model="ir.values">
<field name="key2">tree_but_open</field>
<field name="model">stock.location</field>
<field name="name">Products</field>
<field eval="'ir.actions.act_window,%d'%act_product_location_open" name="value"/>
</record>
<record id="ir_act_product_location_open" model="ir.values">
<field name="key2">tree_but_open</field>
<field name="model">stock.location</field>
<field name="name">Open Products</field>
<field eval="'ir.actions.act_window,%d'%action_view_stock_location_product" name="value"/>
</record>
<record id="action_picking_tree_out" model="ir.actions.act_window">
<field name="name">Customers Packings</field>
<field name="res_model">stock.picking</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar</field>
<field name="domain">[('type','=','out')]</field>
<field name="context">{'default_type': 'out', 'contact_display': 'partner',"search_default_available":1}</field>
<field name="search_view_id" ref="view_picking_in_search"/>
</record>
<record id="action_invoice_tree5_out" model="ir.actions.act_window.view">
<field eval="1" name="sequence"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_picking_in_tree"/>
<field name="act_window_id" ref="action_picking_tree_out"/>
</record>
<record id="action_invoice_tree5_view2_out" model="ir.actions.act_window.view">
<field eval="2" name="sequence"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_picking_in_form"/>
<field name="act_window_id" ref="action_picking_tree_out"/>
</record>
<record id="action_invoice_tree5_viewout_cal" model="ir.actions.act_window.view">
<field eval="3" name="sequence"/>
<field name="view_mode">calendar</field>
<field name="act_window_id" ref="action_picking_tree_out"/>
</record>
<record id="action_out_picking_move" model="ir.actions.act_window">
<field name="name">Deliver Products</field>
<field name="res_model">stock.move</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">['|','&amp;',('picking_id','=',False),('location_dest_id.usage', 'in', ['customer','supplier']),'&amp;',('picking_id','!=',False),('picking_id.type','=','out')]</field>
<field name="view_id" ref="view_move_tree_reception_picking"/>
<field name="context" eval="'{\'default_location_id\':%d, \'default_location_dest_id\':%d}' % (ref('stock_location_stock'),ref('stock_location_customers'))"/>
<field name="search_view_id" ref="view_move_search_reception_outcoming_picking"/>
<field name="help">You will find in this list all products you have to deliver to your customers. You can process the deliveries directly from this list using the buttons on the right of each line. You can filter the products to deliver by customer, products or sale order (using the Origin field).</field>
</record>
<record model="ir.actions.act_window.view" id="action_move_out_picking_tree">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
<field name="view_id" ref="view_move_tree_reception_picking"/>
<field name="act_window_id" ref="action_out_picking_move"/>
</record>
<record model="ir.actions.act_window.view" id="action_move_out_picking_form">
<field name="sequence" eval="2"/>
<field name="view_mode">form</field>
<field name="view_id" ref="view_move_form"/>
<field name="act_window_id" ref="action_out_picking_move"/>
</record>
<menuitem action="action_reception_picking_move" id="menu_action_pdct_in" parent="menu_stock_products_moves" sequence="1"/>
<menuitem action="action_out_picking_move" id="menu_action_pdct_out" parent="menu_stock_products_moves" sequence="2"/>
<record id="view_stock_journal_filter" model="ir.ui.view">
<field name="name">stock.journal.filter</field>
<field name="model">stock.journal</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Stock Journal">
<field name="name" string="Stock Journal"/>
<separator orientation="vertical"/>
<field name="user_id"/>
</search>
</field>
</record>
<record model="ir.ui.view" id="view_stock_journal_tree">
<field name="name">Stock Journals</field>
<field name="model">stock.journal</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Stock Journal">
<field name="name"/>
<field name="user_id"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="view_stock_journal_form">
<field name="name">Stock Journals</field>
<field name="model">stock.journal</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Stock Journal" version="7.0">
<group>
<field name="name"/>
<field name="user_id"/>
</group>
</form>
</field>
</record>
<record id="action_stock_journal_form" model="ir.actions.act_window">
<field name="name">Stock Journals</field>
<field name="res_model">stock.journal</field>
<field name="type">ir.actions.act_window</field>
<field name="view_type">form</field>
<field name="help">The stock journal system allows you to assign each stock operation to a specific journal according to the type of operation to perform or the worker/team that should perform the operation. Examples of stock journals may be: quality control, pick lists, packing, etc.</field>
</record>
<menuitem
action="action_stock_journal_form"
id="menu_action_stock_journal_form"
parent="menu_warehouse_config" sequence="1"/>
<record model="ir.actions.todo.category" id="category_stock_management_config">
<field name="name">Stock Management</field>
</record>
</data>
</openerp>