Buenas tardes, estoy tratando de modificar el módulo analytic_product de la versión 3.4, que ya he utilizado anteriormente, para que funcione en la versión 3.8, al ejecutarlo previo a hacer cualquier modificación me arroja el siguiente error:
Traceback (most recent call last): File "/home//trytond/protocols/dispatcher.py", line 167, in dispatch result = rpc.result(meth(inst, *c_args, **c_kwargs)) File "/home//trytond/model/modelview.py", line 649, in on_change method() File "/home//trytond/model/modelview.py", line 84, in wrapper result = func(self, *args, **kwargs) File "/home//trytond/model/fields/field.py", line 89, in wrapper return func(self, *args, **kwargs) File "/home//trytond/modules/sale_pos/sale.py", line 292, in on_change_product super(SaleLine, self).on_change_product() File "/home//trytond/model/modelview.py", line 84, in wrapper result = func(self, *args, **kwargs) File "/home//trytond/model/fields/field.py", line 89, in wrapper return func(self, *args, **kwargs) File "/home//trytond/modules/analytic_product/product.py", line 260, in on_change_product res[key] = account.id TypeError: 'sale.line' object does not support item assignment Esta es la parte del código donde está arrojándome el error: class AnalyticProductMixin: @fields.depends('product') def on_change_product(self): try: res = super(AnalyticProductMixin, self).on_change_product() except: res = {} if self.product and self.product.analytic_accounts: for account in self.product.analytic_accounts.accounts: key = 'analytic_account_%d' % account.root.id res[key] = account.id return res Haciendo un poco de debugeo lo que puedo notar al correr este código en la versión 3.4 es que "res" trae la siguiente información: {'unit_digits': 2, 'description': u'MELOXICAM 15MG C/10 TAB', 'gross_unit_price': Decimal('10.00'), 'taxes': [5], 'gross_unit_price_wo_round': Decimal('10.0000'), 'discount': Decimal('0'), 'amount': Decimal('10.00'), 'unit_price': Decimal('10.0000'), 'cost_price': Decimal('5.00'), 'unit': 46, 'unit.rec_name': u'CAJA C/10'} Incluso despues de asignar el res[key] = account.id veo que también ya le agregó el valor {'unit_digits': 2, 'description': u'MELOXICAM 15MG C/10 TAB', 'gross_unit_price': Decimal('10.00'), 'taxes': [5], 'gross_unit_price_wo_round': Decimal('10.0000'), 'discount': Decimal('0'), 'amount': Decimal('10.00'), 'unit_price': Decimal('10.0000'), 'analytic_account_1': 8, 'cost_price': Decimal('5.00'), 'unit': 46, 'unit.rec_name': u'CAJA C/10'} Mientras que ahora al correrlo en la versión 3.8 "res" trae la siguiente información: sale.line,-1 Supongo que esta es la razón, alguna idea de que debo de ajustar o considerar para poderle asignar el valor de la cuenta analítica que trae asignada el producto? De antemano gracias