您的位置:首页 > 其它

How do I add new state and change the workflow of Purchase Order?

2016-06-16 20:00 447 查看
原文:https://www.odoo.com/forum/help-1/question/how-do-i-add-new-state-and-change-the-workflow-of-purchase-order-5118

You need to inherit 
purchase.order
 and redefine the state field by adding or removing
states. The following example adds 
new_state
 state:
class purchase_order(osv.osv):
_inherit = 'purchase.order'
STATE_SELECTION = [
('new_state', 'New State'),
('draft', 'Draft PO'),
('sent', 'RFQ Sent'),
('confirmed', 'Waiting Approval'),
('approved', 'Purchase Order'),
('except_picking', 'Shipping Exception'),
('except_invoice', 'Invoice Exception'),
('done', 'Done'),
('cancel', 'Cancelled')
]
_columns = {
'state': fields.selection(STATE_SELECTION, 'Status', readonly=True, help="The status of the purchase order or the quotation request. A quotation is a purchase order in a 'Draft' status. Then the order has to be confirmed by the user, the status switch to 'Confirmed'. Then the supplier must confirm the order to change the status to 'Approved'. When the purchase order is paid and received, the status becomes 'Done'. If a cancel action occurs in the invoice or in the reception of goods, the status becomes in exception.", select=True),
}
sale_order()


check this question about sales order for
a possible issue if other modules are also modifying the state field .

To modify the workflow, you can add new workflow items or modify existing items using xml records that reference
purchase
 module
records. Note that you need to add 
module_name.
 prefix to any id defined in the module
you are modifying. The following example adds a new activity and modifies 
trans_sent_confirmed
 transition
to the purchase order:
<record id="act_new_state" model="workflow.activity">
<field name="wkf_id" ref="purchase.purchase_order"/>
<field name="name">new_state</field>
<field name="kind">function</field>
<field name="action">write({'state':'new_state'})</field>
</record>
<record id="purchase.trans_sent_confirmed" model="workflow.transition">
<field name="act_from" ref="purchase.act_sent"/>
<field name="act_to" ref="act_new_state"/>
<field name="signal">purchase_confirm</field>
</record>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  odoo