2016-07-08 5 views
0

Ich habe Modul für Projekt erstellen, das Feld Präfix hat, wenn Datensatz speichert Präfix mit der Sequenz pro-001Wie wird die Sequenznummer für verschiedene Aufgaben vergeben?

erzeugen, wenn eine Aufgabe unter perticular Projekt Tasksequenz erstellt wird, wie Pro-001, Pro-002 erzeugen wird , pro-003

def create(self, cr, uid, vals, context=None): 
     project_id = vals.get('project_id') 
     project = self.pool.get('project.project').read(cr, uid, project_id, context=context) 
     if project and project['prefix']: 
      new_id = self.pool.get('ir.sequence').next_by_id(cr, uid, 'project.task', project['prefix'], context=context) 

     return super(projectTask, self).create(cr, uid, vals, context) 
+0

Was ist das Problem? –

+0

Sequenz wird nicht vom Projekt generiert, ich weiß nicht, wie es geht –

Antwort

0

für diese Anforderung eine Sequenz zu definieren, würde ich vorschlagen (sequence_id siehe unten) für jedes Projekt. Schauen Sie in account.journal wie es richtig gemacht wird.

Und dann können Sie es auf project.task Schöpfung wie verwenden:

def create(self, cr, uid, vals, context=None): 
    project_id = vals.get('project_id') 
    project = self.pool.get('project.project').browse(
     cr, uid, project_id, context=context) 
    if project and project.sequence_id: 
     vals['your_sequence_field_on_task'] = self.pool.get('ir.sequence').next_by_id(
      cr, uid, project.sequence_id.id, context=context) 

    return super(projectTask, self).create(cr, uid, vals, context) 
Verwandte Themen