Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
3847 Представления

i have created a custom field "designation" in 'stock.picking' , now i want to get the value of the description of the product (in purchase.order) in that field  automatically when user push in the button " Reception by item"  (in my custom field)

------------------------------------------------------------------------------

stock_view.xml

<?xml version="1.0" encoding="utf-8"?>

<openerp>

<data>

<record id="bl_stock_picking_tree" model="ir.ui.view">

<field name="name">bl.stock.picking.tree</field>

<field name="model">stock.picking</field>

<field name="inherit_id" ref="stock.vpicktree"/>

<field name="arch" type="xml">

<xpath expr="//field[@name='partner_id']" position="after">

<field name="num_bl"/>

<field name="designation"/>

</xpath>

</field>

</record>

<record id="bl_stock_picking_view_form" model="ir.ui.view">

<field name="name">bl.stock.picking.form</field>

<field name="model">stock.picking</field>

<field name="inherit_id" ref="stock.view_picking_form"/>

<field name="arch" type="xml">

<xpath expr="//field[@name='partner_id']" position="after">

<field name="num_bl"/>

<field name="designation"/>

</xpath>

</field>

        </record>

    </data>

</openerp>

---------------------------------------------------------------------------------------------

from openerp.osv import fields, osv

from openerp import tools

import openerp.addons.decimal_precision as dp

from openerp.tools.translate import _

class StockPicking(osv.osv):

_inherit = 'stock.picking'

def _get_designation(self,cr,uid,values,context=None):

designation=self.pool.get('purchase.order').browse(cr,uid,values.get('order_id')).product_uom.id

print StockQuantTreeDesignation

print values

return super (StockPicking,self).create(cr,uid,values,context)

_columns = {

'num_bl': fields.char( string="Numéro de BL fournisseur",required=True,select=True),

'designation': fields.char( string="Désignation",required=True,select=True,store=True, compute='_get_designation'),

}

-----------------------------------------------------------------------------------------------------

i have write this code but nothing is happened any help please

Аватар
Отменить
Автор Лучший ответ

  thank you very much for your answer but always the field is not filled automatically    

Аватар
Отменить
Лучший ответ

def _get_designation(self,cr,uid,values,context=None):         purchase_obj=self.pool.get('purchase.order').search[('name','=',self.origin)]

        for purchase in purchase_obj.order_line:

           self.designation = purchase.product_id.name

     

 

Аватар
Отменить
Автор

thank you very much for your answer but always the field is not filled automatically

please add your origin all the time to match with purchase order name.(make origin required)