2015-09-01 2 views
-1

Пожалуйста, я использую rml для создания нового отчета в OpenERP. Так что я использую в своем rml этот код для создания для каждого результата нового td, но проблема в том, что я получил исключение: объект «NoneType» не имеет атрибута «tag» в качестве ошибки. Вот мой код:Исключение: объект «NoneType» не имеет атрибута «tag»

<tr> 
    <para style="P7">[[ repeatIn(get_employee_lines(), 'o', 'td') ]]</para> 
    <td> 
    <para style="P9">NOM EMPLOYÉ</para> 
    </td> 

    <td> 
     <para style="P7">[[ o['name'] ]]</para> 
    </td> 
</tr> 

Так, пожалуйста, кто может мне помочь найти решение действительно нужна помощь. Вот все ошибки:

2015-09-01 10:21:45,562 6030 ERROR openerp openerp.service.web_services: Exception: 'NoneType' object has no attribute 'tag' 
Traceback (most recent call last): 
    File "/opt/openerp/v7/server/openerp/service/web_services.py", line 712, in go 
(result, format) = obj.create(cr, uid, ids, datas, context) 
    File "/opt/openerp/v7/server/openerp/report/report_sxw.py", line 443, in create 
    fnct_ret = fnct(cr, uid, ids, data, report_xml, context) 
    File "/opt/openerp/v7/server/openerp/report/report_sxw.py", line 512, in create_source_pdf 
    return self.create_single_pdf(cr, uid, ids, data, report_xml, context) 
    File "/opt/openerp/v7/server/openerp/report/report_sxw.py", line 530, in create_single_pdf 
    processed_rml = self.preprocess_rml(processed_rml,report_xml.report_type) 
    File "/opt/openerp/v7/server/openerp/report/preprocess.py", line 82, in preprocess_rml 
self.preprocess_rml(node,type) 
    File "/opt/openerp/v7/server/openerp/report/preprocess.py", line 82, in preprocess_rml 
    self.preprocess_rml(node,type) 
    File "/opt/openerp/v7/server/openerp/report/preprocess.py", line 82, in preprocess_rml 
self.preprocess_rml(node,type) 
    File "/opt/openerp/v7/server/openerp/report/preprocess.py", line 77, in preprocess_rml 
t = _regex1.sub(_sub1, node.text or node.tail) 
    File "/opt/openerp/v7/server/openerp/report/preprocess.py", line 73, in _sub1 
while n.tag not in match: 
AttributeError: 'NoneType' object has no attribute 'tag' 
2015-09-01 10:21:45,793 6030 ERROR openerp openerp.netsvc: 'NoneType' object  has no attribute 'tag' 
(<type 'exceptions.AttributeError'>, AttributeError("'NoneType' object has no attribute 'tag'",), <traceback object at 0x7fdea5a5c950>) 
Traceback (most recent call last): 
    File "/opt/openerp/v7/server/openerp/netsvc.py", line 296, in dispatch_rpc 
result = ExportService.getService(service_name).dispatch(method, params) 
    File "/opt/openerp/v7/server/openerp/service/web_services.py", line 654, in dispatch 
res = fn(db, uid, *params) 
    File "/opt/openerp/v7/server/openerp/service/web_services.py", line 760, in exp_report_get 
return self._check_report(report_id) 
    File "/opt/openerp/v7/server/openerp/service/web_services.py", line 738, in _check_report 
netsvc.abort_response(exc, exc.message, 'warning', exc.traceback) 
    File "/opt/openerp/v7/server/openerp/netsvc.py", line 71, in abort_response 
raise openerp.osv.osv.except_osv(description, details) 
except_osv: (u"'NoneType' object has no attribute 'tag'", (<type  'exceptions.AttributeError'>, AttributeError("'NoneType' object has no  attribute 'tag'",), <traceback object at 0x7fdea5a5c950>)) 
+1

Этот вопрос был дан ответ [здесь] [1] [1]: http://stackoverflow.com/questions/8949252/python-attribute-error-nonetype-object-has-no-attribute -что-то – mryuso92

+0

его та же ошибка, но не одно и то же. Это связано с td в повторе, поэтому я хочу знать, как его использовать в rml –

+0

Добро пожаловать в SO. Это не ошибка. Пожалуйста, задавайте здесь только явные вопросы. Просто отправьте свой код, надеясь, что другие отлаживают его, также не оценены. – Adriaan

ответ

0

Вот ответ.

Во-первых, мне пришлось изменить версию OpenOffice, которая является v4.1.X.

Во-вторых, я использовал [[repeatIn (get_employee_lines (example.company_id, example.date_start, example.date_end), 'o', 'td')]], который Loop на каждой строке и создает новую ячейку таблицы для каждого линия. Так вот правильный ответ:

<tr> 
     <td> 
     <para style="P8">NOM EMPLOYÉ</para> 
     </td> 
     <td> 
     <para style="P7">[[ repeatIn(get_employee_lines(example.company_id,example.date_start,example.d    ate_end), 'o', 'td') ]]</para> 
     <para style="P7">[[ o['name'] ]]</para> 
     </td> 
     </tr> 

С наилучшими пожеланиями.

Смежные вопросы