Fall 5041: Anpassungen Rechnungsreport, US01 umgesetzt
parent
f8c775176a
commit
06c0d8f1a9
|
|
@ -2,3 +2,4 @@
|
||||||
|
|
||||||
|
|
||||||
from . import report_helper
|
from . import report_helper
|
||||||
|
from . import account_invoice
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
# Copyright 2018-Today datenpol gmbh (<http://www.datenpol.at>)
|
||||||
|
# License OPL-1 or later (https://www.odoo.com/documentation/user/11.0/legal/licenses/licenses.html#licenses).
|
||||||
|
|
||||||
|
from odoo import api, models
|
||||||
|
|
||||||
|
|
||||||
|
class AccountInvoice(models.Model):
|
||||||
|
_inherit = 'account.invoice'
|
||||||
|
|
||||||
|
@api.multi
|
||||||
|
def order_lines_layouted(self):
|
||||||
|
res = super(AccountInvoice, self).order_lines_layouted()
|
||||||
|
uncategorized = False
|
||||||
|
# Rechnungszeilen ohne Kategorie löschen und an den Anfang stellen
|
||||||
|
for idx1, page in enumerate(res):
|
||||||
|
for idx2, category in enumerate(page):
|
||||||
|
if category.get('name') == 'Uncategorized':
|
||||||
|
uncategorized = page.pop(idx2)
|
||||||
|
if uncategorized:
|
||||||
|
res[idx1] = [uncategorized] + res[idx1]
|
||||||
|
return res
|
||||||
|
|
@ -67,73 +67,83 @@
|
||||||
<span class="col-xs-2" t-field="o.name"/>
|
<span class="col-xs-2" t-field="o.name"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mt32"/>
|
<div class="row mt32"/>
|
||||||
<table class="table table-condensed">
|
<t t-foreach="o.order_lines_layouted()" t-as="page" name="lines_layouted">
|
||||||
<t t-set="discount_is_set" t-value="field_set_in_lines(o.invoice_line_ids, 'discount')"/>
|
<table class="table table-condensed">
|
||||||
<thead class="table-header">
|
<t t-set="discount_is_set" t-value="field_set_in_lines(o.invoice_line_ids, 'discount')"/>
|
||||||
<tr>
|
<thead class="table-header">
|
||||||
<th class="text-center">Pos.</th>
|
|
||||||
<th class="text-center">Anzahl</th>
|
|
||||||
<th class="text-right">Gewicht</th>
|
|
||||||
<th class="text-right"></th>
|
|
||||||
<th class="text-left">Artikel</th>
|
|
||||||
<th class="text-right">EP</th>
|
|
||||||
<th class="text-right" t-if="discount_is_set">Rabatt</th>
|
|
||||||
<th class="text-right">Gesamtpreis</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
|
|
||||||
<tbody class="invoice-tbody">
|
|
||||||
<t t-set="pos_nr" t-value="0"/>
|
|
||||||
<t t-foreach="o.invoice_line_ids" t-as="invoice_line">
|
|
||||||
<tr>
|
<tr>
|
||||||
<t t-set="pos_nr" t-value="pos_nr+1"/>
|
<th class="text-center">Pos.</th>
|
||||||
<td class="text-center">
|
<th class="text-center">Anzahl</th>
|
||||||
<span t-esc="pos_nr"/>
|
<th class="text-right">Gewicht</th>
|
||||||
</td>
|
<th class="text-right"></th>
|
||||||
<td class="text-right">
|
<th class="text-left">Artikel</th>
|
||||||
<span t-field="invoice_line.quantity"/>
|
<th class="text-right">EP</th>
|
||||||
</td>
|
<th class="text-right" t-if="discount_is_set">Rabatt</th>
|
||||||
<td class="text-right">
|
<th class="text-right">Gesamtpreis</th>
|
||||||
<span t-field="invoice_line.product_id.weight"/> kg
|
|
||||||
</td>
|
|
||||||
<td class="text-right">
|
|
||||||
</td>
|
|
||||||
<td rowspan="2" class="text-left">
|
|
||||||
<t t-if="invoice_line.product_id.default_code">
|
|
||||||
<strong>
|
|
||||||
<span t-field="invoice_line.product_id.default_code"/>
|
|
||||||
</strong>
|
|
||||||
<br/>
|
|
||||||
</t>
|
|
||||||
<span>
|
|
||||||
<strong>Zolltarif Nr.:</strong>
|
|
||||||
<span t-field="invoice_line.product_id.intrastat_id"/>
|
|
||||||
</span>
|
|
||||||
<br/>
|
|
||||||
<span t-field="invoice_line.name"/>
|
|
||||||
</td>
|
|
||||||
<td rowspan="2" class="text-right">
|
|
||||||
<span t-field="invoice_line.price_unit"/>
|
|
||||||
</td>
|
|
||||||
<td rowspan="2" class="text-right" t-if="discount_is_set">
|
|
||||||
<span t-field="invoice_line.discount"/>
|
|
||||||
</td>
|
|
||||||
<td rowspan="2" class="text-right">
|
|
||||||
<span t-field="invoice_line.price_subtotal"/>
|
|
||||||
</td>
|
|
||||||
</tr>
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
<tr>
|
<tbody class="invoice-tbody">
|
||||||
<td colspan="4" style="border: 0;text-align: center;">
|
<t t-set="pos_nr" t-value="0"/>
|
||||||
<!-- Fall 5078, Rechnung - keine Bilder mehr
|
<t t-foreach="page" t-as="layout_category">
|
||||||
<img t-if="invoice_line.product_id.image_medium"
|
<tr t-if="layout_category['name'] != 'Uncategorized'">
|
||||||
t-att-src="'data:image/png;base64,%s' % invoice_line.product_id.image_medium.decode()"/>
|
<td colspan="7">
|
||||||
-->
|
<strong><t t-esc="layout_category['name']"/></strong>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</t>
|
<t t-foreach="layout_category['lines']" t-as="invoice_line">
|
||||||
</tbody>
|
<!-- <t t-foreach="o.invoice_line_ids" t-as="invoice_line"> -->
|
||||||
</table>
|
<tr>
|
||||||
|
<t t-set="pos_nr" t-value="pos_nr+1"/>
|
||||||
|
<td class="text-center">
|
||||||
|
<span t-esc="pos_nr"/>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<span t-field="invoice_line.quantity"/>
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
<span t-field="invoice_line.product_id.weight"/> kg
|
||||||
|
</td>
|
||||||
|
<td class="text-right">
|
||||||
|
</td>
|
||||||
|
<td rowspan="2" class="text-left">
|
||||||
|
<t t-if="invoice_line.product_id.default_code">
|
||||||
|
<strong>
|
||||||
|
<span t-field="invoice_line.product_id.default_code"/>
|
||||||
|
</strong>
|
||||||
|
<br/>
|
||||||
|
</t>
|
||||||
|
<span>
|
||||||
|
<strong>Zolltarif Nr.:</strong>
|
||||||
|
<span t-field="invoice_line.product_id.intrastat_id"/>
|
||||||
|
</span>
|
||||||
|
<br/>
|
||||||
|
<span t-field="invoice_line.name"/>
|
||||||
|
</td>
|
||||||
|
<td rowspan="2" class="text-right">
|
||||||
|
<span t-field="invoice_line.price_unit"/>
|
||||||
|
</td>
|
||||||
|
<td rowspan="2" class="text-right" t-if="discount_is_set">
|
||||||
|
<span t-field="invoice_line.discount"/>
|
||||||
|
</td>
|
||||||
|
<td rowspan="2" class="text-right">
|
||||||
|
<span t-field="invoice_line.price_subtotal"/>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td colspan="4" style="border: 0;text-align: center;">
|
||||||
|
<!-- Fall 5078, Rechnung - keine Bilder mehr
|
||||||
|
<img t-if="invoice_line.product_id.image_medium"
|
||||||
|
t-att-src="'data:image/png;base64,%s' % invoice_line.product_id.image_medium.decode()"/>
|
||||||
|
-->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</t>
|
||||||
|
</t>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</t>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-4 pull-right">
|
<div class="col-xs-4 pull-right">
|
||||||
<table class="table table-condensed">
|
<table class="table table-condensed">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue