раскрывающийся список печати отчета odoo

#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.