2016-04-27 1 views
0

Я создал собственный рабочий процесс, где я включил два состояния: черновик, сделано. Моя модель переходит только в состояние черновика после того, как я его сохранил или щелкнула случайную кнопку в форме. Я добавил атрибут flow_start, думая, что это исправит это, но никаких результатов.Одуовый рабочий процесс не в состоянии draft on create

Это мой код рабочего процесса:

<openerp> 
<data> 
<!-- maatwerk order workflow --> 

    <record id="mw_workflow" model="workflow"> 
     <field name="name">mw.workflow</field> 
     <field name="osv">maatwerk.order</field> 
     <field name="on_create">True</field> 
    </record> 

    <record id="activity_draft" model="workflow.activity"> 
     <field name="wkf_id" ref="mw_workflow"/> 
     <field name="flow_start">True</field> 
     <field name="name">draft</field> 
    </record> 
    <record id="activity_done" model="workflow.activity"> 
     <field name="wkf_id" ref="mw_workflow"/> 
     <field name="flow_stop">True</field> 
     <field name="name">done</field> 
     <field name="kind">function</field> 
     <field name="action">done()</field> 
    </record> 

    <record id="trans_draft_done" model="workflow.transition"> 
     <field name="act_from" ref="activity_draft"/> 
     <field name="act_to" ref="activity_done"/> 
     <field name="signal">draft_done</field> 
    </record> 

</data> 
</openerp> 
+0

Не могли бы вы предоставить более подробную информацию? Почему не следует указывать по умолчанию «проект», как во многих примерах. И не смешивайте имя и функцию полей активности (activity_done кажется просто неправильным или не завершенным) – CZoellner

+0

Да, это то, что я хочу, что начальное состояние по умолчанию - это «черновик», но по какой-то причине он начинает без какого-либо состояния, после того как я щелкнул сэкономить или что-то, что он перескакивает на проект штата. – Jesse

ответ

1

Есть два простых возможностей, чтобы получить значения по умолчанию в Odoo:

  1. ORM Модель _defaults (V7 +)

    class ModelX(orm.Model): 
        _name = 'model.x' 
        _columns = {'state':fields.selection([('draft','Draft'),('done','Done')], string='State')} 
        _defaults = {'state':'draft'} 
    
  2. Поле по умолчанию (V8 +):

    class ModelX(models.Model): 
        _name = 'model.x' 
        field_x = fields.Selection([('draft','Draft'),('done','Done')], string='State', default='draft')} 
    

С одним из этих решений в ваших образцовых записях должно быть указано «черновик» после создания.