#openerp #odoo-8
#odoo #odoo-8
Вопрос:
Мне нужно добавить элемент в меню печати из древовидного представления заказа на покупку в odoo 8. я не могу найти, где в меню печати добавлены текущие отчеты о заказе на покупку. я исследовал и обнаружил, что есть тег снизу:
https://www.odoo.com/forum/help-1/question/how-to-add-an-item-to-the-more-drop-down-list-in-sales-module-61833
также пробовал ниже, но я получаю ошибку qweb :
<act_window name="Print Receiving Wkst"
res_model = "purchase.order"
src_model = "purchase.order"
key = "action"
key2="client_print_multi"
value="ir.actions.act_window,action_report_print_receivePO"
id="act_print_recevg_wkst"
/>
мой пользовательский отчет находится в модуле «test» с идентификатором «action_report_print_receivePO»
Я думаю, что я получаю сообщение об ошибке для тега значения.
По сути, мне нужно добавить новую запись в меню печати из древовидного представления заказа на покупку. так что при каждом нажатии на него печатается пользовательский отчет. более того, если выбрано более одного PO, будет создан PDF-файл всех POs
Спасибо,
Ответ №1:
Вам не нужно испытывать стресс при создании action
, а затем добавлении нового элемента в «Дополнительный раскрывающийся список». Odoo уже предоставляет вам способ сделать это. просто установите menu = True
время регистрации отчета, и в раскрывающемся списке «Дополнительные сведения» появится опция печати, которая печатает ваш отчет.
<report
id="purchase_order_report"
string="Purchase order"
model="purchase.order"
report_type="qweb-pdf"
file="purchase.order.file"
name="purchase.order.report"
menu="True"
/>
Для получения дополнительной информации о том, что означают другие параметры, пожалуйста, обратитесь к
Документы
Комментарии:
1. Привет, Даниди, спасибо за ответ, я постараюсь связаться с вами. У меня есть вопрос, нужно ли мне показывать отчет в двух моделях, например (stock.picking и purchase.order), кроме того, как я могу получить отчет из stock.picking для отображения в представлении purchase.order.
2. Для этого вам придется использовать подход, аналогичный тому, что вы пытались сделать ранее (поскольку отчет взят из другой модели) …. но вместо того, чтобы пытаться добавить опцию к
More dropdown
вы можете легко использовать кнопку, которая вызывает метод в вашем пользовательском классе, который печатает отчет…. это намного проще, чем пытаться добавить элемент вMore dropdown
3. Большое спасибо danidee
Ответ №2:
на всякий случай, если вы захотите создавать отчеты других типов, не полностью поддерживаемых Odoo, таких как py3o, вам обязательно нужно создать действие отчета, как определено в официальном документе. Например:
<record id="account.account_invoices" model="ir.actions.report">
<field name="report_type">py3o</field>
<field name="py3o_filetype">odt</field>
<field name="module">my_custom_module_base</field>
<field name="py3o_template_fallback">report/account_invoice.odt</field>
</record>
Однако, чтобы ваше действие появилось в раскрывающемся списке Печать, вы должны добавить в запись еще два поля
<field name="binding_model_id" ref="model_my_custom_module_base"/>
<field name="binding_type">report</field>
Надеюсь, это поможет кому-нибудь в будущем!!
Примечание: Здесь я использую механизм создания отчетов py3o. Проверьте его как альтернативу встроенному движку qweb.