Openerp 当现存量增加或减少时,如何自动更新其他字段?

Openerp 当现存量增加或减少时,如何自动更新其他字段?,openerp,product,odoo-8,openerp-8,inventory,Openerp,Product,Odoo 8,Openerp 8,Inventory,我需要在手头数量增加或减少时自动更新此字段(可用手头数量)。我在下面提到了我的代码。 当前下面的代码工作正常,但只有当我填写此字段(squ_米)时,当我在该字段中输入时,才会乘以字段(qty_avl),即qty_avl是零,但它实际上是手头的数量。 任何答复都将不胜感激 class product_template(osv.osv): _name = "product.template" _inherit = "product.template" _columns = {

我需要在手头数量增加或减少时自动更新此字段(可用手头数量)。我在下面提到了我的代码。 当前下面的代码工作正常,但只有当我填写此字段(squ_米)时,当我在该字段中输入时,才会乘以字段(qty_avl),即qty_avl是零,但它实际上是手头的数量。 任何答复都将不胜感激

class product_template(osv.osv):
    _name = "product.template"
    _inherit = "product.template"
    _columns = {
         'squ_meter':fields.float('Square Meter'),
         'qty_available_onhand': fields.float(
             'Qty Sqm Available',
              compute='_compute_qty_available_onhand',
              require = True
          ),

         'qty_avl':fields.related(
             'virtual_available',
             relation='product.product',
             string='Quantity on Hand'
         ),
    }

    @api.depends('qty_avl', 'squ_meter')
    def _compute_qty_available_onhand(self):
        for record in self:
            record.qty_available_onhand = record.qty_avl * record.squ_meter
view.xml

<field name="name">product.product.inherited</field>
<field name="model">product.template</field>
<field name="inherit_id" ref="product.product_template_form_view"/>
<field name="type">form</field>
<field name="arch" type="xml">
    <xpath expr="//field[@name='active']" position="after">
           <field name="qty_available_onhand"/>
           <field name="qty_avl" invisible='1'/>
           <field name="squ_meter"/>
   </xpath>

product.product.com
产品模板
形式

据我所知,当您将新值设置为
squ\u-meter
时,您需要重新计算
现有可用数量
?用户必须在字段中看到新值吗?是吗?没有,danila我的squ_米的值将保持不变,但随着qty_avl的减少,qty_avl的减少值将乘以相同的squ米,这将等于可用qty_米的结果。我看到
qty_avl
它是相关字段。据我所知,
现有可用数量
可以通过两种方式更新。首先-我们在表单
product.template
上更改
squ_米
。第二,我们在表单
product.product
上更改可用的
virtual\u。当我们更改
squ_米
virtual_available
时,您需要更改“qty_available_onhand”的值(以db为单位)。我理解正确吗?是的,danila,你理解正确,但当数量avl发生变化时,现有数量应该自动变化,因为我不想改变squ仪表的值。数量avl只是它的数量字段,就像产品销售数量avl会自动减少一样,减少的值应该会减少多个squ_米据我所知,当您将新值设置为
squ_米
时,您需要重新计算
现有可用数量
?用户必须在字段中看到新值吗?是吗?没有,danila我的squ_米的值将保持不变,但随着qty_avl的减少,qty_avl的减少值将乘以相同的squ米,这将等于可用qty_米的结果。我看到
qty_avl
它是相关字段。据我所知,
现有可用数量
可以通过两种方式更新。首先-我们在表单
product.template
上更改
squ_米
。第二,我们在表单
product.product
上更改可用的
virtual\u。当我们更改
squ_米
virtual_available
时,您需要更改“qty_available_onhand”的值(以db为单位)。我理解正确吗?是的,danila,你理解正确,但当数量avl发生变化时,现有数量应该自动变化,因为我不想改变squ仪表的值。数量avl只是它的数量字段,就像产品销售数量avl会自动减少一样,减少的值应该会减少多重到平方米