Small fix for formatting in reports
[odoo/odoo.git] / addons / sale / report / order.rml
1 <?xml version="1.0"?>
2 <document filename="test.pdf">
3   <template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
4     <pageTemplate id="first">
5       <frame id="first" x1="34.0" y1="42.0" width="527" height="758"/>
6     </pageTemplate>
7   </template>
8   <stylesheet>
9     <blockTableStyle id="Standard_Outline">
10       <blockAlignment value="LEFT"/>
11       <blockValign value="TOP"/>
12     </blockTableStyle>
13     <blockTableStyle id="Tableau1">
14       <blockAlignment value="LEFT"/>
15       <blockValign value="TOP"/>
16     </blockTableStyle>
17     <blockTableStyle id="Tableau2">
18       <blockAlignment value="LEFT"/>
19       <blockValign value="TOP"/>
20       <lineStyle kind="GRID" colorName="black"/>
21       <blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
22       <blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
23       <blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
24       <blockBackground colorName="#e6e6e6" start="3,0" stop="3,0"/>
25       <blockBackground colorName="#e6e6e6" start="4,0" stop="4,0"/>
26       <blockBackground colorName="#e6e6e6" start="5,0" stop="5,0"/>
27     </blockTableStyle>
28     <blockTableStyle id="Tableau3">
29       <blockAlignment value="LEFT"/>
30       <blockValign value="TOP"/>
31     </blockTableStyle>
32     <blockTableStyle id="Tableau5">
33       <blockAlignment value="LEFT"/>
34       <blockValign value="TOP"/>
35     </blockTableStyle>
36     <blockTableStyle id="Tableau6">
37       <blockAlignment value="LEFT"/>
38       <blockValign value="TOP"/>
39     </blockTableStyle>
40     <blockTableStyle id="Tableau4">
41       <blockAlignment value="LEFT"/>
42       <blockValign value="TOP"/>
43     </blockTableStyle>
44     <initialize>
45       <paraStyle name="all" alignment="justify"/>
46     </initialize>
47     <paraStyle name="P1" fontName="Times-Roman" fontSize="9.0" leading="11"/>
48     <paraStyle name="P2" fontName="Times-Bold" fontSize="9.0" leading="11"/>
49     <paraStyle name="P3" fontName="Times-Roman" fontSize="10.0" leading="13"/>
50     <paraStyle name="P4" fontName="Times-Roman" fontSize="10.0" leading="13"/>
51     <paraStyle name="P5" fontName="Times-Roman" fontSize="4.0" leading="5"/>
52     <paraStyle name="P6" fontName="Times-Bold" fontSize="9.0" leading="11"/>
53     <paraStyle name="P7" fontName="Times-Roman" fontSize="11.0" leading="14"/>
54     <paraStyle name="P8" fontName="Times-Roman" fontSize="11.0" leading="14"/>
55     <paraStyle name="P9" fontName="Times-Roman" fontSize="4.0" leading="5"/>
56     <paraStyle name="P10" fontName="Times-Roman"/>
57     <paraStyle name="P11" fontName="Times-Roman" fontSize="16.0" leading="20"/>
58     <paraStyle name="P12" fontName="Times-Roman" fontSize="11.0" leading="14"/>
59     <paraStyle name="P13" fontName="Times-Bold" fontSize="8.0" leading="10"/>
60     <paraStyle name="P14" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="CENTER"/>
61     <paraStyle name="P15" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="RIGHT"/>
62     <paraStyle name="P16" fontName="Times-BoldItalic" fontSize="6.0" leading="8" alignment="LEFT"/>
63     <paraStyle name="P17" fontName="Times-Roman" fontSize="9.0" leading="11" alignment="LEFT"/>
64     <paraStyle name="P18" fontName="Times-Roman" fontSize="9.0" leading="11" alignment="CENTER"/>
65     <paraStyle name="P19" fontName="Times-Roman" fontSize="9.0" leading="11" alignment="RIGHT"/>
66     <paraStyle name="P20" fontName="Times-BoldItalic" fontSize="9.0" leading="11" alignment="LEFT"/>
67     <paraStyle name="P21" fontName="Times-Italic" fontSize="9.0" leading="11" alignment="LEFT"/>
68     <paraStyle name="P22" fontName="Times-Roman" fontSize="7.0" leading="9"/>
69     <paraStyle name="P23" fontName="Times-Bold" fontSize="9.0" leading="11" alignment="RIGHT"/>
70     <paraStyle name="P24" fontName="Times-Roman" fontSize="7.0" leading="9"/>
71     <paraStyle name="P25" fontName="Times-Bold" fontSize="9.0" leading="11" alignment="RIGHT"/>
72     <paraStyle name="P26" fontName="Times-Bold" fontSize="9.0" leading="11"/>
73     <paraStyle name="P27" fontName="Times-Roman" alignment="LEFT"/>
74     <paraStyle name="P28" fontName="Times-Roman" alignment="LEFT"/>
75     <paraStyle name="Standard" fontName="Times-Roman"/>
76     <paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
77     <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
78     <paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
79     <paraStyle name="Table Contents" fontName="Times-Roman"/>
80     <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
81     <paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
82     <paraStyle name="Index" fontName="Times-Roman"/>
83   </stylesheet>
84   <story>
85     <para style="P1">[[ repeatIn(objects,'o') ]] <font face="Times-Roman">[[ setLang(o.partner_id.lang) ]]</font></para>
86     <blockTable colWidths="257.0,50.0,220.0" style="Tableau1">
87       <tr>
88         <td>
89           <para style="P2">Shipping address :</para>
90           <para style="P3">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
91           <para style="P3">[[ o.partner_shipping_id.title or '' ]] [[ o.partner_shipping_id.name ]]</para>
92           <para style="P3">[[ o.partner_shipping_id.street ]]</para>
93           <para style="P3">[[ o.partner_shipping_id.street2 or '' ]]</para>
94           <para style="P4"><font face="Times-Roman">[[ o.partner_shipping_id.zip or '' ]]</font> [[ o.partner_shipping_id.city or '' ]]</para>
95           <para style="P4">[[ o.partner_shipping_id.state_id and o.partner_shipping_id.state_id.name or '' ]]</para>
96           <para style="P4">[[ o.partner_shipping_id.country_id and o.partner_shipping_id.country_id.name or '' ]]</para>
97           <para style="P5">
98             <font color="white"> </font>
99           </para>
100           <para style="P6">Invoice address :</para>
101           <para style="P4">[[ o.partner_invoice_id.street ]][[ o.partner_invoice_id.street2 and ', %s' % o.partner_invoice_id.street2 or '' ]]</para>
102           <para style="P4">[[ o.partner_invoice_id.zip or '' ]] [[ o.partner_invoice_id.city or '' ]] [[ ', %s' % (o.partner_invoice_id.country_id and o.partner_invoice_id.country_id.name or '') ]]</para>
103         </td>
104         <td>
105           <para style="P7">
106             <font color="white"> </font>
107           </para>
108         </td>
109         <td>
110           <para style="P8">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
111           <para style="P8">[[ o.partner_order_id.title or '' ]] [[ o.partner_order_id.name ]]</para>
112           <para style="P8">[[ o.partner_order_id.street ]]</para>
113           <para style="P8">[[ o.partner_order_id.street2 or '' ]]</para>
114           <para style="P8">[[ o.partner_order_id.zip or '' ]] [[ o.partner_order_id.city or '' ]]</para>
115           <para style="P8">[[ o.partner_order_id.state_id and o.partner_order_id.state_id.name or '' ]]</para>
116           <para style="P8">[[ o.partner_order_id.country_id and o.partner_order_id.country_id.name or '' ]]</para>
117           <para style="P9">
118             <font color="white"> </font>
119           </para>
120           <para style="P3">Tel. : [[ o.partner_order_id.phone or '' ]]</para>
121           <para style="P3">Fax : [[ o.partner_order_id.fax or '' ]]</para>
122           <para style="P3">VAT : [[ o.partner_id.vat or '' ]]</para>
123         </td>
124       </tr>
125     </blockTable>
126     <para style="P10">
127       <font color="white"> </font>
128     </para>
129     <para style="P11">[[ o.state=='draft' and 'Quotation ' or 'Order ' ]] N° : [[ o.name ]]</para>
130     <para style="P11">
131       <font color="white"> </font>
132     </para>
133     <para style="P12">Your order reference : [[ o.client_order_ref or '' ]]</para>
134     <para style="P12">Date ordered : [[ time.strftime('%d/%m/%Y', time.strptime(o.date_order, '%Y-%m-%d')) ]]</para>
135     <para style="P12">Our salesman : [[ o.user_id.name ]]</para>
136     <para style="P10">
137       <font color="white"> </font>
138     </para>
139     <blockTable colWidths="270.0,63.0,56.0,32.0,52.0,55.0" repeatRows="1" style="Tableau2">
140       <tr>
141         <td>
142           <para style="P13">Product Description</para>
143         </td>
144         <td>
145           <para style="P14">Applicable Taxes</para>
146         </td>
147         <td>
148           <para style="P15">Qty</para>
149         </td>
150         <td>
151           <para style="P13">Disc.</para>
152         </td>
153         <td>
154           <para style="P13">Unit Price</para>
155         </td>
156         <td>
157           <para style="P13">Net Price</para>
158         </td>
159       </tr>
160     </blockTable>
161     <section>
162       <para style="P16">[[ repeatIn(o.order_line,'line') ]]</para>
163       <blockTable colWidths="270.0,63.0,56.0,32.0,52.0,54.0" style="Tableau3">
164         <tr>
165           <td>
166             <para style="P17">[[ line.name ]]</para>
167           </td>
168           <td>
169             <para style="P18">[[ ', '.join(map(lambda x: x.name, line.tax_id))]]</para>
170           </td>
171           <td>
172             <para style="P19">[[ '%.2f' % line.product_uos_qty or '%.2f' % line.product_uom_qty ]] [[ line.product_uos and line.product_uos.name or line.product_uom.name ]]</para>
173           </td>
174           <td>
175             <para style="P17">[[ (line.discount and str(line.discount)+'%')or '' ]]</para>
176           </td>
177           <td>
178             <para style="P19">[[ '%.2f' % line.price_unit ]]</para>
179           </td>
180           <td>
181             <para style="P19">[[ '%.2f' % line.price_subtotal ]]</para>
182           </td>
183         </tr>
184       </blockTable>
185       <blockTable colWidths="52.0,366.0,110.0" style="Tableau5">
186         <tr>
187           <td>
188             <para style="P20">[[ repeatIn((line.notes and [line.notes]) or [], 'l') ]]</para>
189           </td>
190           <td>
191             <para style="P21">[[ l ]] [[ setTag('para','xpre') ]]</para>
192           </td>
193           <td>
194             <para style="P20">
195               <font color="white"> </font>
196             </para>
197           </td>
198         </tr>
199       </blockTable>
200     </section>
201     <blockTable colWidths="349.0,69.0,110.0" style="Tableau6">
202       <tr>
203         <td>
204           <para style="P22">
205             <font color="white"> </font>
206           </para>
207         </td>
208         <td>
209           <para style="P23">Net Total :</para>
210         </td>
211         <td>
212           <para style="P23">[[ '%.2f' % o.amount_untaxed ]] [[ o.pricelist_id.currency_id.name ]]</para>
213         </td>
214       </tr>
215       <tr>
216         <td>
217           <para style="P22">
218             <font color="white"> </font>
219           </para>
220         </td>
221         <td>
222           <para style="P23">Taxes :</para>
223         </td>
224         <td>
225           <para style="P23">[[ '%.2f' % o.amount_tax ]] [[ o.pricelist_id.currency_id.name ]]</para>
226         </td>
227       </tr>
228       <tr>
229         <td>
230           <para style="P24">
231             <font color="white"> </font>
232           </para>
233         </td>
234         <td>
235           <para style="P25">TOTAL :</para>
236         </td>
237         <td>
238           <para style="P25">[[ '%.2f' % o.amount_total ]] [[ o.pricelist_id.currency_id.name ]]</para>
239         </td>
240       </tr>
241     </blockTable>
242     <para style="P26">
243       <font color="white"> </font>
244     </para>
245     <blockTable colWidths="527.0" style="Tableau4">
246       <tr>
247         <td>
248           <para style="P27">[[ o.note or '' ]] [[ setTag('para','xpre') ]]</para>
249         </td>
250       </tr>
251       <tr>
252         <td>
253           <para style="P27">[[ 'xpre' and o.partner_id.property_payment_term and o.partner_id.property_payment_term[1] ]] [[ setTag('para','xpre') ]]</para>
254         </td>
255       </tr>
256     </blockTable>
257     <para style="P28">
258       <font color="white"> </font>
259     </para>
260   </story>
261 </document>
262