Odoo Help

0

Manufactoring order sequence?

By
Elevenmidia
on 3/21/14, 12:26 PM 2,170 views

Dear all, I need your help with a problem I am having on Manufacturing Order Sequence Number The problem is that, everytime I click Create and then Discard the document, the sequence number increases. This is bad, because the Manufacturnig Order was discarded and not Saved. If I click on Create and then Discard several times, the sequence number will increase the number of times clicked.

How can I prevent OpenERP, from doing it and just increase the number when Manufacturing Order is saved?

I have been searching the forum, and found a "closed" post:

help.openerp.com/question/22373/control-on-autogenerated-sequence-number/

Unfortunetly this is not very clear for a newbie like me.

What I have tried to do:

  1. On my mrp.py file:

Found the line " 'name': lambda x, y, z, c: x.pool.get('ir.sequence').get(y, z, 'mrp.production') or '/', " on my "class mrp_production(osv.osv)". The full _defaults statement is below.

_ defaults = {
    'priority': lambda *a: '1',
    'state': lambda *a: 'draft',
    'date_planned': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
    'product_qty':  lambda *a: 1.0,
    'user_id': lambda self, cr, uid, c: uid,

    THE BELOW LINE

    'name': lambda x, y, z, c: x.pool.get('ir.sequence').get(y, z, 'mrp.production') or '/', 

    THE ABOVE LINE

    'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'mrp.production', context=c),
    'location_src_id': _src_id_default,
    'location_dest_id': _dest_id_default
}

But the problem is that I do not know how will I override de create() method according to instructions from the post. I do not find a create() method on mrp.py file. The instructions say that I should override this method with the following code:

(where to put this code)

def create(self,cr,uid, vals,context=None):
    vals = {}
if context is None:
    context = {}
vals['name'] = self.pool.get('ir.sequence').get(cr, uid, 'object.object')
return super(object, self).create(cr, uid, vals, context=context)

" Paulo

0
Ray Carnes
On 3/21/14, 12:51 PM

You can change the Implementation option on the sequence to NOT ALLOW gaps in the sequence.

Do this via the menu sequence Settings -> Technical -> Sequences and Identifiers -> Sequences

The example below is for Invoices via the Sales Journal, but if you open the sequence for Manufacturing Orders you will see the same type of record:

image description

You can see the things you can modify about a sequence are:

  1. Fixed or date/time based prefix characters
  2. Fixed or date/time based suffix characters
  3. The total number of numerals in the number (padding) ie: 001 or 000001
  4. The increment used for the next number in the sequence
  5. The next number used for the numeric part of the sequence

  6. Whether to allow gaps in the sequence (this is what you want to modify)

I have tried that already Ray. The problem is that the sequence number is achieved when you click Create and not when you save the production order. If you click on Create and Discard several times you will see that the sequence number increases everytime. This way, when you click on save the manfactoring order will be saved with the last number received. I need to change it in ways to get the correct number just when you say Save or Confirm Production.

Elevenmidia
on 3/22/14, 6:33 AM

Understood. Take a look at the way Invoice numbers are assigned, at SAVE time, not at CREATE time.

Bista Solutions US, Ray Carnes
on 3/22/14, 3:11 PM

Yes Ray, I have noticed that. The invoice number is achieved at save time and the manufacturing order gets the number at the create time. This is what I really need to change. I need to change the mrp behavior to achieve the number on save time and not at create time. Thank you once again

Elevenmidia
on 3/23/14, 11:32 AM
0
Daniel Santos
On 4/17/14, 7:10 AM

Same problem here. I found this answer, maybe could help you:

http:// help.openerp.com/question/22373/control-on-autogenerated-sequence-number/

Thanks!

0
Med Said BARA
On 4/17/14, 10:46 AM

You should read this response on stackoverflow

The problem is more general read this

Patching, is not a solution in this case.

The question should be raised for the core team in Launchpad .

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

Register

Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)

Stats

Asked: 3/21/14, 12:26 PM
Seen: 2170 times
Last updated: 3/16/15, 8:10 AM