← Back to team overview

c2c-oerpscenario team mailing list archive

Re: [Bug 789832] [NEW] Can not get a sequence_id from a child company

 

Maybe I didnot express myself correctly.

> Can you give me any example where the user (+ his company or so) would affect 
> the numbering? Are we /ever/ allowed to use more than 1 sequence per 
> journal/stock etc? [1]

I have a user which is in the holding company and can invoice in both
child company witht different numbering system. No need for several
sequence per journal but still when user X invoices for company A, it
should get the seq A from the journal A (and subsequently for B). Yes
company A should have journal A and sequence A and you cannot cross
reference here but still if in invoicing I should company A for which I
allowed to make invoice it should set all objects to A (and B if I
choose B).  

> I had -long- [2] implemented a "condition" field in ir.sequence . There, I say, 
> if we need to select sequence by any criteria, we could put a small expression 
> and have it restrict the selection. So far, I discovered that using distinct 
> journals has been the best practice, rather than trying to select among 
> multiple sequences.

My question was more on the way the information is handle by python and
the function.
the get_id function should return all valid sequence number for a user
but then you need to be able to check if those sequence numbers are
valid (eg seq A for company B is invalid).
Concerning this validation, I was wondering if it is bettter to
implement it as a condition after get_id is called or send a filter as a
parameter.

>

Eric

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/789832

Title:
  Can not get a sequence_id from a child company

Status in OpenERP Server:
  Confirmed

Bug description:
  In V6, how to reproduce the bug:
  2 companies, A is child of B.
  2 invoice sequences, one for A and one for B.
  User X with company B as main company should be able to watch all objects from company B and A.
  When user X is entering a new invoice for company A, no sequence_id is generated. This is due to the fact that in ir_sequence/get_id the following code seems incorrect:

          company_id = self.pool.get('res.users').read(cr, uid, uid, ['company_id'], context=context)['company_id'][0] or None
          cr.execute('''SELECT id, number_next, prefix, suffix, padding
                        FROM ir_sequence
                        WHERE %s=%%s
                         AND active=true
                         AND (company_id = %%s or company_id is NULL)
                        ORDER BY company_id, id
                        FOR UPDATE NOWAIT''' % test,
                        (sequence_id, company_id))
   
  The function is filtering according to user's company (B) and cannot find the correct invoice sequence (which is assigned to A company). 
  As far as I understand multi-company, the filter should find a list of all children companies and give all sequences for A, B and NULL.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-server/+bug/789832/+subscriptions


References