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