[FIX] Schedule jobs even if their next time has passed.
[odoo/odoo.git] / addons / l10n_ch / report / invoice_report.rml
1 <?xml version="1.0"?>
2 <document filename="test.pdf">
3   <docinit>
4      <registerFont fontFile="/tmp/ocrbb.ttf"  expr="{'fontFile':str(police_absolute_path('addons/l10n_ch/report/ocrbb.ttf'))}"  fontName="ocrb"   />
5   </docinit>
6   <template pageSize="(210.0mm,297.0mm)" title="Test" author="Martin Simon" allowSplitting="20">
7       <pageTemplate id="first">
8           <frame id="first" x1="24.0" y1="111.5mm" width="190mm" height="142mm" last="1"/>
9           <pageGraphics>
10               <image x="13.15cm" y="25.5cm"  height="2.05cm" >[[company.logo or '']]</image>
11               <setFont name="Helvetica" size="7"/>
12           </pageGraphics>
13           <frame id="Frame1"
14               expr="{'height':str(111+(company.bvr_delta_vert or 0.0))+'mm', 'x1': str((company.bvr_delta_horz or 0.0))+'mm'}"
15               x1="0mm"
16               y1="-5"
17               width="210mm"
18               height="111mm"/>
19       </pageTemplate>
20   </template>
21  <stylesheet>
22      <blockTableStyle id="Standard_Outline">
23        <blockAlignment value="LEFT"/>
24        <blockValign value="TOP"/>
25      </blockTableStyle>
26      <blockTableStyle id="Tableau2">
27        <blockAlignment value="LEFT"/>
28        <blockValign value="TOP"/>
29      </blockTableStyle>
30      <blockTableStyle id="Tableau6">
31        <blockAlignment value="LEFT"/>
32        <blockValign value="TOP"/>
33        <blockBackground colorName="#e6e6e6" start="0,0" stop="4,0"/>
34        <blockRightPadding length="0.0" />
35      </blockTableStyle>
36      <blockTableStyle id="Tableau7">
37        <blockAlignment value="LEFT"/>
38        <blockValign value="TOP"/>
39        <blockBottomPadding length="0.0" />
40        <blockRightPadding length="0.0" />
41      </blockTableStyle>
42      <blockTableStyle id="Tableau8">
43        <blockAlignment value="LEFT"/>
44        <blockValign value="TOP"/>
45        <blockLeading length="0.0" />
46        <blockTopPadding length="0.0" />
47      </blockTableStyle>
48      <blockTableStyle id="Tableau3">
49        <blockRightPadding length="0.0" />
50        <blockAlignment value="LEFT"/>
51        <blockValign value="TOP"/>
52        <blockBackground colorName="#e6e6e6" start="0,1" stop="2,1"/>
53      </blockTableStyle>
54      <blockTableStyle id="Tableau4">
55        <blockAlignment value="LEFT"/>
56        <blockValign value="TOP"/>
57        <blockBackground colorName="#e6e6e6" start="0,0" stop="2,0"/>
58      </blockTableStyle>
59      <blockTableStyle id="Tableau5">
60        <blockAlignment value="LEFT"/>
61        <blockValign value="TOP"/>
62      </blockTableStyle>
63      <initialize>
64        <paraStyle name="all" alignment="justify"  fontSize="9.0"/>
65      </initialize>
66      <paraStyle name="P1" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="6.0"/>
67      <paraStyle name="P2" fontName="Helvetica" fontSize="9.0" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
68      <paraStyle name="P3" fontName="Helvetica" fontSize="9.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
69      <paraStyle name="P4" fontName="Helvetica" fontSize="9.0" spaceBefore="0.0" spaceAfter="6.0"/>
70      <paraStyle name="P5" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
71      <paraStyle name="P6" fontName="Helvetica" fontSize="9.0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
72      <paraStyle name="P7" fontName="Helvetica" alignment="RIGHT"  fontSize="9.0" spaceBefore="0.0" spaceAfter="3.0"/>
73      <paraStyle name="Table Contents" fontName="Helvetica"  fontSize="9.0" spaceBefore="3.0" spaceAfter="0.0"/>
74      <paraStyle name="P8" fontName="Helvetica" leading="7" fontSize="7.0" spaceBefore="0.0" spaceAfter="0.0"/>
75      <paraStyle name="P9" fontName="Helvetica" fontSize="9.0" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
76      <paraStyle name="P10" fontName="Helvetica-Bold" fontSize="9.0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
77      <paraStyle name="P11" fontName="Helvetica" fontSize="9.0" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
78      <paraStyle name="P12" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
79      <paraStyle name="P13" fontName="Helvetica" fontSize="9.0" leading="17" alignment="LEFT"/>
80      <paraStyle name="P14" fontName="Helvetica" fontSize="9.0" leading="17" alignment="CENTER"/>
81      <paraStyle name="P15" fontName="Helvetica" fontSize="9.0" leading="14"/>
82      <paraStyle name="P16" fontName="Helvetica" fontSize="9.0" leading="12" alignment="LEFT"/>
83      <paraStyle name="P17" fontName="Helvetica-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
84      <paraStyle name="P19" fontName="Helvetica" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
85      <paraStyle name="P20" fontName="Helvetica-Bold" fontSize="16.0" leading="25" alignment="LEFT"/>
86      <paraStyle name="P21" fontName="Helvetica" fontSize="16.0" leading="25" alignment="LEFT"/>
87      <paraStyle name="P22" fontName="Helvetica" fontSize="9.0" leading="14" alignment="LEFT"/>
88      <paraStyle name="P23" fontName="Helvetica-Bold" fontSize="9.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
89      <paraStyle name="P24" fontName="Helvetica-Bold" fontSize="9.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
90      <paraStyle name="Standard" fontName="Helvetica"/>
91      <paraStyle name="StandardBold" fontName="Helvetica-Bold"/>
92      <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
93      <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
94      <paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
95      <paraStyle name="Caption" fontName="Helvetica" fontSize="9.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
96      <paraStyle name="Index" fontName="Helvetica"/>
97    </stylesheet>
98   <story>
99       <para style="P1">[[ repeatIn(objects,'o') ]]</para>
100       <para style="P1">[[ setLang(o.partner_id.lang) ]]</para>
101       <para style="Standard">[[ o.partner_id.title or '' ]][[ o.partner_id.name ]]</para>
102       <para style="StandardBold">[[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]]</para>
103             <para style="Standard">[[ o.address_invoice_id.street ]]</para>
104             <para style="Standard">[[ o.address_invoice_id.street2 or '' ]]</para>
105             <para style="Standard">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para>
106             <para style="Standard"><font color="white"> </font></para>
107             <para style="Standard"><font color="white"> </font></para>
108
109       <para style="P20">Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
110       <para style="P20">Deposit [[ ((o.type == 'out_deposit' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
111       <para style="P20">PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma') or removeParentNode('para')) and '' ]]</para>
112       <para style="P20">Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</para>
113       <para style="P20">Canceled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]]</para>
114       <para style="P20">Refund [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
115       <para style="P20">Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
116       <para style="P20">
117         <font face="Helvetica">Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]]</font>
118         <font face="Helvetica">[[ o.number ]]</font>
119       </para>
120       <para style="P15">
121         [[o.name]]
122       </para>
123       <para style="P14">
124         <font color="white"> </font>
125       </para>
126       <blockTable colWidths="8cm,8cm" style="Tableau7">
127         <tr>
128           <td>
129   <para style="P2">
130         <font face="Helvetica">Invoice Date: </font>
131         <font face="Helvetica">[[ formatLang(o.date_invoice, date=True) ]]</font>
132       </para>
133           </td>
134           <td>
135           <para style="P6">
136                   <font>[[ (o.payment_term and o.payment_term.name) or '' ]]</font>
137                   <font>[[ (o.date_due and o.date_invoice) and removeParentNode('font') ]], until the [[ formatLang(o.date_due,date=True) ]]</font>
138           </para>
139           </td>
140             </tr>
141       </blockTable>
142
143       <para style="Standard">
144         <font color="white"> </font>
145       </para>
146       <blockTable colWidths="7.5cm,2.5cm,3cm,3cm" style="Tableau6">
147         <tr>
148           <td>
149             <para style="P23">Description</para>
150           </td>
151           <td>
152             <para style="P24">Quantity</para>
153           </td>
154           <td>
155             <para style="P24">Unit Price</para>
156           </td>
157           <td>
158             <para style="P24">Price</para>
159           </td>
160         </tr>
161       </blockTable>
162       <section>[[repeatIn(o.invoice_line,'l') ]]
163         <para style="P17"></para>
164
165         <blockTable colWidths="7.5cm,2.5cm,3cm,3cm" style="Tableau7">
166           <tr>
167             <td>
168               <para style="Table Contents">[[ l.name ]]</para>
169             </td>
170             <td>
171               <para style="P7">[[ '%.2f' % l.quantity ]] [[l.uos_id and l.uos_id.name or '' ]]</para>
172             </td>
173             <td>
174               <para style="P7">[[ formatLang(l.price_unit) ]]</para>
175             </td>
176             <td>
177               <para style="P7">[[ formatLang(l.price_subtotal) ]] [[o.currency_id.code ]]</para>
178             </td>
179           </tr>
180         </blockTable>
181
182         <section> [[ repeatIn((l.note ) or [], 'note') ]]
183         <blockTable colWidths="0.3cm,15.7cm" style="Tableau8">
184            
185           <tr>
186             <td>
187               <para style="P8"></para>
188             </td>
189             <td>
190               <para style="P8">[[ note or removeParentNode('blockTable') ]]</para>
191             </td>
192           </tr>
193         </blockTable>
194           </section>
195       </section>
196       <para style="P17">
197         <font color="white"> </font>
198       </para>
199       <blockTable colWidths="9cm,7cm" style="Tableau3">
200         <tr>
201           <td>
202             <blockTable colWidths="3.2cm,3.1cm,2.7cm" style="Tableau4">
203               <tr>
204                 <td>
205                   <para style="P9">Tax</para>
206                 </td>
207                 <td>
208                   <para style="P7">Base</para>
209                 </td>
210                 <td>
211                   <para style="P7">Amount</para>
212                 </td>
213               </tr>
214               <tr>
215                 <td>
216                   <para style="P4"><font face="Helvetica">[[ repeatIn(o.tax_line,'t') ]]</font> [[ t.name ]]</para>
217                 </td>
218                 <td>
219                   <para style="P10">[[ formatLang(t.base) ]]</para>
220                 </td>
221                 <td>
222                   <para style="P10">[[ formatLang(t.amount)]]</para>
223                 </td>
224               </tr>
225             </blockTable>
226           </td>
227           <td>
228             <blockTable colWidths="4cm,3cm" style="Tableau5">
229               <tr>
230                 <td>
231                   <para style="P6">Total (excl. taxes):</para>
232                 </td>
233                 <td>
234                   <para style="P11">[[ formatLang(o.amount_untaxed) ]] [[o.currency_id.code ]]</para>
235                 </td>
236               </tr>
237               <tr>
238                 <td>
239                   <para style="P6">Taxes:</para>
240                 </td>
241                 <td>
242                   <para style="P11">[[ formatLang(o.amount_tax) ]] [[o.currency_id.code ]]</para>
243                 </td>
244               </tr>
245               <tr>
246                 <td>
247                   <para style="P10">Total <font face="Helvetica">(incl. taxes):</font></para>
248                 </td>
249                 <td>
250                   <para style="P10">[[  formatLang(o.amount_total)  ]] [[o.currency_id.code ]]</para>
251                 </td>
252               </tr>
253             </blockTable>
254           </td>
255         </tr>
256       </blockTable>
257       <para style="P17"><font color="white"></font></para>
258       <para style="P16">Avec nos vifs remerciements,</para>
259       <para style="P17"><font color="white"></font></para>
260         
261     <!-- end of core -->
262       <currentFrame name="Frame1"/>
263     <!--
264         Width: 2.3inch, 5.9inch
265         Height: 4*1/6 inch
266     -->
267     <illustration width="210mm" height="106mm">
268         <setFont name="Helvetica" size="11"/>
269         <drawString x="2mm" y="93mm">[[ o.partner_bank and o.partner_bank.printbank and o.partner_bank.bank and o.partner_bank.bank.name or '' ]]</drawString>
270         <drawString x="2mm" y="88mm">[[ o.partner_bank and o.partner_bank.printbank and o.partner_bank.bank and o.partner_bank.bank.zip or '']] [[ o.partner_bank and o.partner_bank.printbank and o.partner_bank.bank and o.partner_bank.bank.city or '']]</drawString>
271
272         <drawString x="62mm" y="93mm">[[ o.partner_bank and o.partner_bank.printbank and o.partner_bank.bank and o.partner_bank.bank.name or '' ]]</drawString>
273         <drawString x="62mm" y="88mm">[[ o.partner_bank and o.partner_bank.printbank and o.partner_bank.bank and o.partner_bank.bank.zip or '']] [[ o.partner_bank and o.partner_bank.printbank and o.partner_bank.bank and o.partner_bank.bank.city or '']]</drawString>
274         <drawString x="2mm" y="78mm"> [[user.company_id.name]]</drawString>
275         <drawString x="2mm" y="73mm"> [[ user.company_id.partner_id.address[0].street ]]</drawString>
276        <!-- <drawString x="2mm" y="68mm"> [[ (user.company_id.partner_id.address[0].street2 or '')]]</drawString> -->
277         <drawString x="2mm" y="68mm"> [[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]]</drawString>
278
279         <drawString x="62mm" y="78mm">[[user.company_id.name]]</drawString>
280         <drawString x="62mm" y="73mm">[[ user.company_id.partner_id.address[0].street ]]</drawString>
281       <!--  <drawString x="62mm" y="68mm">[[ (user.company_id.partner_id.address[0].street2 or '')]]</drawString> -->
282         <drawString x="62mm" y="68mm">[[ user.company_id.partner_id.address[0].zip ]] [[ user.company_id.partner_id.address[0].city ]]</drawString>
283
284         <setFont name="ocrb" size="9"/>
285
286         <drawString x="2mm" y="35mm">  [[ o.partner_id.name ]]</drawString>
287         <drawString x="2mm" y="30mm">  [[ o.address_invoice_id.street ]]</drawString>
288         <drawString x="2mm" y="25mm">  [[ (o.address_invoice_id.street2 or '')]]</drawString>
289         <drawString x="2mm" y="20mm">  [[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]]</drawString>
290
291         <drawString x="2mm" y="40mm">  [[ _get_ref(o) ]]</drawString>
292
293         <drawString x="126mm" y="50mm">[[ o.partner_id.name ]]</drawString>
294         <drawString x="126mm" y="45mm">[[ o.address_invoice_id.street ]]</drawString>
295         <drawString x="126mm" y="40mm">[[ (o.address_invoice_id.street2 or '')]]</drawString>
296         <drawString x="126mm" y="35mm">[[ o.address_invoice_id.zip ]] [[ o.address_invoice_id.city ]]</drawString>
297
298
299         <setFont name="ocrb" size="11"/>
300         
301         <drawString x="124mm" y="67mm">[[ _space(_get_ref(o)) ]]</drawString>
302
303         <setFont name="ocrb" size="12"/>
304         <drawRightString x="52 mm" y="59.3mm">[[ o.partner_bank and o.partner_bank.printaccount and o.partner_bank.bvr_number or '' ]]</drawRightString>
305         <drawRightString x="112mm" y="59.3mm">[[ o.partner_bank and o.partner_bank.printaccount and o.partner_bank.bvr_number or '' ]]</drawRightString>
306         <drawRightString x="42mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[:-3], 1) + ' ' ]]</drawRightString>
307         <drawRightString x="104mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[:-3], 1) + ' ' ]]</drawRightString>
308
309         <drawRightString x="58mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[-2:], 1) + ' ' ]]</drawRightString>
310         <drawRightString x="119mm" y="50mm">[[ _space(('%.2f' % o.amount_total)[-2:], 1) + ' ' ]]</drawRightString>
311
312
313         <!--
314             Exact value: y=17.6mm
315         -->
316
317         <setFont name="ocrb" size="12"/>
318     <drawRightString x="197.5mm" y="17mm">[[mod10r('01'+str('%.2f' % o.amount_total).replace('.','').rjust(10,'0'))]]&gt;[[ _get_ref(o) ]]+ [[o.partner_bank.bvr_number.split('-')[0]+(str(o.partner_bank.bvr_number.split('-')[1])).rjust(6,'0')+o.partner_bank.bvr_number.split('-')[2] ]]&gt;</drawRightString>
319
320     </illustration>
321
322   </story>
323 </document>