Sujet: Re: additionner les éléments d'un tuple
De: sboa_marie1 (l' arobase) yahoo.fr (guyguy)
Groupes: fr.comp.lang.python
Organisation: http://groups.google.com
Date: 30. Jun 2008, 16:41:31
On 27 juin, 21:09, Alain BARTHE <alain.barthe...@free.fr> wrote:
Bruno Desthuilliers a écrit :
guyguy a écrit :
Bonjour
j'ai un problème avec mon programme
je cherche a additionner les valeur d'un champ qui est recupérer sous
forme de liste de tuple partant de sa valeur initiale
Voici mon code
crt_obj > >> self.pool.get('production.contrat').browse(cr,uid,vals['numcontrat'])
id_contrat = (str(crt_obj)[-2:-1])
coa = crt_obj.numcontrat
sit = crt_obj.situation
type_sous = crt_obj.type_souscri
cr.execute("SELECT tx_part FROM production_coassurance WHERE
numcontrat=%s AND situation=%s AND type_souscri=%s" ,[id_contrat, sit,
type_sous])
res = []
for val in cr.fetchall():
res.append(val)
res = cr.fetchall()
if res:
tx_in = res[0][0] + val['tx_part']
ici (du moins avec ton algo), val est le dernier tuple de la liste
retournée par cr.fetchall().
NB: Chose étrange est que le premier enregistrement passe, mais ma
liste est vide et le second donne une erreur
TypeError: tx_in = res[0][0] + val['tx_part']
tuple indices must be integers
cqfd.
C'est pas clair cette histoire...
Bruno voici l'ensemble du code
crt_obj self.pool.get('production.contrat').browse(cr,uid,vals['numcontrat'])
id_contrat = (str(crt_obj)[-2:-1])
coa = crt_obj.numcontrat
sit = crt_obj.situation
type_sous = crt_obj.type_souscri
cr.execute("SELECT txtp FROM production_coassurance WHERE
numcontrat=%s AND situation=%s AND type_souscri=%s" ,[id_contrat, sit,
type_sous])
res = []
for val in cr.fetchall():
res.append(val)
vals['txtp'] = res[0][0] + vals['txtp']
et sa me donne le resultat voulu(c'est à dire après chaque
enregistrement il me donne la somme de ('txtp')