自动填充一些字段Openerp
问题描述:
嗨,我是OpenERP7/Odoo7的新手,并没有真正知道如何做到这一点。自动填充一些字段Openerp
我在我的自定义产品模块中有一个现有记录,我想通过只输入到我的prodcode字段并希望自动填充某些字段来检索该记录。
我一直在网上阅读很多Odoo论坛,但是找不到答案或者我只是不明白。我已经有post关于我的问题 所以如果有人可以给我一个关于如何实现这个目标的答案,或者指导我一个容易理解的解释。 这将是伟大的。
这里是我已经做了
PYTHON ---
class test_product(osv.Model):
_name = "test.product"
def name_change(self, cr, uid, ids, test_prodcode_id, prodname, desc, price, context=None):
return {
'value': {
'prodname': 'Plastic Ware',
'desc': 'Affordable Plastic Ware',
'price': 100.00,
}
}
_columns = {
'test_prodcode_id': fields.many2one('test.prodcode', 'Code'),
'prodname': fields.char('Name', size=32),
'desc': fields.char('Description', size=32),
'price': fields.float('Price',),
}
class test_prodcode(osv.Model):
_name = "test.prodcode"
_columns = {
'name': fields.char('Product Code', size=32),
}
XML ----
<record id="test_product_form_view" model="ir.ui.view">
<field name="name">test.product.form.vew</field>
<field name="model">test.product</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Product" version="7.0">
<sheet>
<field name="test_prodcode_id" on_change="name_change(test_prodcode_id,prodname,desc,price)"/>
<field name="prodname"/>
<field name="desc"/>
<field name="price"/>
</sheet>
</form>
</field>
</record>
答
是啊,我有这个问题了。
我有解决方案。自动填充可以通过做
_defaults = {}
做
class test_product(osv.Model):
_columns = {
'test_prodcode_id': fields.many2one('test.prodcode', 'Code'),
'prodname': fields.char('Name', size=32),
'desc': fields.char('Description', size=32),
'price': fields.float('Price',),
}
_defaults: {
'test_prodcode_id' : 'defaults_prodcode',
}
您也可以将返回默认值的函数来实现,或者,在你的榜样。
答
- 我有解决办法,但只要你想,但你可以做这样 这也是它并不是完全相同。
- 您可以使用
related
自动填写您的其他字段。假设你设置product_id
它会自动填写PRODUCT_NAME,递减和价格关于向 您product_id
。 - 您还可以看到这里的例子: https://stackoverflow.com/a/42453539/5161074
任何这里高手帮我实现这一目标? – user3740506 2014-10-26 14:04:11
大家好,有没有人帮助我,直到现在我不能让它工作自动填充一些字段。 – user3740506 2014-10-26 14:24:17