【问题标题】:openerp add custom field in BOM but always erroropenerp 在 BOM 中添加自定义字段但总是出错
【发布时间】:2023-03-19 18:00:01
【问题描述】:

我想在 mrp.bom 表中添加一些自定义字段,以便从图纸尺寸开始计算实际的行材料消耗。 这是我的 .py 代码

from osv import osv, fields

类 mrp_bom(osv.osv):

_inerhit = 'mrp.bom'

#_name = 'mrp.bom'

_columns = {
        'Residuo_barra': fields.float(string='Residuo Barra', required=False),
        'Sfrido': fields.float(string='Sfrido mm', required=False),
        'L_barra': fields.float(string='lunghezza barra mm', required=False),
        'L_pezzo_a_disegno': fields.float(string='L a disegno in mm', required=False),
        'L_pezzo_calcolata': fields.float(string='Lunghezza calcolata', required=False),
}

_defaults = {
    'Residuo_barra': 300.0,
    'Sfrido': 4.0,
    'L_barra': 3000.0,
}

def button_Calcola(self, cr, uid, ids, L_pezzo_a_disegno, Residuo_barra, Sfrido, L_barra, conext=None):
    #calcola il consumo effettivo della barra
    barra_utile = L_barra - Residuo_barra
    numero_pezzi = int(barra_utile / (L_pezzo_a_disegno + Sfrido))
    res = {
        'L_pezzo_calcolata': (L_barra / numero_pezzi)
    }

    return {'value': res}

mrp_bom()

这里是 .xml

    <record id="mrp_bom_tree_view" model="ir.ui.view">
        <field name="name">mrp.bom.tree</field>
        <field name="model">mrp.bom</field>
        <field name="inherit_id" ref="mrp.mrp_bom_tree_view"/>
        <field name="arch" type="xml">
            <field name="product_id" position="after">
            <field name="L_pezzo_calcolata" />
            </field>
        </field>
    </record>

    <record id="mrp_bom_component_tree_view" model="ir.ui.view">
        <field name="name">mrp.bom.component.tree</field>
        <field name="model">mrp.bom</field>
        <field name="inherit_id" ref="mrp.mrp_bom_component_tree_view"/>
        <field name="arch" type="xml">
            <field name="product_id" position="after">
            <field name="L_pezzo_calcolata" />
            </field>
        </field>
    </record>

    <record id="mrp_bom_form_view" model="ir.ui.view">
        <field name="name">mrp.bom.form</field>
        <field name="model">mrp.bom</field>
        <field name="inherit_id" ref="mrp.mrp_bom_form_view"/>
        <field name="arch" type="xml">
            <xpath expr="//field[@name='bom_lines']/tree" position="inside" >
            <field name="Residuo_barra" />
            <field name="Sfrido" />
            <field name="L_barra" />
            <field name="L_pezzo_a_disegno" />
            <field name="L_pezzo_calcolata" />
            </xpath>
        </field>
    </record>

</data>

在安装过程中我得到:

验证错误

验证字段拱门时出错:视图架构的 XML 无效!

如果我检查模块结构 Setting\Database structure\models\mrp_bom 该字段已添加,但如果我在 bom 视图中管理视图,则字段不可用!

【问题讨论】:

    标签: openerp-7


    【解决方案1】:

    更改继承视图的记录 ID,使其不相同。

    例如:

    <record id="mrp_bom_tree_view_add_field_L_pezzo_calcolata" model="ir.ui.view">
        <field name="name">mrp_bom_tree_view_add_field_L_pezzo_calcolata</field>
        <field name="model">mrp.bom</field>
        <field name="inherit_id" ref="mrp.mrp_bom_tree_view"/>
        <field name="arch" type="xml">
            <field name="product_id" position="after">
            <field name="L_pezzo_calcolata" />
            </field>
        </field>
    </record>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多