[IMP]:improved Picking List with same sxw..
[odoo/odoo.git] / addons / stock / report / picking.rml
1 <?xml version="1.0"?>
2 <document filename="test.pdf">
3   <template pageSize="(595.0,842.0)" title="Picking List" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
4     <pageTemplate id="first">
5       <frame id="first" x1="0.0" y1="57.0" width="538" height="728"/>
6     </pageTemplate>
7   </template>
8   <stylesheet>
9     <blockTableStyle id="Standard_Outline">
10       <blockAlignment value="LEFT"/>
11       <blockValign value="TOP"/>
12     </blockTableStyle>
13     <blockTableStyle id="Table_Address_detail">
14       <blockAlignment value="LEFT"/>
15       <blockValign value="TOP"/>
16     </blockTableStyle>
17     <blockTableStyle id="Table_Title_String">
18       <blockAlignment value="LEFT"/>
19       <blockValign value="TOP"/>
20     </blockTableStyle>
21     <blockTableStyle id="Header_Order_Reference_Tbl">
22       <blockAlignment value="LEFT"/>
23       <blockValign value="TOP"/>
24       <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
25       <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
26       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
27       <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
28       <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
29       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
30       <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
31       <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
32       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
33       <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
34       <lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
35       <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
36       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
37     </blockTableStyle>
38     <blockTableStyle id="Content_Order_Reference_Table">
39       <blockAlignment value="LEFT"/>
40       <blockValign value="TOP"/>
41       <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
42       <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
43       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
44       <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
45       <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
46       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
47       <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
48       <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
49       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
50       <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
51       <lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
52       <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
53       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
54     </blockTableStyle>
55     <blockTableStyle id="Move_Line_Header">
56       <blockAlignment value="LEFT"/>
57       <blockValign value="TOP"/>
58       <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
59       <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
60       <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
61       <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
62       <lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
63     </blockTableStyle>
64     <blockTableStyle id="Move_Line_Contect_Assign_State">
65       <blockAlignment value="LEFT"/>
66       <blockValign value="TOP"/>
67       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
68       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
69       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
70       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
71       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
72     </blockTableStyle>
73     <blockTableStyle id="Move_Line_Content_Other_State">
74       <blockAlignment value="LEFT"/>
75       <blockValign value="TOP"/>
76       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
77       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
78       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
79       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
80       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
81     </blockTableStyle>
82     <initialize>
83       <paraStyle name="all" alignment="justify"/>
84     </initialize>
85     <paraStyle name="Standard" fontName="Helvetica"/>
86     <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
87     <paraStyle name="Text body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
88     <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
89     <paraStyle name="Caption" fontName="Helvetica-Oblique" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
90     <paraStyle name="Index" fontName="Helvetica"/>
91     <paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
92     <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
93     <paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
94     <paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
95     <paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
96     <paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
97     <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
98     <paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
99     <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
100     <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
101     <paraStyle name="Table Contents" fontName="Helvetica"/>
102     <paraStyle name="Footer" fontName="Helvetica"/>
103     <paraStyle name="Table Heading" fontName="Helvetica" alignment="CENTER"/>
104     <paraStyle name="Horizontal Line" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
105     <paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
106     <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
107     <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
108     <paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
109     <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
110     <paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
111     <paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
112     <paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
113     <paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
114     <paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
115     <paraStyle name="terp_default_5cm_Above_Space" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="0.0"/>
116     <paraStyle name="terp_default_1cm_above_space" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="3.0" spaceAfter="0.0"/>
117     <images/>
118   </stylesheet>
119   <story>
120     <para style="terp_default_8">[[repeatIn(objects,'picking')]] </para>
121     <para style="terp_default_9">
122       <font color="white"> </font>
123     </para>
124     <blockTable colWidths="269.0,269.0" style="Table_Address_detail">
125       <tr>
126         <td>
127           <para style="terp_default_9">[[ (picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.title) or '' ]] [[ picking.address_id and picking.address_id.partner_id and picking.address_id.partner_id.name ]]</para>
128           <para style="terp_default_9">[[ picking.address_id and picking.address_id.street or '' ]]</para>
129           <para style="terp_default_9">[[ (picking.address_id and picking.address_id.street2) or removeParentNode('para') ]]</para>
130           <para style="terp_default_9">[[ picking.address_id and picking.address_id.zip or '' ]] [[ picking.address_id and picking.address_id.city or '' ]]</para>
131           <para style="terp_default_9">[[ (picking.address_id and picking.address_id.state_id and picking.address_id.state_id.name) or removeParentNode('para') ]]</para>
132           <para style="terp_default_9">[[ (picking.address_id and picking.address_id.country_id and picking.address_id.country_id.name) or '' ]]</para>
133         </td>
134         <td>
135           <para style="terp_default_9">[[ picking.address_id and picking.address_id.title or '' ]] [[ picking.address_id and picking.address_id.name or '' ]]</para>
136           <para style="terp_default_9">[[ picking.address_id and picking.address_id.street or '' ]]</para>
137           <para style="terp_default_9">[[ (picking.address_id and picking.address_id.street2) or removeParentNode('para') ]]</para>
138           <para style="terp_default_9">[[ picking.address_id and picking.address_id.zip or '' ]] [[ picking.address_id and picking.address_id.city or '' ]]</para>
139           <para style="terp_default_9">[[ (picking.address_id and picking.address_id.state_id and picking.address_id.state_id.name) or removeParentNode('para') ]]</para>
140           <para style="terp_default_9">[[ (picking.address_id and picking.address_id.country_id and picking.address_id.country_id.name) or '' ]]</para>
141         </td>
142       </tr>
143     </blockTable>
144     <para style="terp_default_5cm_Above_Space">
145       <font color="white"> </font>
146     </para>
147     <para style="terp_default_5cm_Above_Space">
148       <font color="white"> </font>
149     </para>
150     <para style="terp_default_5cm_Above_Space">
151       <font color="white"> </font>
152     </para>
153     <blockTable colWidths="538.0" style="Table_Title_String">
154       <tr>
155         <td>
156           <para style="terp_header">Packing List: [[ picking.name ]]</para>
157         </td>
158       </tr>
159     </blockTable>
160     <para style="terp_default_5cm_Above_Space">
161       <font color="white"> </font>
162     </para>
163     <para style="terp_default_5cm_Above_Space">
164       <font color="white"> </font>
165     </para>
166     <blockTable colWidths="123.0,134.0,133.0,134.0" style="Header_Order_Reference_Tbl">
167       <tr>
168         <td>
169           <para style="terp_tblheader_General_Centre">Order(Origin)</para>
170         </td>
171         <td>
172           <para style="terp_tblheader_General_Centre">Recipient</para>
173         </td>
174         <td>
175           <para style="terp_tblheader_General_Centre">Expected Shipping Date </para>
176         </td>
177         <td>
178           <para style="terp_tblheader_General_Centre">weight</para>
179         </td>
180       </tr>
181     </blockTable>
182     <blockTable colWidths="123.0,134.0,133.0,134.0" style="Content_Order_Reference_Table">
183       <tr>
184         <td>
185           <para style="terp_default_Centre_8">[[ picking.origin or '']]</para>
186         </td>
187         <td>
188           <para style="terp_default_Centre_8">[[ (picking.address_id and picking.address_id.title) or '' ]] [[ (picking.address_id and and picking.address_id.name) or '' ]] </para>
189         </td>
190         <td>
191           <para style="terp_default_Centre_8">[[ formatLang(picking.min_date,date_time = True) ]]</para>
192         </td>
193         <td>
194           <para style="terp_default_Centre_8">[[ 'weight' in picking._columns.keys() and picking.weight or '']]</para>
195         </td>
196       </tr>
197     </blockTable>
198     <para style="terp_default_5cm_Above_Space">
199       <font color="white"> </font>
200     </para>
201     <blockTable colWidths="256.0,73.0,59.0,59.0,71.0" repeatRows="1" style="Move_Line_Header">
202       <tr>
203         <td>
204           <para style="terp_tblheader_Details">Description</para>
205         </td>
206         <td>
207           <para style="terp_tblheader_Details_Centre">Lot</para>
208         </td>
209         <td>
210           <para style="terp_tblheader_Details">State</para>
211         </td>
212         <td>
213           <para style="terp_tblheader_Details_Centre">Quantity</para>
214         </td>
215         <td>
216           <para style="terp_tblheader_Details_Centre">Location</para>
217         </td>
218       </tr>
219     </blockTable>
220     <section>
221       <para style="terp_default_8">[[ repeatIn([line for line in picking.move_lines if (line.state == 'confirmed' or line.state=='done' or line.state=='assigned')],'move_lines') ]]</para>
222       [[ picking.move_lines or removeParentNode('section')]]
223       <blockTable colWidths="256.0,74.0,58.0,60.0,73.0" style="Move_Line_Contect_Assign_State">
224         <tr>
225           <td>
226             <para style="terp_default_9"><font face="Helvetica" size="9.0">[ [[ (move_lines.product_id.default_code) or removeParentNode('font') ]] ]</font> [[ move_lines.product_id.name ]] [[ move_lines.product_id.variants or '']] </para>
227           </td>
228           <td>
229             <para style="terp_default_Centre_9">[[ (move_lines.prodlot_id and move_lines.prodlot_id.name) or '' ]]</para>
230           </td>
231           <td>
232             <para style="terp_default_9">[[ move_lines.state ]]</para>
233           </td>
234           <td>
235             <para style="terp_default_Right_9">[[ move_lines.product_qty ]] [[ move_lines.product_uom.name ]] </para>
236           </td>
237           <td>
238             <para style="terp_default_Centre_9">[[ (move_lines.location_id and move_lines.location_id.name) or '' ]]</para>
239           </td>
240         </tr>
241       </blockTable>
242     </section>
243     <para style="terp_default_Bold_9">[[ ([line for line in picking.move_lines if (line.state == 'draft' or line.state=='waiting' )]) and 'Non Assigned Products:' or removeParentNode('para') ]]</para>
244     <section>
245       <para style="terp_default_8">[[ repeatIn([line for line in picking.move_lines if (line.state == 'draft' or line.state=='waiting')],'move_lines') ]] </para>
246       [[ picking.move_lines or removeParentNode('section')]]
247       <blockTable colWidths="256.0,74.0,57.0,61.0,72.0" style="Move_Line_Content_Other_State">
248         <tr>
249           <td>
250             <para style="terp_default_9"><font face="Helvetica" size="9.0">[ [[ (move_lines.product_id.default_code) or removeParentNode('font') ]] ]</font> [[ move_lines.product_id.name ]] [[ move_lines.product_id.variants or '']]</para>
251           </td>
252           <td>
253             <para style="terp_default_Centre_9">[[ (move_lines.prodlot_id and move_lines.prodlot_id.name) or '' ]]</para>
254           </td>
255           <td>
256             <para style="terp_default_9">[[ move_lines.state ]]</para>
257           </td>
258           <td>
259             <para style="terp_default_Right_9">[[ move_lines.product_qty ]] [[ move_lines.product_uom.name ]] </para>
260           </td>
261           <td>
262             <para style="terp_default_Centre_9">[[ (move_lines.location_id and move_lines.location_id.name) or '' ]]</para>
263           </td>
264         </tr>
265       </blockTable>
266       <para style="terp_default_2">
267         <font color="white"> </font>
268       </para>
269     </section>
270   </story>
271 </document>