Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
7950 Представления

This is a draft of a server action based on a server action created directly via GUI:

<record id="env2" model="ir.actions.server">
<field name="sequence" eval="5"/>
<field name="name">test2</field>
<field name="model_id" ref="model_rest_order"/>
<field name="condition">True</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="code">
self.write(cr, uid, context=context)
status = 'Pronto'
end_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
to_floor = 2
</field>
</record>

Obviously when I call it raise an error:

ValueError: "old_api() takes at least 4 arguments (3 given)" while evaluating
u'self.write(cr, uid, context=context)\nstatus = \'Pronto\'\nend_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")\nto_floor = \'2\''

And if I add ids, self.write(cr, uid, ids, context=context):

ValueError: "name 'ids' is not defined" while evaluating 
u'self.write(cr, uid, context=context)\nstatus = \'Pronto\'\nend_date = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")\nto_floor = \'2\''

I admit I'm not understanding how python should be implemented here nor how new api will be triggered. Work directly on python externally is very simple... What is the correct syntax here?
 

Solved with: self.write(cr, uid, context['active_ids'], {'field':'value'})

Аватар
Отменить
Автор Лучший ответ

Solved with:

        <record id="rest_order_send" model="ir.actions.server">
<field name="sequence" eval="5"/>
<field name="name">rest_order_send</field>
<field name="model_id" ref="model_rest_order"/>
<field name="condition">True</field>
<field name="type">ir.actions.server</field>
<field name="state">code</field>
<field name="code">
self.write(cr, uid, context['active_ids'], {'status':'Pronto'})
self.write(cr, uid, context['active_ids'], {'to_floor':'2'})
self.write(cr, uid, context['active_ids'], {'end_date':datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")})
</field>
</record>
But I hope it will works on Odoo V9 too, because seems not the new API method...

Аватар
Отменить

Is is possible to to display server action button under option More(Action for V9) according to user groups?

Лучший ответ


Аватар
Отменить
Related Posts Ответы Просмотры Активность
2
дек. 23
12700
3
июл. 22
23066
2
июн. 21
18503
0
сент. 20
3710
0
мая 16
4109