Skip to Content
Menu
This question has been flagged
4 Replies
7546 Views

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
Discard

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
Discard
Author

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

Author Best Answer


Avatar
Discard
Related Posts Replies Views Activity
1
May 20
2209
0
Jan 25
664
1
Mar 22
4777
4
Dec 19
18591
2
May 18
5697