2016-09-06 4 views
0

내 인보이스에 대한 템플릿을 만들려고합니다 - http://odoo.guide/report-design-workshop/에 따라 나는 가장 단순한 스켈레톤으로 이미 실패했습니다.odoo에서 오류 추적

인보이스를 인쇄하려고 할 때 "레코드가 없거나 삭제되었습니다."라는 메시지가 나타납니다.

여기서 잘못된 정보를 얻는 방법에 대해 궁금합니다. 어떤 종류의 디버그 또는 오류 로그. /var/log/odoo/odoo-server.log에서 무엇이든 볼 수 있습니다.

odoo에서 이러한 오류를 추적하는 기본 방법은 무엇입니까?

편집

이 내들이다 : 보고서

<?xml version="1.0"?> 
<t t-name="account.netknights_report"> 
    <t call="report.netknights_layout"> 
    <t t-foreach="docs" t-as="o"> 
     <div class="page"> 
      <div class="row"> 
       <h3>Rechnung</h3> 
      </div> 
     </div> 
    </t> 
    </t> 
</t> 

레이아웃

<?xml version="1.0"?> 
<t t-name="report.netknights_layout"> 
    <t t-call="report.netknights_layout_header"> 
    </t> 
    <t t-raw="0" /> 
    <t t-call="report.netknights_layout_footer"> 
    </t> 
</t> 

account.netknights_report account.netknights_report ir.ui.view 831

보고서 :헤더

<?xml version="1.0"?> 
<t t-name="report.netknights_layout_header"> 
    <div class="header"> 
     <div class="row"> 
      <div class="col-xs-4 col-xs-offset-8"> 
       <img src="/document/images/NetKnights-800px.png" /> 
      </div> 
     </div> 
    </div> 
</t> 

바닥 글

<?xml version="1.0"?> 
<t t-name="report.netknights_layout_footer"> 
    <!-- Header Architecture --> 
<b>Bankverbindung</b> 
</t> 

그때 나는이 외부 식별자를 만들었습니다. netknights_layout report.netknights_layout ir.ui.view 319

report.netknights_layout_footer의 report.netknights_layout_footer의 ir.ui.view 320

report.netknights_layout_header의 report.netknights_layout_header의 ir.ui.view 321

+0

이미 가지고있는 코드를 게시 할 수 있습니까? 그러면 문제를 더 빨리 찾을 수 있습니다. – Bhavya

+0

시간 내 주셔서 감사합니다. 코드가 없으며 코드를 구현하고 싶지 않습니다. 내 최상위 목표는 인쇄 된 인보이스의 모양을 사용자 정의하는 것입니다. 나는 오도 (odoo)가 잘못되었을 수도 있지만, 파이썬 코드 라인 없이도 내 지문의 모양을 변형시킬 수있을 것으로 기대합니다. 방금 XML 보고서를 만들었습니다. – cornelinux

답변

0

이미 odoo 서버가 출력으로 구성되어 어디든지 몇 가지 기록이있을 수 있습니다 벌채 반출. 구성 또는 시작 스크립트를 점검하여 로깅이 기록되는 위치를 확인하십시오.

보고서를 실행하는 동안 로깅을 얻을 수있는 방법은 보고서의 추상 모델을 정의하는 것입니다. 다음은 그 예입니다.

class ReportClass(models.AbstractModel): 
    _name = 'report.myaddon.report_view_id' 

    @api.multi 
    def render_html(self, data=None): 
     _logger = logging.getLogger(__name__) 
     _logger.info("Creating My Report") 
     report_obj = self.env['report'] 
     report = report_obj._get_report_from_name('myaddon.report_view_id') 
     docs = self.env['myaddon.model'].browse(self._ids) 
     docargs = { 
      'doc_model': report.model, 
      'docs': docs, 
     } 
     return report_obj.render('myaddon.report_view_id', docargs) 

로깅에 유의하십시오. 이러한 로그는 odoo 인스턴스가 로그인하도록 구성된 모든 위치에 나타납니다. 개발 환경에서 실행중인 경우 표준 출력이 될 수 있습니다. 설정 파일이 있거나 지정한 설정 파일로 서버를 시작한 경우에는 그 파일이 나타나야합니다. _logger.info를 사용하는 경우 로깅 정보 레벨 (경고 또는 오류 아님) 출력인지 확인하십시오.

보고서가 시스템에서 누락 된 것으로 생각되는 레코드의 데이터에 액세스하려고하는 것의 소리에서부터 (분명히 말해서 미안하지만, 나는 이미 그것을 알고있을 것입니다). 어쨌든 이것은 최소한 로깅을 보면서 시작해야합니다.

"o"로 레코드의 별칭을 알았지 만 "o"가 아닌 변수 "0"값의 원시 값을 출력하는 t-raw = "0"이 있습니다. 이것은 오타 일 수 있습니다. 왜냐하면 만약 당신이 정말로 0을 원한다면 나는 당신이 사용했을 것이라고 가정합니다.

<p>0</p> 

또는 그와 비슷한 것입니다.

체크 아웃이 Odoo Qweb Reports입니다. 보고서에 대한 몇 가지 정보가 있습니다.

+0

시간과 정보를 보내 주셔서 감사합니다. odoo가 기본적으로 디버그 로그를 실행할 수 없다면 약간 충격을받습니다. 실제로 odoo-server.log에 로깅 정보를 씁니다. 그러나 UI에서 오류가 발생하면 로그 파일에 더 많은 오류 정보를 작성해야합니다. 그리고이 오류 정보가 어디에 있는지 궁금합니다. odoo가이 오류 정보를 전혀 쓰지 않는다는 것을 확신 할 수 없다고 말하고 있습니까? – cornelinux

+0

필요에 맞게 로깅을 구성하는 방법에 대한 설명서가 있습니다. https://www.odoo.com/documentation/8.0/reference/cmdline.html 내 게시물을 업데이트했습니다. –

+0

저는 t-raw = "0"이 아닌 t-raw = "o"라고 생각합니다. 위의 답변에 추가했습니다. –