Camadeus -> datenpol für die wichtigsten Module
parent
5db603678a
commit
5fe7633b00
|
|
@ -2,7 +2,7 @@
|
|||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 20014-2016 Camadeus GmbH (<http://www.camadeus.at>).
|
||||
# Copyright (C) 20014-2016 datenpol gmbh (<http://www.datenpol.at/>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
@ -22,4 +22,3 @@
|
|||
import cam_custom
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 20014-2016 Camadeus GmbH (<http://www.camadeus.at>).
|
||||
# Copyright (C) 20014-2016 datenpol gmbh (<http://www.datenpol.at/>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
@ -21,19 +21,19 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Camadeus Anpassungen',
|
||||
'category': 'Custom',
|
||||
'name': 'datenpol-Anpassungen',
|
||||
'category': 'Custom',
|
||||
'version': '1.0',
|
||||
'description': """Individuelle Anpassungen""",
|
||||
'author': 'camadeus GmbH',
|
||||
'website': 'http://www.camadeus.at',
|
||||
'author': 'datenpol gmbh',
|
||||
'website': 'http://www.datenpol.at/',
|
||||
'depends': ['sale','mail','product','account','knowledge'],
|
||||
'data': [
|
||||
'data': [
|
||||
'cam_custom_view.xml',
|
||||
'cam_custom_data.xml',
|
||||
'views/custom_theme.xml',
|
||||
'security/ir.model.access.csv',
|
||||
],
|
||||
],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 20014-2016 Camadeus GmbH (<http://www.camadeus.at>).
|
||||
# Copyright (C) 20014-2016 datenpol gmbh (<http://www.datenpol.at/>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
@ -24,30 +24,29 @@ from openerp import api
|
|||
from openerp.tools.translate import _
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp import tools
|
||||
from lxml import etree
|
||||
|
||||
DISABLED_MENUS = [
|
||||
]
|
||||
|
||||
class ir_ui_menu(models.Model):
|
||||
_inherit = 'ir.ui.menu'
|
||||
|
||||
|
||||
@tools.ormcache(skiparg=2)
|
||||
def get_disabled_menu_ids(self, cr, uid, context=None):
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
||||
|
||||
menu_ids = []
|
||||
for menu in DISABLED_MENUS:
|
||||
module,xml_id = menu.split('.')
|
||||
menu = data_obj.get_object(cr, uid, module, xml_id)
|
||||
if menu:
|
||||
menu_ids.append(menu.id)
|
||||
return menu_ids
|
||||
return menu_ids
|
||||
|
||||
def _filter_visible_menus(self, cr, uid, ids, context=None):
|
||||
if uid != 1:
|
||||
def _filter_visible_menus(self, cr, uid, ids, context=None):
|
||||
if uid != 1:
|
||||
disabled_ids = self.get_disabled_menu_ids(cr, uid)
|
||||
|
||||
|
||||
ids = [id for id in ids if id not in disabled_ids]
|
||||
|
||||
ids = super(ir_ui_menu, self)._filter_visible_menus(cr, uid, ids, context)
|
||||
|
|
@ -55,12 +54,11 @@ class ir_ui_menu(models.Model):
|
|||
|
||||
class res_partner(models.Model):
|
||||
_inherit = 'res.partner'
|
||||
|
||||
|
||||
@api.model
|
||||
def fields_view_get_address(self, arch):
|
||||
""" verhindert das Überschreiben von address_format """
|
||||
return arch
|
||||
|
||||
|
||||
class mail_notification(models.Model):
|
||||
_inherit = 'mail.notification'
|
||||
|
|
@ -98,7 +96,7 @@ class mail_notification(models.Model):
|
|||
# else:
|
||||
# company = user.company_id.name
|
||||
# sent_by = _('Sent by %(company)s using %(odoo)s')
|
||||
#
|
||||
#
|
||||
# signature_company = '<br /><small>%s</small>' % (sent_by % {
|
||||
# 'company': company,
|
||||
# 'odoo': "<a style='color:inherit' href='https://www.odoo.com/'>Odoo</a>"
|
||||
|
|
@ -106,20 +104,20 @@ class mail_notification(models.Model):
|
|||
# footer = tools.append_content_to_html(footer, signature_company, plaintext=False, container_tag='div')
|
||||
|
||||
return footer
|
||||
|
||||
|
||||
# class product_product(osv.osv):
|
||||
# _inherit = 'product.product'
|
||||
#
|
||||
#
|
||||
# def name_get(self, cr, user, ids, context=None):
|
||||
# if context is None:
|
||||
# context = {}
|
||||
# c = context.copy()
|
||||
# c.update({'display_default_code': False})
|
||||
# return super(product_product, self).name_get(cr, user, ids, context=c)
|
||||
|
||||
# return super(product_product, self).name_get(cr, user, ids, context=c)
|
||||
|
||||
class sale_order_line(models.Model):
|
||||
_inherit = 'sale.order.line'
|
||||
|
||||
|
||||
@api.onchange('name')
|
||||
def onchange_name(self):
|
||||
if self.name != False and self.product_id.id == False:
|
||||
|
|
@ -131,7 +129,7 @@ class sale_order_line(models.Model):
|
|||
|
||||
class product_product(models.Model):
|
||||
_inherit = 'product.product'
|
||||
|
||||
|
||||
def name_get(self, cr, user, ids, context=None):
|
||||
""" beim Angebot die Nummer nicht in das Feld Bezeichnung übernehmen"""
|
||||
if context is None:
|
||||
|
|
@ -144,5 +142,5 @@ class product_product(models.Model):
|
|||
|
||||
class res_country(models.Model):
|
||||
_inherit = 'res.country'
|
||||
|
||||
active = fields.Boolean('Aktiv', default=True)
|
||||
|
||||
active = fields.Boolean('Aktiv', default=True)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 20014-2016 Camadeus GmbH (<http://www.camadeus.at>).
|
||||
# Copyright (C) 20014-2016 datenpol gmbh (<http://www.datenpol.at/>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
@ -20,5 +20,5 @@
|
|||
##############################################################################
|
||||
|
||||
import cam_reports
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 20014-2016 Camadeus GmbH (<http://www.camadeus.at>).
|
||||
# Copyright (C) 20014-2016 datenpol gmbh (<http://www.datenpol.at/>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
@ -21,14 +21,14 @@
|
|||
|
||||
|
||||
{
|
||||
'name': 'Camadeus Reports',
|
||||
'category': 'Custom',
|
||||
'name': 'Datenpol-Reports',
|
||||
'category': 'Custom',
|
||||
'version': '1.0',
|
||||
'description': """Individuelle Dokumentenvorlagen""",
|
||||
'author': 'camadeus GmbH',
|
||||
'website': 'http://www.camadeus.at',
|
||||
'author': 'datenpol gmbh',
|
||||
'website': 'http://www.datenpol.at/',
|
||||
'depends': ['purchase','sale','account','stock'],
|
||||
'data': ['reports_data.xml',
|
||||
'data': ['reports_data.xml',
|
||||
],
|
||||
'installable': True,
|
||||
'auto_install': False,
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 20014-2016 Camadeus GmbH (<http://www.camadeus.at>).
|
||||
# Copyright (C) 20014-2016 datenpol gmbh (<http://www.datenpol.at/>).
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
@ -26,16 +26,15 @@ import base64
|
|||
|
||||
class res_company(osv.osv):
|
||||
_inherit = 'res.company'
|
||||
|
||||
|
||||
def get_image(self, img):
|
||||
|
||||
def _get_dir():
|
||||
styles_dir = 'cam_reports/static/src/img'
|
||||
adps = addons.module.ad_paths
|
||||
adps = addons.module.ad_paths
|
||||
for adp in adps:
|
||||
dir = os.path.join(adp, styles_dir)
|
||||
if os.path.isdir(dir):
|
||||
return dir
|
||||
if os.path.isdir(dir):
|
||||
return dir
|
||||
return False
|
||||
|
||||
def _get_file_data(filename):
|
||||
|
|
@ -46,48 +45,48 @@ class res_company(osv.osv):
|
|||
return data
|
||||
except:
|
||||
print "Error openening file '%s'." % (filename)
|
||||
return False
|
||||
|
||||
return False
|
||||
|
||||
path = _get_dir()
|
||||
fname = os.path.join(path, img)
|
||||
fname = os.path.join(path, img)
|
||||
img_data = _get_file_data(fname)
|
||||
return img_data
|
||||
|
||||
|
||||
def _get_rml_header(self, cr, uid, ids, _field_name, _args, context=None):
|
||||
result = dict.fromkeys(ids, False)
|
||||
# Get filename
|
||||
dirname = 'cam_reports/report'
|
||||
adps = addons.module.ad_paths
|
||||
adps = addons.module.ad_paths
|
||||
for adp in adps:
|
||||
dir = os.path.join(adp, dirname)
|
||||
if os.path.isdir(dir):
|
||||
break
|
||||
|
||||
|
||||
if os.path.isdir(dir):
|
||||
filename = os.path.join(dir, 'briefkopf.rml')
|
||||
filename = os.path.join(dir, 'briefkopf.rml')
|
||||
f = open(filename , 'rb')
|
||||
data = f.read()
|
||||
result = dict.fromkeys(ids, data)
|
||||
return result
|
||||
|
||||
|
||||
def _get_rml_header2(self, cr, uid, ids, _field_name, _args, context=None):
|
||||
result = dict.fromkeys(ids, False)
|
||||
# Get filename
|
||||
dirname = 'cam_reports/report'
|
||||
adps = addons.module.ad_paths
|
||||
adps = addons.module.ad_paths
|
||||
for adp in adps:
|
||||
dir = os.path.join(adp, dirname)
|
||||
if os.path.isdir(dir):
|
||||
break
|
||||
|
||||
|
||||
if os.path.isdir(dir):
|
||||
filename = os.path.join(dir, 'page.rml')
|
||||
filename = os.path.join(dir, 'page.rml')
|
||||
f = open(filename , 'rb')
|
||||
data = f.read()
|
||||
result = dict.fromkeys(ids, data)
|
||||
return result
|
||||
|
||||
|
||||
_columns = {
|
||||
'rml_header': fields.function(_get_rml_header, type='text', string='Briefkopf',readonly=True),
|
||||
'rml_header2': fields.function(_get_rml_header2, type='text', string='RML Header',readonly=True),
|
||||
}
|
||||
'rml_header': fields.function(_get_rml_header, type='text', string='Briefkopf', readonly=True),
|
||||
'rml_header2': fields.function(_get_rml_header2, type='text', string='RML Header', readonly=True),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,81 +1,81 @@
|
|||
<?xml version="1.0"?>
|
||||
<document filename="Rechnung.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Sale Order" author="Camadeus Consulting" allowSplitting="20">
|
||||
<template pageSize="(595.0,842.0)" title="Sale Order" author="datenpol gmbh" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="15.0" y1="42.0" width="539" height="758"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
|
||||
|
||||
<story>
|
||||
|
||||
|
||||
<para>
|
||||
<seqReset id="L1"/>
|
||||
</para>
|
||||
<para>[[repeatIn(objects,'o')]] [[ setLang(o.partner_id.commercial_partner_id.lang)]]</para>
|
||||
|
||||
<blockTable colWidths="270,85,145" style="Struktur">
|
||||
<tr>
|
||||
<td>
|
||||
<section>
|
||||
<para style="fett">[[ o.partner_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.commercial_partner_id.id != o.partner_id.id and o.partner_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.zip) or '' ]] [[ (o.partner_id and o.partner_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.state_id and o.partner_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_id.country_id and o.partner_id.country_id.name) or '' ]]</para>
|
||||
<!-- Für Sichtfenster -->
|
||||
<section>[[ not (o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.ref) or removeParentNode('section') ]]
|
||||
<para style="normal"> </para>
|
||||
</section>
|
||||
</section>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">Datum:</para>
|
||||
<para style="normal">Quelldokument:</para>
|
||||
<para style="normal">Kundenreferenz:</para>
|
||||
<!--<para style="normal">Kundennummer:</para>-->
|
||||
<para style="normal">Kunde UID Nr.:</para>
|
||||
<para style="normal">Ansprechpartner:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ formatLang(o.date_invoice,date = True) ]] </para>
|
||||
<para style="normal">[[ o.origin ]] </para>
|
||||
<para style="normal">[[ o.name ]] </para>
|
||||
<!--<para style="normal">[[ o.partner_id.commercial_partner_id.ref ]] </para>-->
|
||||
<para style="normal">[[ o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.vat or '' ]] </para>
|
||||
<para style="normal">[[ (o.user_id and o.user_id.name) or '' ]] </para>
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<td>
|
||||
<section>[[ (o.partner_shipping_id and o.partner_shipping_id.id != o.partner_id.id) or removeParentNode('section')]]
|
||||
<spacer length="0.5cm"/>
|
||||
<para style="normal">Lieferadresse:</para>
|
||||
<para style="normal">[[ o.partner_shipping_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.commercial_partner_id.id != o.partner_shipping_id.id and o.partner_shipping_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.zip) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name) or '' ]]</para>
|
||||
</section>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
</blockTable>
|
||||
|
||||
<blockTable colWidths="270,85,145" style="Struktur">
|
||||
<tr>
|
||||
<td>
|
||||
<section>
|
||||
<para style="fett">[[ o.partner_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.commercial_partner_id.id != o.partner_id.id and o.partner_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.zip) or '' ]] [[ (o.partner_id and o.partner_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.state_id and o.partner_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_id.country_id and o.partner_id.country_id.name) or '' ]]</para>
|
||||
<!-- Für Sichtfenster -->
|
||||
<section>[[ not (o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.ref) or removeParentNode('section') ]]
|
||||
<para style="normal"> </para>
|
||||
</section>
|
||||
</section>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">Datum:</para>
|
||||
<para style="normal">Quelldokument:</para>
|
||||
<para style="normal">Kundenreferenz:</para>
|
||||
<!--<para style="normal">Kundennummer:</para>-->
|
||||
<para style="normal">Kunde UID Nr.:</para>
|
||||
<para style="normal">Ansprechpartner:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ formatLang(o.date_invoice,date = True) ]] </para>
|
||||
<para style="normal">[[ o.origin ]] </para>
|
||||
<para style="normal">[[ o.name ]] </para>
|
||||
<!--<para style="normal">[[ o.partner_id.commercial_partner_id.ref ]] </para>-->
|
||||
<para style="normal">[[ o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.vat or '' ]] </para>
|
||||
<para style="normal">[[ (o.user_id and o.user_id.name) or '' ]] </para>
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<td>
|
||||
<section>[[ (o.partner_shipping_id and o.partner_shipping_id.id != o.partner_id.id) or removeParentNode('section')]]
|
||||
<spacer length="0.5cm"/>
|
||||
<para style="normal">Lieferadresse:</para>
|
||||
<para style="normal">[[ o.partner_shipping_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.commercial_partner_id.id != o.partner_shipping_id.id and o.partner_shipping_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.zip) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name) or '' ]]</para>
|
||||
</section>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
</blockTable>
|
||||
|
||||
<spacer length="1.0cm"/>
|
||||
|
||||
|
||||
<para style="ueberschrift2"><b>Rechnung [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</b></para>
|
||||
<para style="ueberschrift2"><b>PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma2') or removeParentNode('para')) and '' ]]</b></para>
|
||||
<para style="ueberschrift2"><b>Rechnungsentwurf [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</b></para>
|
||||
|
|
@ -83,134 +83,134 @@
|
|||
<para style="ueberschrift2"><b>Stornorechnung [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</b></para>
|
||||
<para style="ueberschrift2"><b>Stornorechnung [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</b></para>
|
||||
<para style="ueberschrift2"><b>Rechnung [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]] [[ o.number ]]</b></para>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="30,57,170,75,63,40,75" repeatRows="1" style="TabelleHaupt" hAlign="LEFT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="tabelle_header">Pos</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header">Art.nr.</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_links">Bezeichnung</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_links">Menge</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_rechts">Einzelpreis</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_rechts">Gesamtpreis</para>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>[[repeatIn(o.invoice_line,'line')]]
|
||||
<td>
|
||||
<para style="tabelle_daten_center" leftIndent="0" bulletIndent="0" size="8.0">
|
||||
<seq id="L1"/>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_center">[[ line.product_id and line.product_id.default_code or '']]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[ (line.name or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((line.name or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="tabelle_daten_links">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[formatLang(line.quantity, digits=2)[-2:]=='00' and formatLang(line.quantity, digits=0) or formatLang(line.quantity, digits=2)]] [[ line.uos_id.name ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_rechts">[[ formatLang(line.price_unit,digits=2) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_rechts">[[ line.discount <> 0 and (formatLang(line.discount) + '%') or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_rechts">[[ formatLang(line.price_subtotal,digits=2 ) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<blockTable colWidths="210,200,100" style="TabelleSchlussrechnung">
|
||||
<tr>
|
||||
<td>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">Zwischensumme in €</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">[[ formatLang(o.amount_untaxed,digits=2 )]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>[[ repeatIn(o.tax_line,'tax') ]]
|
||||
<td>
|
||||
<para style="schlussrechnung"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">MwSt. [[tax.name.split(" ")[0] or ""]] in €</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">[[ formatLang(tax.tax_amount) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung_fett">Rechnungsbetrag in €</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung_fett">[[ formatLang(o.amount_total,digits=2 ) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">Rechnungsbetrag inkl. Skonto in €</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">[[ (o.skonto_betrag_inkl and formatLang(o.skonto_betrag_inkl,digits=2)) or removeParentNode('tr') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<para style="normal">[[ (o.comment or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((o.comment or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="normal">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
<blockTable colWidths="30,57,170,75,63,40,75" repeatRows="1" style="TabelleHaupt" hAlign="LEFT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="tabelle_header">Pos</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header">Art.nr.</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_links">Bezeichnung</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_links">Menge</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_rechts">Einzelpreis</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_rechts">Gesamtpreis</para>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="110,390" style="Struktur" hAlign="LEFT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Zahlungsbedingungen:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ (o.payment_term and o.payment_term.note) or removeParentNode('blockTable') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<!--
|
||||
<tr>[[repeatIn(o.invoice_line,'line')]]
|
||||
<td>
|
||||
<para style="tabelle_daten_center" leftIndent="0" bulletIndent="0" size="8.0">
|
||||
<seq id="L1"/>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_center">[[ line.product_id and line.product_id.default_code or '']]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[ (line.name or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((line.name or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="tabelle_daten_links">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[formatLang(line.quantity, digits=2)[-2:]=='00' and formatLang(line.quantity, digits=0) or formatLang(line.quantity, digits=2)]] [[ line.uos_id.name ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_rechts">[[ formatLang(line.price_unit,digits=2) ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_rechts">[[ line.discount <> 0 and (formatLang(line.discount) + '%') or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_rechts">[[ formatLang(line.price_subtotal,digits=2 ) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<blockTable colWidths="210,200,100" style="TabelleSchlussrechnung">
|
||||
<tr>
|
||||
<td>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">Zwischensumme in €</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">[[ formatLang(o.amount_untaxed,digits=2 )]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>[[ repeatIn(o.tax_line,'tax') ]]
|
||||
<td>
|
||||
<para style="schlussrechnung"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">MwSt. [[tax.name.split(" ")[0] or ""]] in €</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">[[ formatLang(tax.tax_amount) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung_fett">Rechnungsbetrag in €</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung_fett">[[ formatLang(o.amount_total,digits=2 ) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">Rechnungsbetrag inkl. Skonto in €</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="schlussrechnung">[[ (o.skonto_betrag_inkl and formatLang(o.skonto_betrag_inkl,digits=2)) or removeParentNode('tr') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<para style="normal">[[ (o.comment or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((o.comment or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="normal">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="110,390" style="Struktur" hAlign="LEFT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Zahlungsbedingungen:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ (o.payment_term and o.payment_term.note) or removeParentNode('blockTable') ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<!--
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="500" style="Struktur" hAlign="LEFT">
|
||||
|
|
@ -231,6 +231,6 @@
|
|||
</tr>
|
||||
</blockTable>
|
||||
-->
|
||||
|
||||
|
||||
</story>
|
||||
</document>
|
||||
|
|
|
|||
|
|
@ -1,123 +1,123 @@
|
|||
<?xml version="1.0"?>
|
||||
<document filename="Picking_Auftrag.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Picking Auftrag" author="www.camadeus.at" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="15.0" y1="42.0" width="539" height="758"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
|
||||
<story>
|
||||
|
||||
<para>
|
||||
<seqReset id="L1"/>
|
||||
</para>
|
||||
|
||||
<para>[[ repeatIn(objects,'o') ]] [[ o.partner_id and setLang(o.partner_id.lang) ]]</para>
|
||||
|
||||
<blockTable colWidths="260,260" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">AUFTRAGSNUMMER: [[ o.origin or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal_rechts"></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<blockTable colWidths="292,100,126" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="fett"></para>
|
||||
<!--
|
||||
<spacer length="0.5cm"/>
|
||||
<para style="fett">Fertigung für:</para>
|
||||
<para style="normal">KEINE partner_id in mrp.production!</para>
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<spacer length="0.2cm"/>
|
||||
<para style="normal">[[ o.partner_id.commercial_partner_id.name ]]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.commercial_partner_id.id != o.partner_id.id and o.partner_id.name) or '' ]] </para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.street ) or '']]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.street2) or removeParentNode('para') ]]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.zip) or '' ]] [[ (o.partner_id and o.partner_id.city) or '' ]]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.state_id and o.partner_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.country_id and o.partner_id.country_id.name) or '' ]]</para>
|
||||
<spacer length="0.5cm"/>
|
||||
-->
|
||||
</td>
|
||||
<td>
|
||||
<spacer length="1.0cm"/>
|
||||
<para style="normal_center"></para>
|
||||
</td>
|
||||
<td>
|
||||
<spacer length="1.0cm"/>
|
||||
<para style="normal_rechts"></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="292,226" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal_big"><b>FERTIGUNG: [[ o.name ]]</b></para>
|
||||
<spacer length="0.2cm"/>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal_rechts_big">DATUM: [[ formatLang(o.date_planned,date=True) or formatLang(time.strftime('%Y-%m-%d'),date=True) ]]</para>
|
||||
<spacer length="0.2cm"/>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="100, 210,210" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="tabelle_daten_links"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links"><b>Fertigungsartikel: [[ (o.product_id.default_code and '['+o.product_id.default_code+']') or '']] [[ o.product_id.name ]]</b></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links"><b>Zu fertigende Menge: [[ o.product_qty ]]</b></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="100, 210,210" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">Bestandteile:</para>
|
||||
<spacer length="0.2cm"/>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">Artikel</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">Menge</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>[[repeatIn(o.move_lines,'line')]]
|
||||
<td>
|
||||
<para style="tabelle_daten_links"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[ (line.product_id.default_code and '['+line.product_id.default_code+']') or '']] [[ line.product_id.name]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[ line.product_qty ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
</story>
|
||||
</document>
|
||||
<?xml version="1.0"?>
|
||||
<document filename="Picking_Auftrag.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Picking Auftrag" author="datenpol gmbh" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="15.0" y1="42.0" width="539" height="758"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
|
||||
<story>
|
||||
|
||||
<para>
|
||||
<seqReset id="L1"/>
|
||||
</para>
|
||||
|
||||
<para>[[ repeatIn(objects,'o') ]] [[ o.partner_id and setLang(o.partner_id.lang) ]]</para>
|
||||
|
||||
<blockTable colWidths="260,260" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">AUFTRAGSNUMMER: [[ o.origin or '' ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal_rechts"></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<blockTable colWidths="292,100,126" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="fett"></para>
|
||||
<!--
|
||||
<spacer length="0.5cm"/>
|
||||
<para style="fett">Fertigung für:</para>
|
||||
<para style="normal">KEINE partner_id in mrp.production!</para>
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<spacer length="0.2cm"/>
|
||||
<para style="normal">[[ o.partner_id.commercial_partner_id.name ]]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.commercial_partner_id.id != o.partner_id.id and o.partner_id.name) or '' ]] </para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.street ) or '']]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.street2) or removeParentNode('para') ]]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.zip) or '' ]] [[ (o.partner_id and o.partner_id.city) or '' ]]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.state_id and o.partner_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<spacer length="0.1cm"/>
|
||||
<para style="normal">[[ (o.partner_id.country_id and o.partner_id.country_id.name) or '' ]]</para>
|
||||
<spacer length="0.5cm"/>
|
||||
-->
|
||||
</td>
|
||||
<td>
|
||||
<spacer length="1.0cm"/>
|
||||
<para style="normal_center"></para>
|
||||
</td>
|
||||
<td>
|
||||
<spacer length="1.0cm"/>
|
||||
<para style="normal_rechts"></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
<blockTable colWidths="292,226" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal_big"><b>FERTIGUNG: [[ o.name ]]</b></para>
|
||||
<spacer length="0.2cm"/>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal_rechts_big">DATUM: [[ formatLang(o.date_planned,date=True) or formatLang(time.strftime('%Y-%m-%d'),date=True) ]]</para>
|
||||
<spacer length="0.2cm"/>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="100, 210,210" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="tabelle_daten_links"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links"><b>Fertigungsartikel: [[ (o.product_id.default_code and '['+o.product_id.default_code+']') or '']] [[ o.product_id.name ]]</b></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links"><b>Zu fertigende Menge: [[ o.product_qty ]]</b></para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="100, 210,210" style="Struktur" hAlign="RIGHT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">Bestandteile:</para>
|
||||
<spacer length="0.2cm"/>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">Artikel</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">Menge</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>[[repeatIn(o.move_lines,'line')]]
|
||||
<td>
|
||||
<para style="tabelle_daten_links"></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[ (line.product_id.default_code and '['+line.product_id.default_code+']') or '']] [[ line.product_id.name]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[ line.product_qty ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
</story>
|
||||
</document>
|
||||
|
|
|
|||
|
|
@ -1,130 +1,130 @@
|
|||
<?xml version="1.0"?>
|
||||
<document filename="Auftrag.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Sale Order" author="Camadeus Consulting" allowSplitting="20">
|
||||
<template pageSize="(595.0,842.0)" title="Sale Order" author="datenpol gmbh" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="15.0" y1="42.0" width="539" height="758"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
|
||||
<story>
|
||||
|
||||
|
||||
<para>
|
||||
<seqReset id="L1"/>
|
||||
</para>
|
||||
<para>[[repeatIn(objects,'o')]] [[ setLang(o.partner_id.commercial_partner_id.lang)]]</para>
|
||||
|
||||
<blockTable colWidths="270,230" style="Struktur">
|
||||
<tr>
|
||||
<td>
|
||||
<section>
|
||||
<para style="fett">[[ o.partner_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.commercial_partner_id.id != o.partner_id.id and o.partner_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.zip) or '' ]] [[ (o.partner_id and o.partner_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.state_id and o.partner_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_id.country_id and o.partner_id.country_id.name) or '' ]]</para>
|
||||
<!-- Für Sichtfenster -->
|
||||
|
||||
<section>[[ not (o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.ref) or removeParentNode('section') ]]
|
||||
<para style="normal"> </para>
|
||||
</section>
|
||||
|
||||
<section>[[ (o.partner_shipping_id and o.partner_shipping_id.id != o.partner_id.id) or removeParentNode('section')]]
|
||||
<spacer length="1.5cm"/>
|
||||
<para style="normal">Lieferadresse:</para>
|
||||
<para style="normal">[[ o.partner_shipping_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.commercial_partner_id.id != o.partner_shipping_id.id and o.partner_shipping_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.zip) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name) or '' ]]</para>
|
||||
</section>
|
||||
</section>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<blockTable colWidths="85,145" style="Struktur">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Angebotsdatum:[[ o.state not in ['draft','sent'] and removeParentNode('para') ]]</para>
|
||||
<para style="normal">Bestelldatum:[[ o.state in ['draft','sent'] and removeParentNode('para') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ formatLang(o.date_order,date = True) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Quelldokument:[[ o.state not in ['draft','sent'] and removeParentNode('tr') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ o.origin ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Kundennummer:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ o.client_order_ref ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Kunde UID Nr.:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.vat or '' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Ansprechpartner:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ (o.user_id and o.user_id.name) or '' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<td>
|
||||
<section>[[ (o.partner_shipping_id and o.partner_shipping_id.id != o.partner_id.id) or removeParentNode('section')]]
|
||||
<spacer length="0.5cm"/>
|
||||
<para style="normal">Lieferadresse:</para>
|
||||
<para style="normal">[[ o.partner_shipping_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.commercial_partner_id.id != o.partner_shipping_id.id and o.partner_shipping_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.zip) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name) or '' ]]</para>
|
||||
</section>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
</blockTable>
|
||||
|
||||
|
||||
<blockTable colWidths="270,230" style="Struktur">
|
||||
<tr>
|
||||
<td>
|
||||
<section>
|
||||
<para style="fett">[[ o.partner_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.commercial_partner_id.id != o.partner_id.id and o.partner_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.zip) or '' ]] [[ (o.partner_id and o.partner_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_id.state_id and o.partner_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_id.country_id and o.partner_id.country_id.name) or '' ]]</para>
|
||||
<!-- Für Sichtfenster -->
|
||||
|
||||
<section>[[ not (o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.ref) or removeParentNode('section') ]]
|
||||
<para style="normal"> </para>
|
||||
</section>
|
||||
|
||||
<section>[[ (o.partner_shipping_id and o.partner_shipping_id.id != o.partner_id.id) or removeParentNode('section')]]
|
||||
<spacer length="1.5cm"/>
|
||||
<para style="normal">Lieferadresse:</para>
|
||||
<para style="normal">[[ o.partner_shipping_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.commercial_partner_id.id != o.partner_shipping_id.id and o.partner_shipping_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.zip) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name) or '' ]]</para>
|
||||
</section>
|
||||
</section>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<blockTable colWidths="85,145" style="Struktur">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Angebotsdatum:[[ o.state not in ['draft','sent'] and removeParentNode('para') ]]</para>
|
||||
<para style="normal">Bestelldatum:[[ o.state in ['draft','sent'] and removeParentNode('para') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ formatLang(o.date_order,date = True) ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Quelldokument:[[ o.state not in ['draft','sent'] and removeParentNode('tr') ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ o.origin ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Kundennummer:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ o.client_order_ref ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Kunde UID Nr.:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ o.partner_id.commercial_partner_id and o.partner_id.commercial_partner_id.vat or '' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Ansprechpartner:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ (o.user_id and o.user_id.name) or '' ]]</para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
</td>
|
||||
</tr>
|
||||
<!--
|
||||
<tr>
|
||||
<td>
|
||||
<section>[[ (o.partner_shipping_id and o.partner_shipping_id.id != o.partner_id.id) or removeParentNode('section')]]
|
||||
<spacer length="0.5cm"/>
|
||||
<para style="normal">Lieferadresse:</para>
|
||||
<para style="normal">[[ o.partner_shipping_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.commercial_partner_id.id != o.partner_shipping_id.id and o.partner_shipping_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.zip) or '' ]] [[ (o.partner_shipping_id and o.partner_shipping_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name) or '' ]]</para>
|
||||
</section>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal"> </para>
|
||||
</td>
|
||||
</tr>
|
||||
-->
|
||||
</blockTable>
|
||||
|
||||
<spacer length="1.0cm"/>
|
||||
|
||||
|
||||
<section>
|
||||
<para style="ueberschrift2"><b>[[ o.state not in ['draft','sent'] and removeParentNode('para') ]] Angebot [[ o.name ]]</b></para>
|
||||
<para style="ueberschrift2"><b>[[ o.state in ['draft','sent'] and removeParentNode('para') ]] Bestellbestätigung [[ o.name ]]</b></para>
|
||||
</section>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
|
||||
<blockTable colWidths="30,57,170,75,63,40,75" repeatRows="1" style="TabelleHaupt" hAlign="LEFT">
|
||||
<tr>
|
||||
<td>
|
||||
|
|
@ -138,7 +138,7 @@
|
|||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_links">Menge</para>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_rechts">Einzelpreis</para>
|
||||
</td>
|
||||
|
|
@ -149,12 +149,12 @@
|
|||
<para style="tabelle_header_rechts">Gesamtpreis</para>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>[[repeatIn(o.order_line,'line')]]
|
||||
<td>
|
||||
<para style="tabelle_daten_center" leftIndent="0" bulletIndent="0" size="8.0">
|
||||
<seq id="L1"/>
|
||||
</para>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_center">[[ line.product_id and line.product_id.default_code or '']]</para>
|
||||
|
|
@ -162,13 +162,13 @@
|
|||
<td>
|
||||
<para style="tabelle_daten_links">[[ (line.name or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((line.name or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="tabelle_daten_links">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="tabelle_daten_links">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[ formatLang(line.product_uos and line.product_uos_qty or line.product_uom_qty, digits=0) ]] [[ line.product_uom.name ]]</para>
|
||||
</td>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_rechts">[[ formatLang(line.price_unit,digits=2) ]]</para>
|
||||
</td>
|
||||
|
|
@ -180,7 +180,7 @@
|
|||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
|
||||
<blockTable colWidths="210,200,100" style="TabelleSchlussrechnung">
|
||||
<tr>
|
||||
<td>
|
||||
|
|
@ -232,13 +232,13 @@
|
|||
|
||||
<para style="normal">[[ (o.note or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((o.note or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="normal">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="normal">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="110,390" style="Struktur" hAlign="LEFT">
|
||||
|
||||
<blockTable colWidths="110,390" style="Struktur" hAlign="LEFT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="normal">Zahlungsbedingungen:</para>
|
||||
|
|
@ -248,8 +248,8 @@
|
|||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<!--
|
||||
|
||||
<!--
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="500" style="Struktur" hAlign="LEFT">
|
||||
|
|
@ -270,6 +270,6 @@
|
|||
</tr>
|
||||
</blockTable>
|
||||
-->
|
||||
|
||||
|
||||
</story>
|
||||
</document>
|
||||
|
|
|
|||
|
|
@ -1,101 +1,101 @@
|
|||
<?xml version="1.0"?>
|
||||
<document filename="Lieferschein.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Sale Order" author="Camadeus Consulting" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="15.0" y1="42.0" width="539" height="758"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
|
||||
<story>
|
||||
|
||||
<para>
|
||||
<seqReset id="L1"/>
|
||||
</para>
|
||||
<para>[[ repeatIn(objects,'picking') ]] [[ picking.partner_id and setLang(picking.partner_id.lang) ]]</para>
|
||||
|
||||
<blockTable colWidths="270,85,145" style="Struktur">
|
||||
<tr>
|
||||
<td>
|
||||
<section>
|
||||
<para style="fett">[[ picking.partner_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (picking.partner_id.commercial_partner_id.id != picking.partner_id.id and picking.partner_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (picking.partner_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (picking.partner_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (picking.partner_id.zip) or '' ]] [[ (picking.partner_id and picking.partner_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (picking.partner_id.state_id and picking.partner_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (picking.partner_id.country_id and picking.partner_id.country_id.name) or '' ]]</para>
|
||||
<!-- Für Sichtfenster -->
|
||||
<section>[[ not (picking.partner_id.commercial_partner_id and picking.partner_id.commercial_partner_id.ref) or removeParentNode('section') ]]
|
||||
<para style="normal"> </para>
|
||||
</section>
|
||||
</section>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">Datum:</para>
|
||||
<para style="normal">Bestellung:</para>
|
||||
<para style="normal">Kundenreferenz:</para>
|
||||
<para style="normal">Kundennr.:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ formatLang(picking.date_done, date=True) or formatLang(time.strftime('%Y-%m-%d'),date=True) ]] </para>
|
||||
<para style="normal">[[ picking.origin ]] </para>
|
||||
<para style="normal">[[ picking.sale_id and picking.sale_id.client_order_ref or '' ]] </para>
|
||||
<para style="normal">[[ picking.partner_id and picking.partner_id.commercial_partner_id and picking.partner_id.commercial_partner_id.ref or '' ]] </para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="1.0cm"/>
|
||||
|
||||
<para style="ueberschrift">Lieferschein [[ picking.name ]]</para>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="30,80,304,80" repeatRows="1" style="TabelleHaupt" hAlign="LEFT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="tabelle_header">Pos</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header">Art.nr.</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_links">Bezeichnung</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header">Menge</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>[[ repeatIn([line for line in picking.move_lines if line.state <> 'cancel'],'move_lines') ]]
|
||||
<td>
|
||||
<para style="tabelle_daten_center" leftIndent="0" bulletIndent="0" size="8.0">
|
||||
<seq id="L1"/>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_center">[[ move_lines.product_id.default_code ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[ (move_lines.name or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((move_lines.name or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="tabelle_daten_links">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_center">[[ formatLang(move_lines.product_qty, digits=0) ]] </para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<para style="normal">[[ (picking.note or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((picking.note or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="normal">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
|
||||
</story>
|
||||
</document>
|
||||
<?xml version="1.0"?>
|
||||
<document filename="Lieferschein.pdf">
|
||||
<template pageSize="(595.0,842.0)" title="Sale Order" author="datenpol gmbh" allowSplitting="20">
|
||||
<pageTemplate id="first">
|
||||
<frame id="first" x1="15.0" y1="42.0" width="539" height="758"/>
|
||||
</pageTemplate>
|
||||
</template>
|
||||
|
||||
<story>
|
||||
|
||||
<para>
|
||||
<seqReset id="L1"/>
|
||||
</para>
|
||||
<para>[[ repeatIn(objects,'picking') ]] [[ picking.partner_id and setLang(picking.partner_id.lang) ]]</para>
|
||||
|
||||
<blockTable colWidths="270,85,145" style="Struktur">
|
||||
<tr>
|
||||
<td>
|
||||
<section>
|
||||
<para style="fett">[[ picking.partner_id.commercial_partner_id.name ]]</para>
|
||||
<para style="normal">[[ (picking.partner_id.commercial_partner_id.id != picking.partner_id.id and picking.partner_id.name) or '' ]] </para>
|
||||
<para style="normal">[[ (picking.partner_id.street ) or '']]</para>
|
||||
<para style="normal">[[ (picking.partner_id.street2) or removeParentNode('para') ]]</para>
|
||||
<para style="normal">[[ (picking.partner_id.zip) or '' ]] [[ (picking.partner_id and picking.partner_id.city) or '' ]]</para>
|
||||
<para style="normal">[[ (picking.partner_id.state_id and picking.partner_id.state_id.name) or removeParentNode('para')]]</para>
|
||||
<para style="normal">[[ (picking.partner_id.country_id and picking.partner_id.country_id.name) or '' ]]</para>
|
||||
<!-- Für Sichtfenster -->
|
||||
<section>[[ not (picking.partner_id.commercial_partner_id and picking.partner_id.commercial_partner_id.ref) or removeParentNode('section') ]]
|
||||
<para style="normal"> </para>
|
||||
</section>
|
||||
</section>
|
||||
<para></para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">Datum:</para>
|
||||
<para style="normal">Bestellung:</para>
|
||||
<para style="normal">Kundenreferenz:</para>
|
||||
<para style="normal">Kundennr.:</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="normal">[[ formatLang(picking.date_done, date=True) or formatLang(time.strftime('%Y-%m-%d'),date=True) ]] </para>
|
||||
<para style="normal">[[ picking.origin ]] </para>
|
||||
<para style="normal">[[ picking.sale_id and picking.sale_id.client_order_ref or '' ]] </para>
|
||||
<para style="normal">[[ picking.partner_id and picking.partner_id.commercial_partner_id and picking.partner_id.commercial_partner_id.ref or '' ]] </para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="1.0cm"/>
|
||||
|
||||
<para style="ueberschrift">Lieferschein [[ picking.name ]]</para>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<blockTable colWidths="30,80,304,80" repeatRows="1" style="TabelleHaupt" hAlign="LEFT">
|
||||
<tr>
|
||||
<td>
|
||||
<para style="tabelle_header">Pos</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header">Art.nr.</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header_links">Bezeichnung</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_header">Menge</para>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>[[ repeatIn([line for line in picking.move_lines if line.state <> 'cancel'],'move_lines') ]]
|
||||
<td>
|
||||
<para style="tabelle_daten_center" leftIndent="0" bulletIndent="0" size="8.0">
|
||||
<seq id="L1"/>
|
||||
</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_center">[[ move_lines.product_id.default_code ]]</para>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_links">[[ (move_lines.name or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((move_lines.name or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="tabelle_daten_links">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
</td>
|
||||
<td>
|
||||
<para style="tabelle_daten_center">[[ formatLang(move_lines.product_qty, digits=0) ]] </para>
|
||||
</td>
|
||||
</tr>
|
||||
</blockTable>
|
||||
|
||||
<spacer length="0.5cm"/>
|
||||
|
||||
<para style="normal">[[ (picking.note or '').split('\n\n')[0] ]]</para>
|
||||
<section>[[ repeatIn((picking.note or '').split('\n\n')[1:],'paragraphs') ]]
|
||||
<spacer length="0.4cm"/>
|
||||
<para style="normal">[[ paragraphs ]]</para>
|
||||
</section>
|
||||
|
||||
</story>
|
||||
</document>
|
||||
|
|
|
|||
Loading…
Reference in New Issue