2015-01-18 22:08 GMT+01:00 Manuel Bailen <[email protected]>:

> Hola, perdonar otra vez pero sigo teniendo problemas con las
> actualizaciones de mi base de datos, detallo los paso que sigo
>

Manuel, cuando sea un problema nuevo (aunque parecido), abre un hilo nuevo.
Así, quien lea los archivos de la lista buscando soluciones le es más fácil
encontrar la solución a cada problema.

Sigo debajo.

Creo un nuevo entorno virtualenv
> Creo un proyecto en una nueva carpeta utilizando las herramientas Nantic
> (siempre me funcionó sin problemas)
> El archivo trytond.conf es el siguiente,
> [database]
> uri=postgresql://tryton:fani@localhost:5432
> path = /home/manuel/tryton/adjuntos
> [session]
> super_pwd=pxxxxx
> Actualizo la base de datos,
> python trytond/bin/trytond -c trytond.conf --all -d DB
>
> Entonces durante la actualización devuelve un error relacionado con
> decistmt
>

Esto se debe a que no tienes bien aplicados los parches, ya que este módulo
se añade en un parche *.

Una forma de ver si es este tu problema:
$ quilt pop -a
Eliminando el parche X.diff
Restoring Y.py
...

$ quilt pop -a <= sí, otra vez
No se eliminaron parches <= así estás seguro que todos los parches se han
desaplicado correctamente

$ quilt push -a
Aplicando el parche X.diff
patching file Y.py
... <= no debe salir nada en rojo

$ quilt push -a <= sí, otra vez ;-)
Archivo de series completamente aplicado, finaliza en el parche Z.diff

Si te sale algun mensaje en rojo o de error en el primer "quilt push" o no
te sale el mensaje que indico en el segundo, es que no se han aplicado bien
los parches.
Si es así lo comentas *después* de hacer lo que te indico en el punto 2

* Asumo que entiendes suficiente todo lo que incluyen las "herramientas
NaN-tic":
- directorio "tasks": tareas "invoke" para gestionar los repositorios
(basado en los ficheros de "config") y para realizar tareas relacionadas
con el desarrollo y mantenimiento de Tryton
- directorio "utils": otros scripts, muchos de ellos candidatos de pasarse
a tareas "invoke" algun dia
- directorio "config": los ficheros donde se detallan los repositorios de
Tryton y módulos de core y de terceros (esto sería bastante típico tenerlo
personalizado)
- *directorio "patches"*: parches que se aplican a los repositorios de core
(tryton, trytond y módulos de core) necesarios para que nuestros módulos y
los de ZZ (trytonspain, nantic y zz) funcionen .
  O son backports de parches de trunk (rama default) que consideramos
interesante o necesario tenerlos ya, o parches de bugs que están en proceso
de incluirse y mientras tanto se aplican así.
  Cuando el parche se aplica a la rama actual los eliminamos. Aquí puede
haber algun día de desfase durante el cual fallará la aplicación de los
parches porque los cambios ya están en el repositorio.


Para solucionarlo he probado 2 cosas:
> 1: Eliminar los módulos commission
> Me permite actualiza la BD pero cuando quiero crear una asiento o
> confirmar una factura devuelve el error:
> Además no aparece el campo "company" en la vista de account_move
>
> Traceback (most recent call last):
>   File "/trytond/protocols/jsonrpc.py", line 150, in _marshaled_dispatch
>     response['result'] = dispatch_method(method, params)
>   File "/trytond/protocols/jsonrpc.py", line 179, in _dispatch
>     res = dispatch(*args)
>   File "/trytond/protocols/dispatcher.py", line 161, in dispatch
>     result = rpc.result(meth(*c_args, **c_kwargs))
>   File "/trytond/modules/account/move.py", line 251, in create
>     moves = super(Move, cls).create(vlist)
>   File "/trytond/model/modelsql.py", line 431, in create
>     [insert_values], [table.id]))
>   File "/trytond/backend/postgresql/database.py", line 312, in execute
>     return self.cursor.execute(sql, params)
> IntegrityError: el valor null para la columna «company» viola la
> restricción not null
> DETAIL:  La fila que falla contiene (2636, null, 1, 2015-01-18
> 11:58:27.421953, pru, null, 1, 1833, 9, null, draft, null, 2015-01-17,
> null, null).
>

Esto también tiene pinta de que no tienes el código + parches bien
actualizado.

2. Actualizo el servidor
>
> invoke pull --config config/base.cfg
> invoke update --config config/base.cfg
> invoke pull --config config/core.cfg
> invoke update --config config/core.cfg
>

Para asegurarte que tienes bien actualizado todo el código y/o si te salen
errores al aplicar los parches, haz lo siguiente después de un "inv fetch"
o de los "pull + update"

$ quilt pop -a
$ quilt pop -a (yo soy así, lo ejecuto 2 veces para leer fácil si hay algun
problema ;-))
$ inv status --no-quilt (esto saca un "hg status" por cada repositorio sin
hacer nada con el quilt)
(No debería escribir nada, a no ser que tu hayas tocado el código de algún
módulo. Si hay algun cambio que no quieres/controlas, se deshará con el
siguiente comando)
$ inv update --clean (esto deshace *cualquier* cambio que haya en los
repositorios, dejando exactamente el mismo código. Si tienes algun cambio
que te interesa conservar, cópia el fichero antes de hacer esto)
$ quilt push -a
$ quilt push -a

Ahora, después del "inv update --clean", los parches se deberían actualizar
sin problemas.
Si es así, haz una actualización de la BD y ya no te debería salir ningún
error.

Entonce cuando intento generar una remesa de cobro SEPA y lanza este error
>
> Traceback (most recent call last):
>   File "/trytond/protocols/jsonrpc.py", line 158, in _marshaled_dispatch
>     response['result'] = dispatch_method(method, params)
>   File "/trytond/protocols/jsonrpc.py", line 194, in _dispatch
>     res = dispatch(*args)
>   File "/trytond/protocols/dispatcher.py", line 161, in dispatch
>     result = rpc.result(meth(*c_args, **c_kwargs))
>   File "/trytond/wizard/wizard.py", line 249, in execute
>     return wizard._execute(state_name)
>   File "/trytond/wizard/wizard.py", line 275, in _execute
>     do_result = do(action)
>   File "/trytond/modules/account_payment_es/payment.py", line 476, in
> do_process
>     return super(ProcessPayment, self).do_process(action)
>   File "/trytond/modules/account_payment/payment.py", line 349, in
> do_process
>     Payment.process(list(grouped_payments), group)
>   File "/trytond/model/workflow.py", line 33, in wrapper
>     result = func(cls, filtered, *args, **kwargs)
>   File "/trytond/modules/account_payment/payment.py", line 282, in process
>     process_method(group)
>   File "/trytond/modules/account_payment_sepa_es/payment.py", line 173, in
> process_sepa_core
>     self.process_sepa()
>   File "/trytond/modules/account_payment_sepa_es/payment.py", line 210, in
> process_sepa
>     super(Group, self).process_sepa()
>   File "/trytond/modules/account_payment_sepa/payment.py", line 161, in
> process_sepa
>     company=group.company)
> NameError: global name 'group' is not defined
>
> Este error se debe a que se actualiza el módulo
> http://hg.tryton.org/modules/account_payment_sepa/rev/f69c5ffa5f79
>

Este error de la línea 161 parece un bug. Asegúrate que ya no esté
solucionado, busca si el bug está reportado y si no, repórtalo (
bugs.tryton.org)


Agradeceré cualquier aporte
>

Nos cuentas cómo te ha ido.

-- 
Guillem Barba
http://www.guillem.alcarrer.net

Responder a