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