Report 订单';对象没有属性'_第'行;在openerp中制作自定义报告时

Report 订单';对象没有属性'_第'行;在openerp中制作自定义报告时,report,openerp,rml,Report,Openerp,Rml,这是我的orper.py,现在…在我的RML代码中: def _blank_line(self,nlines): res = "" for i in range(nlines - self.line_no): res = res + '\n' return res def _line_no(self): self.line_no = self.line_no + 1 return self.line_no [[repeatIn(o.order_line,'

这是我的orper.py,现在…在我的RML代码中:

def _blank_line(self,nlines):
 res = ""
 for i in range(nlines - self.line_no):
     res = res + '\n'
     return res 
def _line_no(self):
   self.line_no = self.line_no + 1
   return self.line_no
[[repeatIn(o.order_line,'line')][[line_no()][[line.name或'']]
[[空白行(10)]][[setTag('para','xpre')]]
我无法生成报告。错误是什么

      <para style="terp_default_8">[[ repeatIn(o.order_line,'line') ]][[ line_no() ]][[ line.name or ' ' ]] </para>
    <blockTable colWidths="20.0,100.0,150.0,80.0,50.0,20.0,60.0,50.0" style="Table_Order_Pur_line_Content">
      <tr>
        <para style="terp_default_8"><font color="white">[[ blank_line(10) ]][[ setTag('para','xpre') ]]</font></para>
      <td>
3-12-09 17:24:46257 5716信息测试werkzeug:127.0.0.1---[09/Dec/2013 17:24:46]“POST/web/dataset/call_kw HTTP/1.1”200-
2013-12-09 17:24:46276 5716信息测试werkzeug:127.0.0.1---[09/Dec/2013 17:24:46]“POST/web/dataset/call\u kw HTTP/1.1”200-
2013-12-09 17:24:47828 5716信息测试-12月werkzeug:127.0.0.1---[09/Dec/2013 17:24:47]“POST/web/action/load HTTP/1.1”200-
2013-12-09 17:24:48104 5716错误测试\u Dec openerp.tools.safe\u eval:无法评估“行号()
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\OpenERP 7.0-20131021-123225\Server\Server\ \OpenERP\tools\safe\u eval.py”,第241行,安全评估
文件“”,第1行,在
文件“C:\Program Files\OpenERP 7.0-20131021-123225\Server\Server\OpenERP\addons\purchase\report\order.py”,第38行,第
TypeError:需要range()整数结束参数,获得顺序。
2013-12-09 17:24:48104 5716错误测试\u Dec openerp.tools.safe\u eval:无法评估“空白行(10)][[setTag('para','xpre')”
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\OpenERP 7.0-20131021-123225\Server\Server\ \OpenERP\tools\safe\u eval.py”,第241行,安全评估
文件“C:\Program Files\OpenERP 7.0-20131021-123225\Server\Server\ \OpenERP\tools\safe\u eval.py”,第107行,在测试表达式中
文件“”,第1行
空白行(10)][[setTag('para','xpre'))
^
SyntaxError:无效语法
2013-12-09 17:24:48104 5716警告测试\u Dec openerp.report.render.rml2pdf.utils:rml\u标记:“空白行(10)][[setTag('para','xpre')”
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\OpenERP 7.0-20131021-123225\Server\Server\。\OpenERP\report\render\rml2pdf\utils.py”,第84行,在子目录中
文件“C:\Program Files\OpenERP 7.0-20131021-123225\Server\Server\ \OpenERP\tools\safe\u eval.py”,第241行,安全评估
文件“C:\Program Files\OpenERP 7.0-20131021-123225\Server\Server\ \OpenERP\tools\safe\u eval.py”,第107行,在测试表达式中
文件“”,第1行
空白行(10)][[setTag('para','xpre'))
^
SyntaxError:无效语法
要访问RML文件中的*line_no()*和*blank_line()*,您需要在解析器类的localcontext字典中声明它们

    3-12-09 17:24:46,257 5716 INFO Test_Dec werkzeug: 127.0.0.1 - - [09/Dec/2013 17:24:46] "POST /web/dataset/call_kw HTTP/1.1" 200 -
2013-12-09 17:24:46,276 5716 INFO Test_Dec werkzeug: 127.0.0.1 - - [09/Dec/2013 17:24:46] "POST /web/dataset/call_kw HTTP/1.1" 200 -
2013-12-09 17:24:47,828 5716 INFO Test_Dec werkzeug: 127.0.0.1 - - [09/Dec/2013 17:24:47] "POST /web/action/load HTTP/1.1" 200 -
2013-12-09 17:24:48,104 5716 ERROR Test_Dec openerp.tools.safe_eval: Cannot eval 'line_no()'
Traceback (most recent call last):
  File "C:\Program Files\OpenERP 7.0-20131021-123225\Server\server\.\openerp\tools\safe_eval.py", line 241, in safe_eval
  File "", line 1, in <module>
  File "C:\Program Files\OpenERP 7.0-20131021-123225\Server\server\openerp\addons\purchase\report\order.py", line 38, in _line_no
TypeError: range() integer end argument expected, got order.
2013-12-09 17:24:48,104 5716 ERROR Test_Dec openerp.tools.safe_eval: Cannot eval "blank_line(10)]][[ setTag('para','xpre')"
Traceback (most recent call last):
  File "C:\Program Files\OpenERP 7.0-20131021-123225\Server\server\.\openerp\tools\safe_eval.py", line 241, in safe_eval
  File "C:\Program Files\OpenERP 7.0-20131021-123225\Server\server\.\openerp\tools\safe_eval.py", line 107, in test_expr
  File "<string>", line 1
     blank_line(10)]][[ setTag('para','xpre')
                   ^
 SyntaxError: invalid syntax
2013-12-09 17:24:48,104 5716 WARNING Test_Dec openerp.report.render.rml2pdf.utils: rml_tag: "blank_line(10)]][[ setTag('para','xpre')"
Traceback (most recent call last):
  File "C:\Program Files\OpenERP 7.0-20131021-123225\Server\server\.\openerp\report\render\rml2pdf\utils.py", line 84, in _child_get
  File "C:\Program Files\OpenERP 7.0-20131021-123225\Server\server\.\openerp\tools\safe_eval.py", line 241, in safe_eval
  File "C:\Program Files\OpenERP 7.0-20131021-123225\Server\server\.\openerp\tools\safe_eval.py", line 107, in test_expr
  File "<string>", line 1
     blank_line(10)]][[ setTag('para','xpre')
                   ^
 SyntaxError: invalid syntax

您有吗?

此问题是否已解决或仍然存在。 我也面临同样的问题,并在.xml文件中发现了这个问题

report id=“report\u appointment\u letter”model=“hr.contract”name=“appointment.report”string=“appointment letter”rml=“addons/hr\u contract\u report/report/appointment\u report.rml”

xml中的name参数应与报表解析器类中的相同:

约会报告(报告\u sxw.rml\u解析):


如果此问题仍然存在,希望这能帮助其他人

您的订单中哪一行是第38行。py?请参考:我的38行是:`def\uu init\uuuu(self、cr、uid、name、context):`Pooja我参考了你的链接,但我不明白。我必须修改任何其他文件吗?或者只修改order.py和order.rml。到目前为止,我只处理这两个文件。你的order.py中的第28行是哪一行?我在错误日志中看到以下代码与你发布的代码不一致:--…report\order.py“,第38行,在_line_no TypeError中:应为range()整数结束参数,获得顺序---
    self.localcontext.update( {
        'line_no': self._line_no,
        'blank_line': self._blank_line,
        ....
    })
def __init__(self, cr, uid, name, context):
    if context is None:
        context = {}
    super(appointment_report, self).__init__(cr, uid, name, context=context)
    self.localcontext.update({
        'show_date': self._show_date,
        'time': time,

    })
    self.context = context