如何修复MRP序列号

时间:2014-03-27 14:17:58

标签: openerp

我在OpenERP上遇到MRP标准模块的问题。 问题在于所有制造订单的序列号。

如果单击“创建”按钮,然后单击“放弃”按钮,则制造商订单号将按顺序增加。发生这种情况是因为获取数字的操作在“创建”按钮上,而不在“保存”按钮上。因此,如果我单击创建/放弃10次,即使没有保存,这个数字也会增加10倍。

我需要做的是在Save按钮上添加一个动作,在数据库上验证最后保存的数字是什么(与其状态无关),并将下一个数字添加到我当时保存的制造订单中。这样我就会保证制造订单号序列是正确的。

提前谢谢大家

圣保罗

1 个答案:

答案 0 :(得分:2)

您需要在核心模块文件中更改以下几项更改。

  • addons/mrp/mrp.py

在上面的文件中,首先找到class mrp_production_columns = {,字段为name 删除必需= True和readonly = Ture ,然后找到_defaults =而不是评论name

之后写下create method.

def create(self, cr, uid, vals, context=None):
    vals['name'] = self.pool.get('ir.sequence').get(cr, uid, 'mrp.production')
    return super(mrp_production, self).create(cr, uid, vals, context=context)
  • addons/mrp/mrp_view.xml

在此文件中找到<h1>Manufacturing Order <field name="name" class="oe_inline"/></h1>并替换为此

<h1>Manufacturing Order <field name="name" class="oe_inline" readonly="1"/></h1>

使用升级数据库和模块名称mrp重新启动服务器。

希望这能解决您的问题。