Fall 4574, 4576: Dokumentenvorlagen

develop
Roman Widmann 2018-02-01 16:47:12 +01:00
parent d0a56ed8df
commit 2d5b5dde00
7 changed files with 231 additions and 228 deletions

View File

@ -44,6 +44,15 @@ class AccountInvoice(models.Model):
positions = fields.Integer(string='Positionen', compute='_compute_positions')
num_items = fields.Integer(string='Anzahl der Artikel', compute='_compute_num_items')
weight_total = fields.Float(string='Gesamtgewicht', compute='_compute_weight_total')
@api.multi
def _compute_weight_total(self):
for record in self:
sum = 0
for line in record.invoice_line_ids:
sum += line.product_id.weight * line.quantity
record.weight_total = sum
@api.multi
def _compute_positions(self):

View File

@ -49,6 +49,15 @@ class SaleOrder(models.Model):
earliest_scheduled_date = fields.Datetime(compute='_compute_earliest_scheduled_date')
positions = fields.Integer(string='Positionen', compute='_compute_positions')
num_items = fields.Integer(string='Anzahl der Artikel', compute='_compute_num_items')
weight_total = fields.Float(string='Gesamtgewicht', compute='_compute_weight_total')
@api.multi
def _compute_weight_total(self):
for record in self:
sum = 0
for line in record.order_line:
sum += line.product_id.weight * line.product_uom_qty
record.weight_total = sum
@api.multi
def _compute_positions(self):

View File

@ -7,12 +7,12 @@
<field name="page_height">0</field>
<field name="page_width">0</field>
<field name="orientation">Portrait</field>
<field name="margin_top">55</field>
<field name="margin_top">40</field>
<field name="margin_bottom">20</field>
<field name="margin_left">10</field>
<field name="margin_right">10</field>
<field name="header_line" eval="False"/>
<field name="header_spacing">40</field>
<field name="header_spacing">25</field>
<field name="dpi">90</field>
</record>
</odoo>

View File

@ -61,15 +61,18 @@
style="max-height: 85px;"/>
</div>
</div>
<div class="row">
<hr class="col-xs-12 red-line-1"/>
<div class="row mt16">
<hr class="red-line-1"/>
</div>
</div>
</template>
<template id="external_layout_footer">
<div class="footer" style="font-size:9pt;">
<div class="row" style="padding-left:0;border-top: 2px solid #A72523;">
<div class="row">
<hr class="red-line-1"/>
</div>
<div class="row" style="padding-left:0;">
<div class="col-xs-12 text-center">
<strong>
<span t-esc="company.name"/>
@ -152,12 +155,8 @@
<span t-esc="o.partner_id.street"/><br/>
<span t-esc="o.partner_id.zip"/><span t-esc="o.partner_id.city"/><br/>
<span t-esc="o.partner_id.country_id.name"/><br/>
<t t-if="o.partner_id.email">
Email: <span t-esc="o.partner_id.email"/><br/>
</t>
<t t-if="o.partner_id.phone">
Telefon: <span t-esc="o.partner_id.phone"/>
</t>
<span t-esc="o.partner_id.email"/><br/>
<span t-esc="o.partner_id.phone"/>
</div>
</template>
</data>

View File

@ -32,8 +32,9 @@ hr.red-line-1 {
height: 1px;
border: 0;
border-top: 1px solid #A72523;
margin: 1em 0;
padding: 0;
margin-top: 0;
margin-bottom: 0;
}
hr.red-line-2 {
@ -41,8 +42,9 @@ hr.red-line-2 {
height: 2px;
border: 0;
border-top: 2px solid #A72523;
margin: 1em 0;
padding: 0;
margin-top: 0;
margin-bottom: 0;
}
div.height-20 {
@ -52,13 +54,30 @@ div.height-20 {
thead.table-header {
background-color: #9D9D9D;
border-top: 2px solid #A72523;
color: white;
}
tbody.sale-tbody {
background-color: #E6E7E9;
}
tr.amount-total {
margin-top: 0;
margin-bottom: 0;
border-bottom: 2px solid #A72523;
}
tbody.totals-tbody {
background-color: #E6E7E9;
margin-top: 0;
margin-bottom: 0;
}
tbody.invoice-tbody {
background-color: #E6E7E9;
margin-top: 0;
margin-bottom: 0;
border-bottom: 2px solid #A72523;
}
.table-condensed > tbody > tr.amount-total {
border-top: 2px solid #A72523 !important;
}

View File

@ -7,92 +7,62 @@
<t t-set="o" t-value="o.with_context({'lang':o.partner_id.lang})"/>
<div class="page">
<div class="row">
<div name="invoice_address" style="width:32%;padding-left:15px;padding-right:15px;float: left;">
<u style="font-size: large;">Kundendaten</u>
<br/>
<strong>
<span t-esc="o.partner_id.name"/>
</strong>
<br/>
<span t-esc="o.partner_id.street"/>
<br/>
<span t-esc="o.partner_id.zip"/>
<span t-esc="o.partner_id.city"/>
<br/>
<span t-esc="o.partner_id.country_id.name"/>
<br/>
Email:
<span t-esc="o.partner_id.email"/>
<br/>
Telefon:
<span t-esc="o.partner_id.phone"/>
<div class="col-xs-3">
<t t-call="dp_reports.partner_data"/>
</div>
<div style="width:30%;padding-left:15px;padding-right:10px;float: left;">
<u style="font-size: large;">Lieferadresse</u>
<br/>
<strong>
<div class="col-xs-3">
<strong>Lieferadresse</strong>
<div class="partner-data">
<span t-esc="o.partner_shipping_id.name"/>
</strong>
<br/>
<span t-esc="o.partner_shipping_id.street"/>
<br/>
<span t-esc="o.partner_shipping_id.zip"/>
<span t-esc="o.partner_shipping_id.city"/>
<br/>
<span t-esc="o.partner_shipping_id.street"/><br/>
<span t-esc="o.partner_shipping_id.zip"/><span t-esc="o.partner_shipping_id.city"/><br/>
<span t-esc="o.partner_shipping_id.country_id.name"/>
</div>
<div name="invoice_address" style="width:32%;padding-left:15px;padding-right:15px;float: left;">
<u style="font-size: large;">Rechnungsadresse</u>
<br/>
<strong>
<span t-esc="o.partner_id.name"/>
</strong>
<br/>
<span t-esc="o.partner_id.street"/>
<br/>
<span t-esc="o.partner_id.zip"/>
<span t-esc="o.partner_id.city"/>
<br/>
<span t-esc="o.partner_id.country_id.name"/>
<br/>
Email:
<span t-esc="o.partner_id.email"/>
<br/>
Telefon:
</div>
<div class="col-xs-3">
<strong>Rechnungsadresse</strong>
<div class="partner-data">
<span t-esc="o.partner_id.name"/><br/>
<span t-esc="o.partner_id.street"/><br/>
<span t-esc="o.partner_id.zip"/><span t-esc="o.partner_id.city"/><br/>
<span t-esc="o.partner_id.country_id.name"/><br/>
<span t-esc="o.partner_id.email"/><br/>
<span t-esc="o.partner_id.phone"/>
</div>
</div>
<div class="row">
<hr class="col-xs-12 red-line-2"/>
<div class="col-xs-3">
<t t-call="dp_reports.company_data"/>
</div>
</div>
<div class="row mt32"/>
<div class="row height-20">
<span class="col-xs-2">Kundennr.:</span>
<strong><span class="col-xs-2">Kundennr.:</span></strong>
<span class="col-xs-2" t-field="o.partner_id.ref"/>
<span class="col-xs-2">Ansprechpartner:</span>
<strong><span class="col-xs-2">Ansprechpartner:</span></strong>
<span class="col-xs-2" t-field="o.user_id"/>
<span class="col-xs-2">Positionen:</span>
<strong><span class="col-xs-2">Positionen:</span></strong>
<span class="col-xs-2" t-field="o.positions"/>
</div>
<div class="row height-20">
<span class="col-xs-2">Angebotsdatum:</span>
<strong><span class="col-xs-2">Angebotsdatum:</span></strong>
<span class="col-xs-2">?????????</span>
<span class="col-xs-2">Email:</span>
<strong><span class="col-xs-2">Email:</span></strong>
<span class="col-xs-2" t-field="o.user_id.email"/>
<span class="col-xs-2">Artikel:</span>
<strong><span class="col-xs-2">Artikel:</span></strong>
<span class="col-xs-2" t-field="o.num_items"/>
</div>
<div class="row height-20">
<span class="col-xs-2">Lieferdatum:</span>
<strong><span class="col-xs-2">Lieferdatum:</span></strong>
<span class="col-xs-2">?????????</span>
<span class="col-xs-2">Telefon:</span>
<strong><span class="col-xs-2">Telefon:</span></strong>
<span class="col-xs-2" t-field="o.user_id.phone"/>
<span class="col-xs-2">Bezeichnung:</span>
<strong><span class="col-xs-2">Bezeichnung:</span></strong>
<span class="col-xs-2">?????????</span>
</div>
<table class="mt32 table table-condensed">
<div class="row mt32"/>
<table class="table table-condensed">
<t t-set="discount_is_set" t-value="field_set_in_lines(o.invoice_line_ids, 'discount')"/>
<thead>
<thead class="table-header">
<tr>
<th class="text-center">Pos.</th>
<th class="text-center">Anzahl</th>
@ -104,14 +74,11 @@
</tr>
</thead>
<tbody class="invoice_tbody">
<tbody class="invoice-tbody">
<t t-set="pos_nr" t-value="0"/>
<t t-set="weight_total" t-value="0"/>
<t t-foreach="o.invoice_line_ids" t-as="invoice_line">
<tr>
<t t-set="pos_nr" t-value="pos_nr+1"/>
<t t-set="weight_total"
t-value="weight_total+invoice_line.product_id.weight*invoice_line.quantity"/>
<td class="text-center">
<span t-esc="pos_nr"/>
</td>
@ -155,14 +122,13 @@
</t>
</tbody>
</table>
<div class="row">
<div class="mt32 col-xs-4 pull-right">
<div class="col-xs-4 pull-right">
<table class="table table-condensed">
<tr class="border-black">
<tbody class="totals-tbody">
<tr>
<td>
<strong>Zwischensumme</strong>
Zwischensumme
</td>
<td class="text-right">
<span t-field="o.amount_untaxed"
@ -178,15 +144,18 @@
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</tr>
<tr class="border-black">
<tr class="amount-total">
<td>
<strong>Rechnungsbetrag</strong>
</td>
<td class="text-right">
<strong>
<span t-field="o.amount_total"
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</strong>
</td>
</tr>
</tbody>
</table>
</div>
</div>
@ -196,7 +165,7 @@
</p>
<p class="col-xs-12">
Gesamtgewicht:
<span t-esc="round(weight_total, 2)"/> kg
<span t-esc="round(o.weight_total, 2)"/> kg
<br/>
</p>
<p class="col-xs-12" t-if="o.incoterms_id.name">

View File

@ -25,17 +25,15 @@
<span t-esc="o.partner_invoice_id.street"/><br/>
<span t-esc="o.partner_invoice_id.zip"/><span t-esc="o.partner_invoice_id.city"/><br/>
<span t-esc="o.partner_invoice_id.country_id.name"/><br/>
<t t-if="o.partner_invoice_id.email">
Email: <span t-esc="o.partner_invoice_id.email"/><br/>
</t>
<t t-if="o.partner_invoice_id.phone">
Telefon: <span t-esc="o.partner_invoice_id.phone"/>
</t>
<span t-esc="o.partner_invoice_id.email"/><br/>
<span t-esc="o.partner_invoice_id.phone"/>
</div>
</div>
<div class="col-xs-3">
<t t-call="dp_reports.company_data"/>
</div>
</div>
<div class="row mt32"/>
<div class="row height-20">
<strong><span class="col-xs-2">Kundennr.:</span></strong>
<span class="col-xs-2" t-field="o.partner_id.ref"/>
@ -60,10 +58,7 @@
<strong><span class="col-xs-2">Bezeichnung:</span></strong>
<span class="col-xs-2">?????????</span>
</div>
</div>
<div class="row">
<hr class="col-xs-12 red-line-2"/>
</div>
<div class="row mt32"/>
<table class="table table-condensed">
<t t-set="discount_is_set" t-value="field_set_in_lines(o.order_line, 'discount')"/>
<thead class="table-header">
@ -131,24 +126,20 @@
</tbody>
</table>
<div class="row">
<hr class="col-xs-12 red-line-2"/>
</div>
<div class="row">
<div class="col-xs-4 pull-right">
<table class="table table-condensed">
<tbody class="sale-tbody">
<tbody class="totals-tbody">
<tr>
<td>
<strong>Zwischensumme</strong>
Zwischensumme
</td>
<td class="text-right">
<span t-field="o.amount_untaxed"
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</tr>
<tr class="amount-total">
<tr>
<td>
<span>MwSt.</span>
</td>
@ -157,13 +148,15 @@
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</td>
</tr>
<tr>
<tr class="amount-total">
<td>
<strong>Gesamtsumme</strong>
</td>
<td class="text-right">
<strong>
<span t-field="o.amount_total"
t-options='{"widget": "monetary", "display_currency": o.currency_id}'/>
</strong>
</td>
</tr>
</tbody>
@ -175,6 +168,11 @@
<p class="col-xs-12">
<span t-field="o.note"/>
</p>
<p class="col-xs-12">
Gesamtgewicht:
<span t-esc="round(o.weight_total, 2)"/> kg
<br/>
</p>
<p class="col-xs-12" t-if="o.incoterm.name">
Lieferkonditionen:
<span t-esc="o.incoterm.name"/>