我在OpenERP上遇到MRP标准模块的问题。 问题在于所有制造订单的序列号。
如果单击“创建”按钮,然后单击“放弃”按钮,则制造商订单号将按顺序增加。发生这种情况是因为获取数字的操作在“创建”按钮上,而不在“保存”按钮上。因此,如果我单击创建/放弃10次,即使没有保存,这个数字也会增加10倍。
我需要做的是在Save按钮上添加一个动作,在数据库上验证最后保存的数字是什么(与其状态无关),并将下一个数字添加到我当时保存的制造订单中。这样我就会保证制造订单号序列是正确的。
提前谢谢大家
圣保罗
答案 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
重新启动服务器。
希望这能解决您的问题。