【发布时间】:2017-12-09 05:44:34
【问题描述】:
我有一个打印报告的方法。有两个报告使用相同的方法打印,但条件不同。我已经给出了 if-else 条件,但是由于某些原因 else 部分没有被执行! 请帮我解决这个问题
count = 80
a = 20
if a > count:
return xyz
else:
return abc
abc 和 xyz 是我拥有的两种不同类型的报告。
编辑: 这是我的实际功能。在每一个中,我都在获取我的记录。
for inv_no in each:
if inv_no.invoice_date > '2017-06-30':
return {
'type': 'ir.actions.report.xml',
'report_name': 'gst_invoice_print',
'datas': datas,
}
else:
return {
'type': 'ir.actions.report.xml',
'report_name': 'invoice_print',
'datas': datas,
}
【问题讨论】:
-
嗯,不会执行,因为20不大于80。
-
@DanielRoseman ,不应该执行 else 块
20 > 80是错误的 -
我无法重现您的问题。
-
@Meg
else总是在执行如果if条件为假,你需要调试你的代码,祝你好运 -
感谢大家的回复。但这只是我的问题的一个例子。我有一个有日期字段的课程。根据确定的日期,比如 7 月 1 日,应在 7 月 1 日之前和之后打印两份不同的报告。如果我单独打印之前和之后的报告,那效果很好。但是,如果我想记录日期为 30-06-2017 和 02-07-2017 的记录,我不会收到两个不同的报告。但只有一个!这是我的主要问题