我从以下odoo文档的官方链接获得此信息:
repeatIn(list,varname [,tagname]):为列表中的每个对象重复模板的当前部分(整个文档,当前部分,表中的当前行)。在模板的标签中使用varname。从版本4.1.X开始,您可以使用可选的第三个参数,该参数是您要循环的.RML标记的名称。
https://doc.odoo.com/v6.0/developer/3_11_reports/11_1_openoffice_report.html
我想知道如何使用这种重复,因为我试过这样:
<para style="P7">[[ repeatIn(get_employee_lines((example.company_id,example.date_start,example. date_end), o[,td]) ]]</para>
<para style="P7">[[ o['name'] ]]</para>
我有这个错误:
2015-09-02 11:37:00,027 8110 ERROR openerp openerp.tools.safe_eval: Cannot eval
'repeatIn(get_employee_lines((example.company_id,example.date_start,example.date_end), o[,td])'
Traceback (most recent call last):
File "/opt/openerp/v7/server/openerp/tools/safe_eval.py", line 288, in safe_eval
return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "/opt/openerp/v7/server/openerp/tools/safe_eval.py", line 162, in test_expr
code_obj = compile(expr, "", mode)
File "<string>", line 1
repeatIn(get_employee_lines((example.company_id,example.date_start,example.date_end), o[,td])
^
SyntaxError: invalid syntax
2015-09-02 11:37:00,027 8110 ERROR openerp openerp.tools.safe_eval: Cannot eval "o['name']"
Traceback (most recent call last):
File "/opt/openerp/v7/server/openerp/tools/safe_eval.py", line 288, in safe_eval
return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
File "", line 1, in <module>
NameError: name 'o' is not defined
请,谁能解决这个问题。 问候。
答案 0 :(得分:0)
首先,语法错误,打开三个paranthesis并且只关闭两个。
<para style="P7"> [[ repeatIn(get_employee_lines(example.company_id,example.date_start,example. date_end), 'o') ]] </para>
如果o是对象,则使用用户点表示法来访问值。如果它是字典,那么使用o ['key'] 在这里,不知道get_employee_lines函数返回什么,但它必须返回[对象或词典等]列表 你可以比较在Python中的repeatIn to for循环