Search code examples
python-2.7odoo-9

How do I get workflow Id in odoo9 manufacturing module?


Here is my code..

<record id="test_workflow" model="workflow">
<field name="name">test.workflow</field>
<field name="osv">test.workflow.model</field>
<field name="on_create">True</field>
</record>

<record id="activity_a" model="workflow.activity">
<field name="wkf_id" ref="mrp.production.basic"/>
<field name="flow_start">True</field>
<field name="name">Quality Check</field>
<field name="kind">function</field>
<field name="action">print_Quality Check()</field>
</record>

while I am running the server then getting error:

ParseError: "External ID not found in the system: mrp.production.basic" while parsing /home/naveen/odoo-9.0/custom_assetwh/mrp_customisation/view.xml:57, near


Solution

  • You need to give the workflow xmlid inside the ref attribute and you have given its name instead of the xmlid or externalid.

    Please change your xml as like below. You will get the xmlid of workflow "mrp.production.basic" inside the addons=>mrp=>mrp_workflow.xml file and that xmlid is "wkf_prod". You should write your xml file as below.

    <record id="activity_a" model="workflow.activity"> <field name="wkf_id" ref="wkf_prod"/> <field name="flow_start">True</field> <field name="name">Quality Check</field> <field name="kind">function</field> <field name="action">print_Quality_Check()</field> </record>

    Note: xmlid of workflow https://github.com/odoo/odoo/blob/9.0/addons/mrp/mrp_workflow.xml#L6