Pular para o conteúdo
Menu
Esta pergunta foi sinalizada
2 Respostas
9937 Visualizações


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
Cancelar
Melhor resposta

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
Cancelar
Autor

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"]

Autor

Thank you,

solved with the information you gave me.

Publicações relacionadas Respostas Visualizações Atividade
2
ago. 25
2218
1
jul. 25
757
1
ago. 25
1150
0
mai. 25
1260
2
abr. 25
3458