при нажатии кнопки «Печать опроса» (Human Resources - Apraissal - Interview Requests) стандартным выходом является HTML (метод action_print_survey). Я хочу изменить вывод в PDF. Я не смог найти конфигурацию Odoo и стандартную структуру для отчетов Qweb, как они делают это в качестве стандартных стендов (шаблон yes, menu no, python wrapper no). Я попытался установить оболочку, но она не работает. Любые идеи? Заранее спасибо ГуставоOdoo 8 - выпуск Qweb PDF для отчета оценки качества
ответ
Сообщить
Каждый отчет должен быть объявлен в действии отчета.
Для упрощения можно указать ярлык <report>
, чтобы определить отчет, а не настраивать действие и его окружение вручную.Это <report>
может принимать следующие атрибуты:
идентификатор:
внешний идентификатор сгенерированного пластинки
имя (обязательно):
полезно только в качестве мнемонических/описание доклада при поиске одного в некотором виде
модель (мандато гу):
модели ваш отчет будет о
REPORT_TYPE (обязательно):
- either qweb-pdf for PDF reports or qweb-html for HTML
report_name:
название вашего доклада (который будет название выхода в формате PDF)
группы:
Many2many поле группам разрешено просматривать/использовать текущий отчет
attachment_use:
если установлено Правда, отчет будет сохранен в качестве вложения в записи используя имя, сгенерированное выражением вложения; Вы можете использовать это, если вам нужен отчет генерируется только один раз (по юридическим причинам, например)
прикрепление:
выражение питона, который определяет название доклада; запись является acessible в качестве объекта переменных
Пример:
<report
id="account_invoices"
model="account.invoice"
string="Invoices"
report_type="qweb-pdf"
name="account.report_invoice"
file="account.report_invoice"
attachment_use="True"
attachment="(object.state in ('open','paid')) and
('INV'+(object.number or '').replace('/','')+'.pdf')"
/>
Ссылка Ссылка: https://www.odoo.com/documentation/8.0/reference/reports.html
Спасибо за вашу помощь. Все, что я хочу сделать, это добавить новую кнопку (я уже знаю, как это сделать), чтобы распечатать опрос в формате PDF вместо стандартного вывода HTML, используя тот же шаблон qweb (если это возможно). Это должно быть возможно сделать с простой конфигурацией, без изменения шаблонов Qweb или перепрофилирования всего отчета. Шаблон - «survey_templates.xml» – jack10bells
Нет определения
@Gustavo Это не отчет HTML, это оказывается шаблон в ответ на запрос для печати опроса, используя это действие кнопки. Вот почему вы не смогли найти какой-либо декларации для отчета, но вы можете легко сделать это, изменив определение метода модели survey.survey нравится:
def action_print_survey(self, cr, uid, ids, context=None):
context = dict(context or {}, active_ids=ids, active_model=self._name)
return {
'type': 'ir.actions.report.xml',
'report_name': 'module.survey_print',
'context': context,
}
Кроме того, необходимо определить module.survey_print отчета использовать исходный шаблон. Для этого вы могли увидеть, как это сделать: https://www.odoo.com/fr_FR/forum/help-1/question/how-to-define-a-custom-methods-functions-to-be-used-in-a-qweb-report-how-to-define-and-use-a-report-parser-92244
@Alex, я сделал что-то в соответствии с вашими инструкциями, но получил следующую ошибку: ** QWebException: объект «NoneType» не имеет атрибута «_fields» ** Что я должен искать, чтобы найти ошибку? (Я не знаю, как опубликовать здесь весь код, который я написал) – jack10bells
Вы можете поместить его в суть и оставили здесь ссылку –
https://gist.github.com/anonymous/0eb4406c49d71d37ac24 – jack10bells
Если вам нужно создать для него новый отчет qweb, я могу помочь. – Zety
Все, что я хочу сделать, это добавить новую кнопку (я уже знаю, как это сделать), чтобы распечатать опрос в формате PDF вместо стандартного вывода HTML, используя тот же шаблон qweb (если возможно).Это должно быть возможно сделать с простой конфигурацией, без изменения шаблонов Qweb или перепрофилирования всего отчета. Спасибо – jack10bells
Шаблон "survey_templates.xml" – jack10bells