Openerp 如何确定MRP序列号

Openerp 如何确定MRP序列号,openerp,Openerp,我对OpenERP上的MRP标准模块有问题。 问题在于所有生产订单的序号 如果单击“创建”按钮,然后单击“放弃”按钮,则制造商订单号会依次增加。发生这种情况是因为获取数字的操作在“创建”按钮上,而不是在“保存”按钮上。因此,如果我单击“创建/放弃”10次,这个数字将增加10倍,即使它们都没有保存 我需要做的是在“保存”按钮上添加一个操作,在数据库上验证上次保存的编号是什么(与状态无关),并将下一个编号添加到我当时保存的生产订单中。这样,我将保证生产订单编号顺序是正确的 提前谢谢大家 保罗您需要在

我对OpenERP上的MRP标准模块有问题。 问题在于所有生产订单的序号

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

我需要做的是在“保存”按钮上添加一个操作,在数据库上验证上次保存的编号是什么(与状态无关),并将下一个编号添加到我当时保存的生产订单中。这样,我将保证生产订单编号顺序是正确的

提前谢谢大家


保罗

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

  • 插件/mrp/mrp.py
在上面的文件中,首先查找
类mrp\U production
\u columns={
,字段为
name
remove required=True和readonly=True,然后查找
\u defaults=
名称上的注释

然后在下面写下创建方法。

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)
  • 插件/mrp/mrp\u view.xml
在该文件中查找
生产订单
,并替换为该订单

<h1>Manufacturing Order <field name="name" class="oe_inline" readonly="1"/></h1>
生产订单
之后,使用升级数据库和模块名
mrp
重新启动服务器


希望这能解决您的问题。

如果您的问题得到解决,您可以接受答案并放弃投票。谢谢。你好,Odedra。我完全按照您的指示尝试了,但重新启动服务器后,我发现“没有处理程序”错误。可能创建方法应该写入文件的特定区域?我在mrp_生产类中写入。知道吗?是的,您输入的代码是正确的,但它们是服务器启动的问题。由于服务器启动错误,您得到错误
无处理程序
。是的Odedra。此错误是服务器启动的问题。如果我撤消加载项/mrp/mrp.py上的更改并重新启动服务器,它工作正常。当我将更改添加到此文件时,服务器会启动(在服务上),但通过浏览器访问时,我会收到此错误。哦,我认为代码没有问题,因为我认为它工作正常。服务器有问题。您能写下如何启动服务器吗?