콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다
2 답글
9983 화면


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

아바타
취소
베스트 답변

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)


아바타
취소
작성자

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

작성자

Thank you,

solved with the information you gave me.

관련 게시물 답글 화면 활동
2
8월 25
2624
1
7월 25
1018
1
8월 25
1151
0
5월 25
1475
2
4월 25
3625