De momento he podido hacer un parche:

Rellenar todos los campos vacios de sepa_mandate_sequence_type con 
'recurrent' pues todos mis mandate son de type recurrent.

Y cambiar en account_payment_sepa_es/payment.py tomando de ejemplo el de 
account_payment_sepa.

Lineas 166 y 168

payment.sepa_mandate.sequence_type

por

payment.sepa_mandate_sequence_type


El martes, 19 de mayo de 2015, 17:04:54 (UTC+2), Víctor Ramos escribió:
>
> Hola.
>
> Vi que el account_payment tenia la versión 3.3.0 y pené que ese era el 
> problema pero parece ser que no.
>
> Tras descargar la versión 3.4.1 de http://downloads.tryton.org/3.4/ y 
> migrar otra vez de 3.0 a 3.4 parece ser que no ha cambiado nada.
>
> He podido comprobar que el campo aparece null directamente al actualizar.
> Comprobado que todos lo demás módulos account_* están en la versión 3.4.0 
> como mínimo.
>
> Por alguna razón no se rellena el campo 
> account_payment.sepa_mandate_sequence_type  ni se añade el campo 
> sequence_type en  account_payment_sepa_mandate que es hasta donde he podido 
> investigar.
>
>
> El lunes, 18 de mayo de 2015, 18:50:48 (UTC+2), raimonesteve escribió:
>>
>>
>>
>> 2015-05-15 17:57 GMT+02:00 Víctor Ramos <[email protected]>:
>>
>>> Hola,
>>>
>>>
>>> Estamos haciendo pruebas con la migración y hemos encontrado que al 
>>> procesar los pagos nos salta el siguiente error:
>>>
>>> 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/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 339, 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 272, 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 159, in 
>>> process_sepa
>>>     datetime=datetime).filter(remove_comment).render()
>>>   File "/genshi/core.py", line 184, in render
>>>     return encode(generator, method=method, encoding=encoding, out=out)
>>>   File "/genshi/output.py", line 57, in encode
>>>     return _encode(''.join(list(iterator)))
>>>   File "/genshi/output.py", line 241, in __call__
>>>     for kind, data, pos in stream:
>>>   File "/genshi/output.py", line 669, in __call__
>>>     for kind, data, pos in stream:
>>>   File "/genshi/output.py", line 774, in __call__
>>>     for kind, data, pos in chain(stream, [(None, None, None)]):
>>>   File "/genshi/output.py", line 594, in __call__
>>>     for ev in stream:
>>>   File "/genshi/core.py", line 289, in _ensure
>>>     for event in stream:
>>>   File "/genshi/core.py", line 289, in _ensure
>>>     for event in stream:
>>>   File "/trytond/modules/account_payment_sepa/payment.py", line 103, in 
>>> remove_comment
>>>     for kind, data, pos in stream:
>>>   File "/genshi/template/base.py", line 618, in _include
>>>     for event in stream:
>>>   File "/genshi/template/markup.py", line 326, in _match
>>>     for event in stream:
>>>   File "/genshi/template/base.py", line 578, in _flatten
>>>     result = _eval_expr(data, ctxt, vars)
>>>   File "/genshi/template/base.py", line 289, in _eval_expr
>>>     retval = expr.evaluate(ctxt)
>>>   File "/genshi/template/eval.py", line 177, in evaluate
>>>     return eval(self.code, _globals, {'__data__': data})
>>>   File 
>>> "/trytond/modules/account_payment_sepa_es/template/pain.008.001.02.xml", 
>>> line 44, in <Expression u'group.sepa_group_payment_id(key)[:35]'>
>>>     <PmtInfId>${group.sepa_group_payment_id(key)[:35]}</PmtInfId>
>>>   File "/trytond/modules/account_payment_sepa/payment.py", line 178, in 
>>> sepa_group_payment_id
>>>     payment_id += '-' + key['sequence_type']
>>> TypeError: cannot concatenate 'str' and 'NoneType' objects
>>>
>>
>> pon un simple print i verás que tienes porque no puede unir un string con 
>> None 
>>
>>>
>>>
>>> La versión del modulo account_payment_sepa es la 3.4.1
>>> Por otro lado vemos que en la tabla account_payment los campos 
>>> sepa_mandate_sequence_type, sepa_return_reason_code, 
>>> sepa_return_reason_information están vacios.
>>>
>>> No sabemos a que se debe el hecho de que estén vacíos y tampoco tenemos 
>>> ningún ejemplo de que deberían contener.
>>>
>>> Cualquier aporte seria de agradecer.
>>>
>>> Gracias de antemano.
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Sistemes i Xarxes Inf. Calidae, S.L.
>>> www.calidae.com <http://www.calidae.net/>
>>> tel +34 938654433 fax +34 938651973
>>> C/ Font i Boet, 10
>>> 08140 - Caldes de Montbui
>>>
>>> Aquest correu és confidencial, llegiu-ne l' advertiment legal 
>>> <http://www.calidae.net/disclaimer/>
>>> Este correo es confidencial, lea la advertencia legal 
>>> <http://www.calidae.net/disclaimer/>
>>> This is a confidential email, please read the legal disclaimer 
>>> <http://www.calidae.net/disclaimer/>
>>>
>>
>>
>>
>> -- 
>> Si us plau, NO adjunti arxius a les seves respostes. Li preguem que 
>> integri el text al cos del missatge. Pot respondre usant NetEtiquete que li 
>> ajudarà a seguir la conversa. http://es.wikipedia.org/wiki/Netiquette
>>
>> Por favor, NO adjunte archivos a sus respuestas. Le rogamos que integre 
>> el texto en el cuerpo del mensaje. Puede responder usando NetEtiquete que 
>> le ayudará a seguir la conversación.
>> http://es.wikipedia.org/wiki/Netiquette
>>
>> Please, DO NOT send attachment files with your answers, just copy and 
>> paste only the text you need to send into the body of your mails. Repply 
>> using NetEtiquete. http://en.wikipedia.org/wiki/Netiquette
>>  
>
>
> Sistemes i Xarxes Inf. Calidae, S.L.
> www.calidae.com <http://www.calidae.net/>
> tel +34 938654433 fax +34 938651973
> C/ Font i Boet, 10
> 08140 - Caldes de Montbui
>
> Aquest correu és confidencial, llegiu-ne l' advertiment legal 
> <http://www.calidae.net/disclaimer/>
> Este correo es confidencial, lea la advertencia legal 
> <http://www.calidae.net/disclaimer/>
> This is a confidential email, please read the legal disclaimer 
> <http://www.calidae.net/disclaimer/>
>

-- 

Sistemes i Xarxes Inf. Calidae, S.L.
www.calidae.com <http://www.calidae.net/>
tel +34 938654433 fax +34 938651973
C/ Font i Boet, 10
08140 - Caldes de Montbui

Aquest correu és confidencial, llegiu-ne l' advertiment legal 
<http://www.calidae.net/disclaimer/>
Este correo es confidencial, lea la advertencia legal 
<http://www.calidae.net/disclaimer/>
This is a confidential email, please read the legal disclaimer 
<http://www.calidae.net/disclaimer/>

Responder a