'bool' 对象在 Odoo 8 中没有属性 '__getitem__'
'bool' object has no attribute '__getitem__' in Odoo 8
我正在尝试根据用户选择显示报告,这是文件 .py 中的代码:
@api.multi
def render_html(self,data=None,context=None):
if data['region_id']==True or data['location_id']==False or data['no_zero']==False:
report=self.env['report']
document=self._get_report_s_r(data)
docss=self._get_report_s_r_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.report_s', data)
elif data['region_id']==False or data['location_id']==True or data['no_zero']==False:
report=self.env['report']
document=self._get_report_s_false(data)
docss=self._get_report_s_false_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.pos_report_sales', data)
elif data['region_id']==False or data['location_id']==True or data['no_zero']==True:
report=self.env['report']
document=self._get_report_s(data)
docss=self._get_report_s_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.pos_report_s', data)
else:
_logger.error('Required document not set in Report!')
- region_id = 正确,location_id = 错误,no_zero = 错误:正确
- region_id = False,location_id = True,no_zero = False:错误('bool' 对象没有属性 'getitem')
- region_id = False,location_id = True,no_zero = True:错误(显示应该是数字 2)
- region_id = True,location_id = True,no_zero = True :错误(显示应该是数字 3)
- 如果我将 'or' 更改为 'and',所有报告都是错误的(空白)。
希望有人帮助我。谢谢!
我订购了 True 并使用以下代码找到了解决方案:
@api.multi
def render_html(self,data=None,context=None):
if data['region_id']==True or (data['location_id']==False and data['no_zero']==False):
report=self.env['report']
document=self._get_report_s_r(data)
docss=self._get_report_s_r_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.report_s', data)
elif data['location_id']==True or (data['region_id']==False and data['no_zero']==False):
report=self.env['report']
document=self._get_report_s_false(data)
docss=self._get_report_s_false_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.pos_report_sales', data)
elif (data['location_id']==True and data['no_zero']==True) or data['region_id']==False:
report=self.env['report']
document=self._get_report_s(data)
docss=self._get_report_s_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.pos_report_s', data)
else:
_logger.error('Required document not set in Report!')
但是,我不确定是否适用于所有情况。
我正在尝试根据用户选择显示报告,这是文件 .py 中的代码:
@api.multi
def render_html(self,data=None,context=None):
if data['region_id']==True or data['location_id']==False or data['no_zero']==False:
report=self.env['report']
document=self._get_report_s_r(data)
docss=self._get_report_s_r_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.report_s', data)
elif data['region_id']==False or data['location_id']==True or data['no_zero']==False:
report=self.env['report']
document=self._get_report_s_false(data)
docss=self._get_report_s_false_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.pos_report_sales', data)
elif data['region_id']==False or data['location_id']==True or data['no_zero']==True:
report=self.env['report']
document=self._get_report_s(data)
docss=self._get_report_s_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.pos_report_s', data)
else:
_logger.error('Required document not set in Report!')
- region_id = 正确,location_id = 错误,no_zero = 错误:正确
- region_id = False,location_id = True,no_zero = False:错误('bool' 对象没有属性 'getitem')
- region_id = False,location_id = True,no_zero = True:错误(显示应该是数字 2)
- region_id = True,location_id = True,no_zero = True :错误(显示应该是数字 3)
- 如果我将 'or' 更改为 'and',所有报告都是错误的(空白)。
希望有人帮助我。谢谢!
我订购了 True 并使用以下代码找到了解决方案:
@api.multi
def render_html(self,data=None,context=None):
if data['region_id']==True or (data['location_id']==False and data['no_zero']==False):
report=self.env['report']
document=self._get_report_s_r(data)
docss=self._get_report_s_r_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.report_s', data)
elif data['location_id']==True or (data['region_id']==False and data['no_zero']==False):
report=self.env['report']
document=self._get_report_s_false(data)
docss=self._get_report_s_false_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.pos_report_sales', data)
elif (data['location_id']==True and data['no_zero']==True) or data['region_id']==False:
report=self.env['report']
document=self._get_report_s(data)
docss=self._get_report_s_detail(data)
ctx=self._context.copy()
object=self.env['report.wizard'].browse([ctx['active_id']])
data={'o':object,'docs':document,'docss':docss}
return report.render('report.pos_report_s', data)
else:
_logger.error('Required document not set in Report!')
但是,我不确定是否适用于所有情况。