OPEN ERP 7
CREATE A WORKFLOW
STEP BY STEP
1.Create state in column fields
2.Create button and field in form view
3.Create workflow activity
4.Create workflow transition
CREATE STATE IN COLUMN FIELDS
class crossovered_budget(osv.osv):
_inherit = "crossovered.budget"
_description = "inherited to crossovered.budget"
_columns = {
#other fields
'state' : fields.selection(
[('draft','Draft'),
('cancel', 'Cancelled'),
('check','Wait Approval Manager'),
('authorize','Wait Approval Dir Opr'),
('authorize_finance','Wait Approval Dir. Fin'),
('confirm','Wait Approval Finance'),
('validate','Validate'),
('done','Done')],
'Status', select=True, required=True, readonly=True)
}
CREATE BUTTON AND FIELD IN FORM VIEW
<header>
<button string="Confirm1" name="confirm" states="draft" type="workflow" class="oe_highlight"/>
<button string="Approve" name="check" states="check" type="workflow" class="oe_highlight"/>
<button string="Wait Approval Manager" name="authorize" states="authorize" type="workflow"
class="oe_highlight"/>
<button string="Wait Approval Dir. Operational" name="authorize_finance"
states="authorize_finance" type="workflow" class="oe_highlight"/>
<button string="Wait Approval Dir. Finance" name="confirm" states="confirm" type="workflow"
class="oe_highlight"/>
<button string="Done" name="done" states="validate" type="workflow" class="oe_highlight"/>
<button name="draft" states="cancel" string="Reset to Draft" type="workflow" />
<button string="Cancel Budget" name="cancel"
states="check,authorize,authorize_finance,confirm,validate" type="workflow"/>
<field name="state" widget="statusbar"
statusbar_visible="draft,check,authorize,authorize_finance,confirm,validate,done"/>
</header>
CREATE WORKFLOW ACTIVITY
<record model="workflow" id="wkf_crossovered_budget">
<field name="name">wkf.crossovered.budget</field>
<field name="osv">crossovered.budget</field>
<field name="on_create">True</field>
</record>
<record model="workflow.activity" id="act_draft">
<field name="wkf_id" ref="wkf_crossovered_budget" />
<field name="flow_start">True</field>
<field name="name">draft</field>
<field name="action">write({'state':'draft'})</field>
<field name="kind">function</field>
</record>
CREATE WORKFLOW ACTIVITY CONTINUE
<record model="workflow.activity" id="act_done">
<field name="wkf_id" ref="wkf_crossovered_budget" />
<field name="name">done</field>
<field name="flow_stop">True</field>
<field name="kind">stopall</field>
<field name="action">budget_done()</field>
<field name="join_mode">XOR</field>
</record>
CREATE WORKFLOW TRANSITION
<record model="workflow.transition" id="t1">
<field name="act_from" ref="act_draft" />
<field name="act_to" ref="act_confirm" />
<field name="signal">confirm</field>
</record>
<record model="workflow.transition" id="t2">
<field name="act_from" ref="act_confirm" />
<field name="act_to" ref="act_validate" />
<field name="signal">validate</field>
</record>
Related to button ActionRelated to button Action
THANK YOU
HOPE IT WILL BE USEFULL

Open erp 7 workflow

  • 1.
  • 2.
    STEP BY STEP 1.Createstate in column fields 2.Create button and field in form view 3.Create workflow activity 4.Create workflow transition
  • 3.
    CREATE STATE INCOLUMN FIELDS class crossovered_budget(osv.osv): _inherit = "crossovered.budget" _description = "inherited to crossovered.budget" _columns = { #other fields 'state' : fields.selection( [('draft','Draft'), ('cancel', 'Cancelled'), ('check','Wait Approval Manager'), ('authorize','Wait Approval Dir Opr'), ('authorize_finance','Wait Approval Dir. Fin'), ('confirm','Wait Approval Finance'), ('validate','Validate'), ('done','Done')], 'Status', select=True, required=True, readonly=True) }
  • 4.
    CREATE BUTTON ANDFIELD IN FORM VIEW <header> <button string="Confirm1" name="confirm" states="draft" type="workflow" class="oe_highlight"/> <button string="Approve" name="check" states="check" type="workflow" class="oe_highlight"/> <button string="Wait Approval Manager" name="authorize" states="authorize" type="workflow" class="oe_highlight"/> <button string="Wait Approval Dir. Operational" name="authorize_finance" states="authorize_finance" type="workflow" class="oe_highlight"/> <button string="Wait Approval Dir. Finance" name="confirm" states="confirm" type="workflow" class="oe_highlight"/> <button string="Done" name="done" states="validate" type="workflow" class="oe_highlight"/> <button name="draft" states="cancel" string="Reset to Draft" type="workflow" /> <button string="Cancel Budget" name="cancel" states="check,authorize,authorize_finance,confirm,validate" type="workflow"/> <field name="state" widget="statusbar" statusbar_visible="draft,check,authorize,authorize_finance,confirm,validate,done"/> </header>
  • 5.
    CREATE WORKFLOW ACTIVITY <recordmodel="workflow" id="wkf_crossovered_budget"> <field name="name">wkf.crossovered.budget</field> <field name="osv">crossovered.budget</field> <field name="on_create">True</field> </record> <record model="workflow.activity" id="act_draft"> <field name="wkf_id" ref="wkf_crossovered_budget" /> <field name="flow_start">True</field> <field name="name">draft</field> <field name="action">write({'state':'draft'})</field> <field name="kind">function</field> </record>
  • 6.
    CREATE WORKFLOW ACTIVITYCONTINUE <record model="workflow.activity" id="act_done"> <field name="wkf_id" ref="wkf_crossovered_budget" /> <field name="name">done</field> <field name="flow_stop">True</field> <field name="kind">stopall</field> <field name="action">budget_done()</field> <field name="join_mode">XOR</field> </record>
  • 7.
    CREATE WORKFLOW TRANSITION <recordmodel="workflow.transition" id="t1"> <field name="act_from" ref="act_draft" /> <field name="act_to" ref="act_confirm" /> <field name="signal">confirm</field> </record> <record model="workflow.transition" id="t2"> <field name="act_from" ref="act_confirm" /> <field name="act_to" ref="act_validate" /> <field name="signal">validate</field> </record> Related to button ActionRelated to button Action
  • 8.
    THANK YOU HOPE ITWILL BE USEFULL