Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
2 Replies
9914 Tampilan


I have a non-iterable type error when I want to go through the detail of an invoice. the idea is to read one line of the invoice, all the taxes that line has, you can one or more.
I read that you can not go int or float, but I can not find how to do it.
Thank you,

for line in self.invoice_line_ids:
      for line_tax in line.invoice_line_tax_ids:
             if line_tax.tipo_afectacion_isc.code in ["01","02","03"]:
                  self.total_isc = sum(line.price_subtotal*line.invoice_line_tax_ids.amount/100) if len(line.invoice_line_tax_ids)>0 else False

Avatar
Buang
Jawaban Terbai

Inside the sum() function, you must have some type of iteration.

Try following code:

​self.total_isc = sum(line.price_subtotal * tax.amount / 100 for tax in line.invoice_line_tax_ids)


Avatar
Buang
Penulis

I do not see an error, but I do not consider this line.( if line_tax.tipo_afectacion_isc.code in ["01","02","03"]: )

for line in self.invoice_line_ids:

for line_tax in line.invoice_line_tax_ids:

if line_tax.tipo_afectacion_isc.code in ["01","02","03"]:

self.total_isc = sum(line.price_subtotal*line.invoice_line_tax_ids.amount/100) if len(line.invoice_line_tax_ids)>0 else False

Do you mean the execution is not going in the if condition? If yes, print the code.

print line_tax.tipo_afectacion_isc.code, line_tax.tipo_afectacion_isc.code in ["01","02","03"]

Penulis

Thank you,

solved with the information you gave me.

Post Terkait Replies Tampilan Aktivitas
2
Agu 25
2014
1
Jul 25
620
1
Agu 25
1150
0
Mei 25
1239
2
Apr 25
3309