Skip to content

[IMP] <stock_picking_taxes> changed One2many for Many2many#862

Open
oihane wants to merge 3 commits intoodoomrp:8.0from
oihane:8.0-taxes
Open

[IMP] <stock_picking_taxes> changed One2many for Many2many#862
oihane wants to merge 3 commits intoodoomrp:8.0from
oihane:8.0-taxes

Conversation

@oihane
Copy link
Copy Markdown
Contributor

@oihane oihane commented Jun 8, 2015

No description provided.

@landscape-bot
Copy link
Copy Markdown

Code Health
Code quality remained the same when pulling 2872b84 on oihane:8.0-taxes into 0042991 on odoomrp:8.0.

@landscape-bot
Copy link
Copy Markdown

Code Health
Repository health decreased by 0.29% when pulling 2872b84 on oihane:8.0-taxes into bf4a745 on odoomrp:8.0.

@oihane
Copy link
Copy Markdown
Contributor Author

oihane commented Jun 22, 2015

@pedrobaeza por fin! conseguido que el many2many se rellene
@antespi creo que lo necesitabais así...

@landscape-bot
Copy link
Copy Markdown

Code Health
Repository health decreased by 0.29% when pulling 9a42d43 on oihane:8.0-taxes into bf4a745 on odoomrp:8.0.

@oihane
Copy link
Copy Markdown
Contributor Author

oihane commented Jun 22, 2015

😞

Exception during JSON request handling.
Traceback (most recent call last):
  File "/home/avanzosc/Odoo/OCB-server/openerp/http.py", line 537, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/avanzosc/Odoo/OCB-server/openerp/http.py", line 588, in dispatch
    return self._json_response(result)
  File "/home/avanzosc/Odoo/OCB-server/openerp/http.py", line 526, in _json_response
    body = simplejson.dumps(response)
  File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line 354, in dumps
    return _default_encoder.encode(obj)
  File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 262, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 340, in iterencode
    return _iterencode(o, 0)
  File "/usr/lib/python2.7/dist-packages/simplejson/encoder.py", line 239, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <openerp.models.NewId object at 0x7ff2280bc850> is not JSON serializable

@oihane
Copy link
Copy Markdown
Contributor Author

oihane commented Jun 22, 2015

😟

'taxes': [(3, <openerp.models.NewId object at 0x7fba48c96790>),
          (3, <openerp.models.NewId object at 0x7fba48c969d0>),
          (3, <openerp.models.NewId object at 0x7fba48c96a50>),
          (0, 0, {'amount': 176.4, 'base': 4410.0, 'name': u'IVA 4%'}),
          (0, 0, {'amount': 85.05, 'base': 405.0, 'name': u'IVA 21%'}),
          (0, 0, {'amount': 7.2, 'base': 72.0, 'name': u'IVA 10%'})]

No entiendo porque trata de desvincularlos si no existen realmente

@pedrobaeza
Copy link
Copy Markdown
Member

Creo que podría considerarse un bug.

@oihane
Copy link
Copy Markdown
Contributor Author

oihane commented Jun 23, 2015

Voy a ver que hace también el módulo de ventas...

@oihane
Copy link
Copy Markdown
Contributor Author

oihane commented Jul 2, 2015

En el módulo de ventas lo que se hace es a través de un botón de modo que no es un campo calculado como tal

@landscape-bot
Copy link
Copy Markdown

Code Health
Repository health decreased by 0.12% when pulling 9a42d43 on oihane:8.0-taxes into 0d8bc43 on odoomrp:8.0.

@anajuaristi
Copy link
Copy Markdown
Contributor

@pedrobaeza @oihane ¿Porqué es necesario cambiar el one2many por un many2many en stock_picking_taxes? No está bien como está? ¿Cual es el motivo de hacer el cambio?
Es por saber qué se quiere conseguir

Por otro lado, hace bastante que está el PR, se puede mergear? falta algo? Os testeo algo?

@oihane
Copy link
Copy Markdown
Contributor Author

oihane commented Jul 16, 2015

No se puede mergear porque tiene efectos laterales, el cambio fue porque Raphael Collet dijo que los calculados han de ser many2many

@anajuaristi
Copy link
Copy Markdown
Contributor

¿No conoceis la máxima de un programador? Si funciona no lo toques?
Cuidado con cambios en este módulo que lo están usando casi todos los clientes en producción, aparte de que impacta también con el valued picking.
Si solo es porque haga bonito y no por necesidad real, yo por mi, lo dejaba estar y no mergeaba.
@pedrobaeza ?

@antespi
Copy link
Copy Markdown
Contributor

antespi commented Jul 17, 2015

Yo he detectado un problema con este addon al modificar un albarán. Nos cambia automáticamente el campo picking_type_code. La forma de reproducirlo es:

  1. Crear un albarán
  2. Forzar disponibilidad
  3. Cambiar la cantidad de cualquiera de las líneas, incrementándola
  4. Guardar el albarán

Os dará error porque el campo picking_type_code se ha borrado. Si quereis ver el campo tenéis que añadirlo a la vista, porque es un campo que no se muestra porque es de uso interno.

Todo esto se debe a que se hace una operación de create/write del modelo de los impuestos en un método que es api.depends y el environment que se usa en esos métodos es de cache.

Estuve viendo un modo distinto de implementar el addon para evitar este problema, pero no he concluido con algo que funcione bien. Quizás cambiando el campo de One2many a Many2many el error no se produce.

@oihane
Copy link
Copy Markdown
Contributor Author

oihane commented Jul 17, 2015

Seguimos teniendo problemas aunque ahora es diferente, con el many2many sigue teniendo un efecto lateral, hemos reportado a Odoo a ver si alguien contesta.

odoo/odoo#7426

@antespi
Copy link
Copy Markdown
Contributor

antespi commented Jul 17, 2015

Creo que puedes intentar implementarlo en el write del stock.picking, en ese método puedes hacer create/write/unlink sin problemas. En vez de hacerlo a través de un campo calculado que dependa de otros.

En el write puedes ver los campos que cambian y ver si tienes que actualizar los impuestos. Creas, modificas y borras los que necesites. Los campos que relacionan el modelo stock.picking y stock.picking.tax no tienen que ser calculados y podrían volver a ser One2many y Many2one.

Yo he hecho algo parecido en el POS: OCA/pos#38

@oihane
Copy link
Copy Markdown
Contributor Author

oihane commented Jul 17, 2015

Buena idea @antespi a ver que dice @pedrobaeza

@pedrobaeza
Copy link
Copy Markdown
Member

Esto se quedó parado y creo que no está solucionado, ¿no?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants