El lunes, 28 de julio de 2014 13:06:15 UTC-5, oscar_alvarez escribió:
>
> Hola devs
>
> Al instalar sale_shop en una base de datos con ventas previas genera el
> siguiente error
>
> Traceback (most recent call last):
> File "/home/pactemos/Envs/trytond32_pac/bin/trytond", line 113, in
> <module>
> trytond.server.TrytonServer(options).run()
> File
> "/home/pactemos/Envs/trytond32_pac/local/lib/python2.7/site-packages/trytond/server.py",
>
>
> line 123, in run
> Pool(db_name).init(update=update, lang=lang)
> File
> "/home/pactemos/Envs/trytond32_pac/local/lib/python2.7/site-packages/trytond/pool.py",
>
>
> line 151, in init
> lang=lang)
> File
> "/home/pactemos/Envs/trytond32_pac/local/lib/python2.7/site-packages/trytond/modules/__init__.py",
>
>
> line 428, in load_modules
> _load_modules()
> File
> "/home/pactemos/Envs/trytond32_pac/local/lib/python2.7/site-packages/trytond/modules/__init__.py",
>
>
> line 396, in _load_modules
> load_module_graph(graph, pool, lang)
> File
> "/home/pactemos/Envs/trytond32_pac/local/lib/python2.7/site-packages/trytond/modules/__init__.py",
>
>
> line 237, in load_module_graph
> cls.__register__(module)
> File
> "/home/pactemos/Envs/trytond32_pac/local/lib/python2.7/site-packages/trytond/modules/sale/sale.py",
>
>
> line 274, in __register__
> super(Sale, cls).__register__(module_name)
> File
> "/home/pactemos/Envs/trytond32_pac/local/lib/python2.7/site-packages/trytond/model/modelsql.py",
>
>
> line 112, in __register__
> default_fun, field_size, string=field.string)
> File
> "/home/pactemos/Envs/trytond32_pac/local/lib/python2.7/site-packages/trytond/backend/postgresql/table.py",
>
>
> line 270, in add_raw_column
> (column_format(default),))
> File
> "/home/pactemos/Envs/trytond32_pac/local/lib/python2.7/site-packages/trytond/backend/postgresql/database.py",
>
>
> line 310, in execute
> return self.cursor.execute(sql, params)
> psycopg2.InternalError: current transaction is aborted, commands ignored
> until end of transaction block
>
> Haicendo una depuracion de la query que genera el error obtengo esto:
>
> ('UPDATE "sale_sale" SET "shop" = %s', (None,))
>
> Seria bueno activar el seguimiento a fallos bitbucket, para no hacerlo a
> traves de mail. Por otro lado pienso que el campo shop en sale no
> deberia ser obligatorio, quizas esto elimine el problema, ahora la
> instalacion solo funciona en base de datos nueva.
>
> Atte,
> Oscar Alvarez
>
>
>
>
>
El problema esta aqui en sale.py, ya que busca shops en contexto los cuales
no existen en una base de datos con ventas:
domain=[
('id', 'in', Eval('context', {}).get('shops', [])),
],
Pienso que la mejor solucion es crear en el archivo de configuracion un
campo para definir la shop por defecto, y usar default_shop, para definirla
en caso de que sea diferente a None.