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)
if res:
tx_in = res[0][0] + val['tx_part']
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
SVP si quelqu'un à une idée
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)
if res:
tx_in = res[0][0] + val['tx_part']
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
SVP si quelqu'un à une idée
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)
if res:
tx_in = res[0][0] + val['tx_part']
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
SVP si quelqu'un à une idée
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)
> if res:
> tx_in = res[0][0] + val['tx_part']
> 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
> SVP si quelqu'un à une idée
Je ne comprends pas ton algo, mais si val est un tuple, comme l'indique
le message, pour obtenir le premier element, tu dois utiliser val [0] et
non val ['tx_part']
Si tu veux la somme de res , utilise sum (res)
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)
> if res:
> tx_in = res[0][0] + val['tx_part']
> 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
> SVP si quelqu'un à une idée
Je ne comprends pas ton algo, mais si val est un tuple, comme l'indique
le message, pour obtenir le premier element, tu dois utiliser val [0] et
non val ['tx_part']
Si tu veux la somme de res , utilise sum (res)
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)
> if res:
> tx_in = res[0][0] + val['tx_part']
> 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
> SVP si quelqu'un à une idée
Je ne comprends pas ton algo, mais si val est un tuple, comme l'indique
le message, pour obtenir le premier element, tu dois utiliser val [0] et
non val ['tx_part']
Si tu veux la somme de res , utilise sum (res)
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)
if res:
tx_in = res[0][0] + val['tx_part']
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
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)
if res:
tx_in = res[0][0] + val['tx_part']
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
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)
if res:
tx_in = res[0][0] + val['tx_part']
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
On 27 juin, 13:22, Alain BARTHE wrote: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)
if res:
tx_in = res[0][0] + val['tx_part']
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
SVP si quelqu'un à une idée
Je ne comprends pas ton algo, mais si val est un tuple, comme l'indique
le message, pour obtenir le premier element, tu dois utiliser val [0] et
non val ['tx_part']
Si tu veux la somme de res , utilise sum (res)
val n'est pas le tuple,
val parcour la liste de tuple qui est renvoyer
par fetchall()
On 27 juin, 13:22, Alain BARTHE <alain.barthe...@free.fr> wrote:
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)
if res:
tx_in = res[0][0] + val['tx_part']
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
SVP si quelqu'un à une idée
Je ne comprends pas ton algo, mais si val est un tuple, comme l'indique
le message, pour obtenir le premier element, tu dois utiliser val [0] et
non val ['tx_part']
Si tu veux la somme de res , utilise sum (res)
val n'est pas le tuple,
val parcour la liste de tuple qui est renvoyer
par fetchall()
On 27 juin, 13:22, Alain BARTHE wrote: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)
if res:
tx_in = res[0][0] + val['tx_part']
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
SVP si quelqu'un à une idée
Je ne comprends pas ton algo, mais si val est un tuple, comme l'indique
le message, pour obtenir le premier element, tu dois utiliser val [0] et
non val ['tx_part']
Si tu veux la somme de res , utilise sum (res)
val n'est pas le tuple,
val parcour la liste de tuple qui est renvoyer
par fetchall()
guyguy a écrit :
> On 27 juin, 13:22, Alain BARTHE wrote:
>> 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 so us
>>> 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_coassuranc e WHERE
>>> numcontrat=%s AND situation=%s AND type_souscri=%s" ,[id_contra t, sit,
>>> type_sous])
>>> res = []
>>> for val in cr.fetchall():
>>> res.append(val)
>>> if res:
>>> tx_in = res[0][0] + val['tx_part']
>>> 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
>>> SVP si quelqu'un à une idée
>> Je ne comprends pas ton algo, mais si val est un tuple, comme l'indiqu e
>> le message, pour obtenir le premier element, tu dois utiliser val [0] et
>> non val ['tx_part']
>> Si tu veux la somme de res , utilise sum (res)
> val n'est pas le tuple,
Si.
> val parcour la liste de tuple qui est renvoyer
> par fetchall()
Non. val est le nom auxquels sont associés, successivement, les tuples
compris dans la liste retournée par fetchall(). Une fois sorti de la
boucle (par ailleur inutile), ce nom reste lié au dernier tuple de la
liste. IOW :
for val in cr.fetchall():
res.append(val)
assert val is res[-1]
guyguy a écrit :
> On 27 juin, 13:22, Alain BARTHE <alain.barthe...@free.fr> wrote:
>> 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 so us
>>> 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_coassuranc e WHERE
>>> numcontrat=%s AND situation=%s AND type_souscri=%s" ,[id_contra t, sit,
>>> type_sous])
>>> res = []
>>> for val in cr.fetchall():
>>> res.append(val)
>>> if res:
>>> tx_in = res[0][0] + val['tx_part']
>>> 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
>>> SVP si quelqu'un à une idée
>> Je ne comprends pas ton algo, mais si val est un tuple, comme l'indiqu e
>> le message, pour obtenir le premier element, tu dois utiliser val [0] et
>> non val ['tx_part']
>> Si tu veux la somme de res , utilise sum (res)
> val n'est pas le tuple,
Si.
> val parcour la liste de tuple qui est renvoyer
> par fetchall()
Non. val est le nom auxquels sont associés, successivement, les tuples
compris dans la liste retournée par fetchall(). Une fois sorti de la
boucle (par ailleur inutile), ce nom reste lié au dernier tuple de la
liste. IOW :
for val in cr.fetchall():
res.append(val)
assert val is res[-1]
guyguy a écrit :
> On 27 juin, 13:22, Alain BARTHE wrote:
>> 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 so us
>>> 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_coassuranc e WHERE
>>> numcontrat=%s AND situation=%s AND type_souscri=%s" ,[id_contra t, sit,
>>> type_sous])
>>> res = []
>>> for val in cr.fetchall():
>>> res.append(val)
>>> if res:
>>> tx_in = res[0][0] + val['tx_part']
>>> 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
>>> SVP si quelqu'un à une idée
>> Je ne comprends pas ton algo, mais si val est un tuple, comme l'indiqu e
>> le message, pour obtenir le premier element, tu dois utiliser val [0] et
>> non val ['tx_part']
>> Si tu veux la somme de res , utilise sum (res)
> val n'est pas le tuple,
Si.
> val parcour la liste de tuple qui est renvoyer
> par fetchall()
Non. val est le nom auxquels sont associés, successivement, les tuples
compris dans la liste retournée par fetchall(). Une fois sorti de la
boucle (par ailleur inutile), ce nom reste lié au dernier tuple de la
liste. IOW :
for val in cr.fetchall():
res.append(val)
assert val is res[-1]
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.
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.
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.
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 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 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')
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')
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')