Dear rené,
Thank you for your help.
I add the new state into the selection.
Now i don't receive any error message, but the state is still lock into the state 'sent'.
Is it normal?
Thank you,
Edit : My code:
<record id="trans_draft_int" model="workflow.transition">
<field name="act_from" ref="act_draft"/>
<field name="act_to" ref="act_int"/>
<field name="signal">int_sent</field>
</record>
<record id="trans_int_sent" model="workflow.transition">
<field name="act_from" ref="act_int"/>
<field name="act_to" ref="act_sent"/>
</record>
<record id="act_int" model="workflow.activity">
<field name="wkf_id" ref="wkf_sale"/>
<field name="name">int</field>
<field name="kind">function</field>
<field name="action">write({'state':'int'})</field>
</record>
def print_BAT(self, cr, uid, ids, context=None):
'''
This function prints the sales order and mark it as sent, so that we can see more easily the next step of the workflow
'''
for o in self.browse(cr, uid, ids):
if not o.devis_accept_by_client:
raise osv.except_osv(_('Error!'),_('The client needs to accept the quotation first'))
assert len(ids) == 1, 'This option should only be used for a single id at a time'
wf_service = netsvc.LocalService("workflow")
wf_service.trg_validate(uid, 'sale.order', ids[0], 'int_sent', cr)
datas = {
'model': 'sale.order',
'ids': ids,
'form': self.read(cr, uid, ids[0], context=context),
}
return {'type': 'ir.actions.report.xml', 'report_name': 'sale.BAT', 'datas': datas, 'nodestroy': True}
'state': fields.selection([
('draft', 'Draft Quotation'),
('sent', 'Quotation Sent'),
('int', 'Bat Sent'),
('cancel', 'Cancelled'),
('waiting_date', 'Waiting Schedule'),
('progress', 'Sales Order'),
('manual', 'Sale to Invoice'),
('invoice_except', 'Invoice Exception'),
('done', 'Done'),
], 'Status', readonly=True, track_visibility='onchange',
Selverine