簡體   English   中英

'布爾'對象在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!')
  1. region_id = True,location_id = False,no_zero = False:正確
  2. region_id = False,location_id = True,no_zero = False:錯誤('bool'對象沒有屬性' getitem ')
  3. region_id = False,location_id = True,no_zero = True:錯誤(顯示應為2)
  4. region_id = True,location_id = True,no_zero = True:錯誤(顯示應為數字3)
  5. 如果我將“或”更改為“和”,則所有報告均為錯誤(空白)。

希望有人幫助我。 謝謝!

我訂購了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!')

但是,我不確定是否可以在所有情況下使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM