Количество отправлено в отчете о счете-фактуре odoo

Я пытаюсь получить значение количества отгруженных продуктов для отображения в качестве дополнительного столбца в отчете о счете-фактуре. Не уверен, что это так же просто, как узнать, что это за переменная или что. Есть ли простой способ указать, какие переменные доступны для текущих представлений?

<table class="table table-condensed">
<thead>
    <tr>
        <th>Description</th>
        <th class="hidden">Source Document</th>
        <th class="text-right">Ordered</th>
        <th class="text-right">Shipped</th>
        <th class="text-right">Backorder</th>
        <th class="text-right">Unit Price</th>
        <th t-if="display_discount" class="text-right">Disc.(%)</th>
        <th class="text-right">Extended Price</th>
    </tr>
</thead>
<tbody class="invoice_tbody">
    <tr t-foreach="o.invoice_line_ids" t-as="l">
        <td><span t-field="l.name"/></td>
        <td class="hidden"><span t-field="l.origin"/></td>
        <td class="text-right">
            <span t-field="l.quantity"/>
            <span t-field="l.uom_id" groups="product.group_uom"/>
        </td>
        <td class="text-right">
            <span t-field="o.delivery_count"/>
        </td>
        <td class="text-right">

        </td>
        <td class="text-right">
            <span t-field="l.price_unit"/>
        </td>
        <td t-if="display_discount" class="text-right">
            <span t-field="l.discount"/>
        </td>
        <td class="text-right">
            <span t-field="l.price_subtotal" t-options="{&quot;widget&quot;: &quot;monetary&quot;, &quot;display_currency&quot;: o.currency_id}"/>
        </td>
    </tr>
</tbody>


person MikeMania    schedule 19.05.2017    source источник


Ответы (1)


Я точно не знаю, что вы имеете в виду под «отправленными продуктами», но вы можете получить количество строк счета-фактуры в своем отчете следующим образом:

<t t-foreach="o.invoice_line_ids" t-as="l">
    <span t-field="l.quantity"/>
</t>

То же самое для количества строк комплектации запасов:

<t t-foreach="o.move_lines" t-as="l">
    <span t-field="l.product_uom_qty"/>
</t>

Один из простых способов получить имена переменных — активировать режим разработки и поместить курсор на метку поля.

Вы также можете перейти в «Настройки» -> «Структура базы данных» -> «Модели», а затем просто выбрать нужную модель, чтобы увидеть имена переменных (имена полей).

person Manu W.    schedule 22.05.2017
comment
Привет, это кажется большим подспорьем. Когда вы имеете в виду режим отладки, вы имеете в виду режим разработчика odoo или размещение фрагмента отладки в шаблоне qweb? Под отгруженным количеством, я думаю, я подразумеваю доставленное количество. Проблема в том, что это значение, кажется, находится в другом отчете, как я могу ссылаться на него, но при этом относиться к правильному элементу? В настоящее время я использую odoo10. - person MikeMania; 22.05.2017
comment
Я также добавил пример кода того, над чем я работаю, в отчет о счете. - person MikeMania; 22.05.2017
comment
Хорошо, я, кажется, понял большую часть проблемы, основываясь на ваших предложениях. Единственная проблема сейчас в том, что мне нужно, например: client_order_ref из sale.order, и мне нужно отобразить его в отчете account.invoice. Я предполагаю, что простая ссылка на o.client_order_ref напрямую не работает, потому что соответствующий заказ на продажу не указан. - person MikeMania; 23.05.2017
comment
Я имею в виду режим разработки. Вы правы, вызвать поле из другой модели невозможно. Поэтому вам необходимо создать новую модель, объединяющую счет-фактуру и заказ на продажу, и это требует некоторой работы: odoo-development.readthedocs.io/en/latest/dev/py/ Но я до сих пор не понимаю, почему вы просто не используете количество строк счета-фактуры, потому что количество отправлено то же самое, что и количество, которое вы продаете? - person Manu W.; 23.05.2017