El 23/01/14 00:52, Karlo Ferrari ha escrit:
Hola,
Estoy tratando de conectar un sistema a través de JSON-RPC; hasta
ahora he tenido éxito en operaciones como logearme con el servidor
Tryton, traer el Context y en procedimientos "search" y "read", pero
se me está complicando la cosa cuando trato de dar de alta nuevos
modelos o modificarlos:
Por ejemplo esta es una petición JSON-RPC al servidor para crear un
nuevo usuario:
Petición JSON-RPC:
{"id":3,"method":"model.res.user.create","params":[1,"e98bf14b347c4bcdab8bf949d98854eb",{"name":"nuevoUsuario","active":true,"email":"[email protected]"},{"language":"es_ES","locale":{"date":"%d\/%m\/%Y","thousands_sep":".","decimal_point":",","grouping":[3,3,0]},"language_direction":"ltr","company_work_time":{"Y":1920.0,"M":160.0,"d":8.0,"w":40.0},"company.rec_name":"Mi
Empresa,
S.L.","groups":[1,2,3],"employee":null,"timezone":"Europe\/Madrid","company":1}]}
Respuesta del servidor Trytond:
json-rpc error: ["'str' object has no attribute 'copy'","Traceback
(most recent call last):\n File \"\/trytond\/protocols\/jsonrpc.py\",
line 123, in _marshaled_dispatch\n response['result'] =
dispatch_method(method, params)\n File
\"\/trytond\/protocols\/jsonrpc.py\", line 156, in _dispatch\n res =
dispatch(*args)\n File \"\/trytond\/protocols\/dispatcher.py\", line
168, in dispatch\n result = rpc.result(meth(*args, **kwargs))\n File
\"\/trytond\/res\/user.py\", line 216, in create\n vlist =
[cls._convert_vals(vals) for vals in vlist]\n File
\"\/trytond\/res\/user.py\", line 200, in _convert_vals\n vals =
vals.copy()\nAttributeError: 'str' object has no attribute 'copy'\n"]
Por más que lo reviso no doy con el error, ¿alguien con experiencia en
esto que me pueda arrojar algo de luz?
A partir de la versión 2.8 tryton espera una lista de diccionarios en la
función create (para poder crear más de un registro de golpe).
Por lo que veo tu le estas pasando sólo un diccionario por eso falla.
Saludos,
--
Sergi Almacellas Abellana
www.koolpi.com
Twitter: @pokoli_srk