распечатать описание продукта в унаследованном qweb отчете о доставке / получении на основе типа комплектации в odoo - PullRequest
1 голос
/ 05 мая 2020

во-первых, извините за плохую грамматику. не могли бы вы помочь мне в отношении отчета о наследовании. Я разделил описание для доставки и описание для получения в product.product. Я унаследовал stock.report_picking, в котором я хочу распечатать описание доставки / квитанции продукта на основе его picking_type_id. работает нормально. но он печатает одно и то же описание для всех продуктов в отчете. вот мой фрагмент.

<template id="report_picking_inherit" inherit_id="stock.report_picking">

    <xpath expr="//table[@class='table table-sm']//tbody//tr//td//span[2]" position="replace">

        <t t-foreach="o.move_ids_without_package.sorted(key=lambda m: m.product_id.id)" t-as="move">
            <t t-foreach="move.move_line_ids.sorted(key=lambda ml: ml.location_id.id)" t-as="ml">

                <t t-if="docs.picking_type_id.name == 'Receipts'">
                    <span t-field="move.product_id.description_for_receipt"/>
                </t>
                <t t-if="docs.picking_type_id.name == 'Delivery Orders'">
                    <span t-field="move.product_id.description_for_delivery"/>
                </t>

            </t>
        </t>

    </xpath>
</template>

и этот результат сгенерирован.

[E-COM12] Conference Chair (Steel) НОЖКИ: СТАЛЬ, описание в поставке НОЖКИ: АЛЮМИНИЕВЫЕ, описание в поставке

[E-COM13] Стул для конференций (Алюминий) НОЖКИ: СТАЛЬ, описание для доставки НОЖКИ: АЛЮМИНИЙ, описание для доставки

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

1 Ответ

1 голос
/ 06 мая 2020

Попробуйте этот код

<xpath expr="//table[@class='table table-sm']//tbody//tr//td//span[2]" position="replace">
  <t t-if="docs.picking_type_id.name == 'Receipts'">
        <span t-field="ml.product_id.description_for_receipt"/>
  </t>
  <t t-if="docs.picking_type_id.name == 'Delivery Orders'">
        <span t-field="ml.product_id.description_for_delivery"/>
  </t>
</xpath>

...