Как скрыть поля в отчете qweb какого-либо модуля в openerp?

Я настраиваю модуль продаж, так как я скрыл некоторые поля из формы заказа на продажу. Когда я иду для печати счета-фактуры, он показывает некоторые пустые поля, которые я уже скрыл в представлении формы.

Поэтому я хочу, чтобы эти поля также были скрыты в отчетах. Какова методология для этого, есть идеи??

Reference:
Sales/Quotations/ print : sale.report_saleorder.pdf

В этом я хочу скрыть поле «Налоги».


person CSMaverick    schedule 03.11.2015    source источник


Ответы (2)


Вы можете скрыть нужные поля в отчете почти так же, как в представлении формы. Создайте файл XML в папке представлений и добавьте его в __openerp__.py. Начните свой файл следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <template id="report_saleorder_document_customized" inherit_id="sale.report_saleorder_document">
        ...

С этого момента вы должны использовать тег xpath, чтобы найти свои элементы и сделать их невидимыми так же, как вы делаете это в простом представлении формы (используя position="attributes"/"replace").

С уважением.

person forvas    schedule 03.11.2015

Вы можете использовать приведенный ниже код, чтобы скрыть часть отчета qweb.

Здесь я хочу скрыть налоговую таблицу и значение измененной строки, а также скрыть условия оплаты отчета Inovice.

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <template id="report_invoice_document_inherit" inherit_id="account.report_invoice_documnet">
            <!-- Changed 'Draft Invoice' to 'Tax Invoice' and 'Invoice' to 'Tax Invoice'-->
            <xpath expr="//div[@class='page']/h2/span[1]" position="replace">
                <span t-if="o.type == 'out_invoice' and (o.state in ('draft', 'open', 'paid'))">Tax Invoice</span>
            </xpath>
            <!-- Hide span -->
            <xpath expr="//div[@class='page']/h2/span[3]" position="replace"/>
            <!--Hide Tax table -->
            <xpath expr="//div[@class='page']/div[4]" position="attributes">
                <attribute name="class">hidden</attribute>
            </xpath>

            <!-- Hide payment term value from invoice report -->
            <xpath expr="//div[@class='page']/p[2]" position="attributes">
                <attribute name="class">hidden</attribute>
            </xpath>
        </template>
    </data>
</odoo>

Надеюсь, приведенный выше код поможет вам.

С наилучшими пожеланиями,

Анкит Х Ганди.

person Er.Ankit H Gandhi    schedule 27.12.2017