Odoo 8 QWEB/Создать собственный отчет/Ошибка QWebException

В настоящее время я работаю над пользовательским отчетом на odoo 8 (самостоятельный хостинг) и создал структуру отчета на основе этого руководства: http://odoo.guide/report-design-workshop/

как правило, шаблон создан хорошо, но когда я начинаю использовать, например.

<span t-field="o.partner_id"/>

pdf-print вылетает и возвращает гигантский текст ошибки. Последнее предложение говорит мне кое-что о том, насколько я понял, что связь между счетом и шаблоном недоступна.

QWebException: объект «NoneType» не имеет атрибута «_fields»

Я не уверен, откуда эта ошибка и как я могу ее исправить: / Надеюсь, вы можете мне помочь.


person Powermax1990    schedule 08.03.2016    source источник
comment
Эй, я думаю, вы имеете в виду эту часть исходного шаблона? ‹t t-raw=translate_doc(doc_id, doc_model, 'partner_id.lang', 'account.report_invoice_document')/› Одна вещь, которую я понял, это то, что когда я перехожу к Техническим › Действиям › Отчеты и ищу свой новый другой отчет и щелкните соответствующие представления QWeb. Я вижу только свой файл со структурой начальной загрузки, но не файл с tranlate_doc. Вот изображение, показывающее мой odoo 8. Надеюсь, это поможет, большое спасибо: fs5.directupload.net/images/160308/zr8f7ghx.png   -  person Powermax1990    schedule 08.03.2016


Ответы (1)


В основном вы должны следовать следующему пути:

1. Установите этот флажок, чтобы напечатать возвращаемое значение o (obejct) с использованием рендеринга шаблона Qweb.

<span t-esc="o" />

2. Основываясь на пункте 1, o вернет конкретный модуль, чтобы вы могли легко

3. Вы можете легко выбрать, есть ли у модуля поле partner_id или нет. Если он существует в этой модели, вы можете легко получить доступ как

<span t-field="o.partner_id"/>

с использованием рендеринга шаблонов Qweb.

4. Если у вас есть какое-либо поле, которое в настоящее время существует в этом объекте, вам необходимо проверить, существует ли это поле или нет, а затем после этого вы можете распечатать его в своем файле шаблона.

<t t-if="o.partner_id">
     <span t-field="o.partner_id.name" />
</t>

В вашем случае поле даже не присутствует в вашем модуле, поэтому такая проблема возникнет с вашей стороны.

Пожалуйста, проверьте, как описано выше, и ваша проблема обязательно будет решена.

Я надеюсь, что мой ответ может быть полезен для вас :)

person DASADIYA CHAITANYA    schedule 08.03.2016