Skip to Content
Menú
This question has been flagged
4 Respostes
7649 Vistes

I need call the method "button_block" of model "mrp.workcenter.productivity" using XMLRPC because I want block a workorder using my raspberry pi. I need help because i don't know how I can pass the parameter "loss_id" to block the workorder. On the other hand when I call the method "button_block" there is a erro because the methon hasn´t return value.


My code is this(using python 3.7.4 ):

from xmlrpc import client as xmlrpclib 

url= 'http://localhost:8069'
db='TFG_Sergio_pruebas'
username='user'
password='pass'

common = xmlrpclib.ServerProxy('{}/xmlrpc/2/common'.format(url))
models = xmlrpclib.ServerProxy('{}/xmlrpc/2/object'.format(url))
uid = common.login(db, username, password)

bloquear_ct= models.execute_kw(db,uid,password,
'mrp.workcenter.productivity','button_block',[6],{})
print(bloquear_ct)


I know how make the call ando don´t have the problem of none return, but I don´t know how make tu pass the "loss_id" parameter to the method "button_block".

 
Avatar
Descartar

Can you please post the code you tried and the error you are getting?

Best Answer

Normally XML-RPC only works for the methods that return something. Now, you have two options:

1: Create your custom module and create a method in "mrp.workcenter.productivity" object and call "button_block" method and return True.
Example:

@api.multi
def action_button_block(self):
self.button_block()
return True

2: If you can find the ID of the work order (mrp.workorder), then directly call "end_all()" method which will do the similar thing as button_block.

Avatar
Descartar
Autor

Yes, I thinked in this but I don't know if calling "end_all()" I can pass the parametre of loss_id, this is my problem, I can´t chose the block type.

Thanks

Autor Best Answer


Avatar
Descartar
Related Posts Respostes Vistes Activitat
1
de maig 20
2316
0
de gen. 25
887
1
de març 22
4944
4
de des. 19
18792
2
de maig 18
5868