Hey Everyone, So, I have been trying to make a change to the incoming shipments form only in the warehouse module. Basically, I am overloading the stock_view.xml inside my own module. I thought it would be a simple case of jst overloading the stock.action_picking_tree4 and the view.
However, I can either have the move_lines show the extra field (supplier_code) in all subitems for the 'Receive/Deliver By Orders' or else none of them. XML Code is below;
Regards S.
<record id="stock_view_move_picking2_in_tree" model="ir.ui.view">
<field name="name">stock.move.in.tree</field>
<field name="model">stock.move.in</field>
<field eval="4" name="priority"/>
<field name="arch" type="xml">
<tree colors="grey:scrapped == True" string="Stock Moves">
<field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id,parent.partner_id)"/>
<field name="supplier_code"/>
<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"/>
<field name="location_id" groups="stock.group_locations" invisible="1"/>
<field name="picking_id" invisible="1" />
<field name="create_date" invisible="1" />
<field name="date_expected" invisible="1" />
<button name="%(stock.move_scrap)d"
string="Scrap Products" type="action"
icon="terp-gtk-jump-to-ltr" 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="gtk-justify-fill"
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','<>',False)]}"
icon="terp-accessories-archiver"
groups="stock.group_tracking_lot"
states="draft,assigned,confirmed"/>
<button name="%(stock.split_into)d" string="Put in a new pack" type="action"
groups="product.group_stock_packaging"
icon="terp-accessories-archiver+"
states="draft,assigned,confirmed"/>
<field name="location_dest_id" groups="stock.group_locations"/>
<field name="state"/>
</tree>
</field>
</record>
<record id="stock_view_move_picking2_in_form" model="ir.ui.view">
<field name="model">stock.move</field>
<field name="inherit_id" ref="stock.view_move_form"/>
<field name="arch" type="xml">
<field name="product_id" position="replace">
<field name="product_id" on_change="onchange_product_id(product_id,location_id,location_dest_id,parent.partner_id)"/>
</field>
<xpath expr="//field[@name='product_id']" position="after">
<field name="supplier_code" readonly="1"/>
</xpath>
</field>
</record>
<record id="stock_view_picking2_in_form" model="ir.ui.view">
<field name="name">stock.picking.form</field>
<field name="model">stock.picking</field>
<field eval="12" name="priority"/>
<field name="arch" type="xml">
<form string="Internal Picking List" version="7.0">
<header>
<button name="draft_force_assign" states="draft" string="Confirm" type="object" class="oe_highlight" groups="base.group_user"/>
<button name="draft_validate" states="draft" string="Confirm & Transfer" type="object" class="oe_highlight" groups="base.group_user"/>
<!-- <button name="action_assign" states="confirmed" string="Check Availability" type="object"/> -->
<button name="force_assign" states="confirmed" string="Force Availability" type="object" class="oe_highlight" groups="base.group_user"/>
<button name="action_process" states="assigned" string="Confirm & Transfer" groups="stock.group_stock_user" type="object" class="oe_highlight"/>
<button name="%(stock.action_stock_invoice_onshipping)d" string="Create Invoice/Refund" attrs="{'invisible': ['|','|',('state','<>','done'),('invoice_state','=','invoiced'),('invoice_state','=','none')]}" type="action" class="oe_highlight" groups="base.group_user"/>
<button name="%(stock.act_stock_return_picking)d" string="Reverse Transfer" states="done" type="action" groups="base.group_user"/>
<button name="button_cancel" states="assigned,confirmed,draft" string="Cancel Transfer" groups="base.group_user"/>
<field name="state" widget="statusbar" statusbar_visible="draft,assigned,done" statusbar_colors='{"shipping_except":"red","invoice_except":"red","waiting_date":"blue"}'/>
</header>
<sheet>
<h1>
<field name="name" class="oe_inline" attrs="{'invisible': [('name','=','/')]}" readonly="1"/>
</h1>
<group>
<group>
<field name="partner_id" on_change="onchange_partner_in(partner_id)"/>
<field name="backorder_id" readonly="1" attrs="{'invisible': [('backorder_id','=',False)]}"/>
<field name="invoice_state" string="Invoice Control" groups="account.group_account_invoice" attrs="{'invisible':[('invoice_state', '=', 'none')]}"/>
<field name="stock_journal_id" widget="selection" groups="account.group_account_user"/>
<field name="project_id"/>
<field name="inventory_code"/>
<field name="x_sitename"/>
</group>
<group>
<field name="date"/>
<field name="min_date" readonly="1" attrs="{'invisible': [('min_date','=',False)]}"/>
<field name="origin" placeholder="e.g. PO0032" class="oe_inline"/>
</group>
</group>
<notebook>
<page string="Products">
<field name="move_lines" context="{'address_in_id': partner_id, 'picking_type': 'in', 'form_view_ref':'stock_view_move_picking2_in_form', 'tree_view_ref':'stock_view_move_picking2_in_tree'}"/>
<field name="note" placeholder="Add an internal note..." class="oe_inline"/>
</page>
<page string="Additional Info">
<group>
<group>
<field name="move_type"/>
<field name="type" invisible="1"/>
<field name="auto_picking" groups="base.group_user"/>
</group>
<group>
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
<field name="date_done" groups="base.group_no_one"/>
</group>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
<record id="stock.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="view_id" ref="stock_view_picking2_in_form"/>
<field name="domain">[('type','=','in')]</field>
<field name="context">{'contact_display': 'partner_address', 'default_type': 'in'}</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to create an incoming shipment.
</p><p>
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.
</p>
</field>
</record>