Merge lp:~savoirfairelinux-openerp/openerp-manufacturing/add-industrial-design-bom into lp:openerp-manufacturing
- add-industrial-design-bom
- Merge into 7.0
Proposed by
Jonatan Cloutier
Status: | Superseded |
---|---|
Proposed branch: | lp:~savoirfairelinux-openerp/openerp-manufacturing/add-industrial-design-bom |
Merge into: | lp:openerp-manufacturing |
Diff against target: |
487 lines (+438/-0) 9 files modified
mrp_industrial_design_bom/__init__.py (+24/-0) mrp_industrial_design_bom/__openerp__.py (+39/-0) mrp_industrial_design_bom/i18n/fr.po (+32/-0) mrp_industrial_design_bom/i18n/mrp_industrial_design_bom.pot (+32/-0) mrp_industrial_design_bom/industrial_design.py (+32/-0) mrp_industrial_design_bom/mrp_industrial_design.xml (+29/-0) mrp_industrial_design_bom/report/__init__.py (+23/-0) mrp_industrial_design_bom/report/bom_structure_custom.py (+69/-0) mrp_industrial_design_bom/report/bom_structure_custom.rml (+158/-0) |
To merge this branch: | bzr merge lp:~savoirfairelinux-openerp/openerp-manufacturing/add-industrial-design-bom |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Maxime Chambreuil (http://www.savoirfairelinux.com) | review, no test. | Needs Fixing | |
Alexandre Fayolle - camptocamp | Pending | ||
Review via email:
|
This proposal supersedes a proposal from 2013-04-03.
This proposal has been superseded by a proposal from 2013-04-11.
Commit message
Description of the change
Add a module that add the fields 'Bubble Number' and 'RefDes' (reference description) to a component in BoM view that is useful for some industrial design.
To post a comment you must log in.
Revision history for this message

Alexandre Fayolle - camptocamp (alexandre-fayolle-c2c) wrote : Posted in a previous version of this proposal | # |
review:
Needs Resubmitting
Revision history for this message

Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote : | # |
line 200: you have an indentation problem.
Otherwise, it looks good to me.
review:
Needs Fixing
(review, no test.)
- 6. By Jonatan Cloutier
-
Fix xml indentation
- 7. By Jonatan Cloutier
-
rename bom_structure_
custom by bom_structure_ industrial_ design
Unmerged revisions
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added directory 'mrp_industrial_design_bom' |
2 | === added file 'mrp_industrial_design_bom/__init__.py' |
3 | --- mrp_industrial_design_bom/__init__.py 1970-01-01 00:00:00 +0000 |
4 | +++ mrp_industrial_design_bom/__init__.py 2013-04-11 20:49:20 +0000 |
5 | @@ -0,0 +1,24 @@ |
6 | +# -*- encoding: utf-8 -*- |
7 | +############################################################################## |
8 | +# |
9 | +# OpenERP, Open Source Management Solution |
10 | +# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>). |
11 | +# |
12 | +# This program is free software: you can redistribute it and/or modify |
13 | +# it under the terms of the GNU General Public License as |
14 | +# published by the Free Software Foundation, either version 3 of the |
15 | +# License, or (at your option) any later version. |
16 | +# |
17 | +# This program is distributed in the hope that it will be useful, |
18 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
19 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
20 | +# GNU General Public License for more details. |
21 | +# |
22 | +# You should have received a copy of the GNU General Public License |
23 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
24 | +# |
25 | +############################################################################## |
26 | + |
27 | +import industrial_design |
28 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
29 | + |
30 | |
31 | === added file 'mrp_industrial_design_bom/__openerp__.py' |
32 | --- mrp_industrial_design_bom/__openerp__.py 1970-01-01 00:00:00 +0000 |
33 | +++ mrp_industrial_design_bom/__openerp__.py 2013-04-11 20:49:20 +0000 |
34 | @@ -0,0 +1,39 @@ |
35 | +# -*- encoding: utf-8 -*- |
36 | + |
37 | +############################################################################## |
38 | +# |
39 | +# OpenERP, Open Source Management Solution |
40 | +# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>). |
41 | +# |
42 | +# This program is free software: you can redistribute it and/or modify |
43 | +# it under the terms of the GNU Affero General Public License as |
44 | +# published by the Free Software Foundation, either version 3 of the |
45 | +# License, or (at your option) any later version. |
46 | +# |
47 | +# This program is distributed in the hope that it will be useful, |
48 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
49 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
50 | +# GNU Affero General Public License for more details. |
51 | +# |
52 | +# You should have received a copy of the GNU Affero General Public License |
53 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
54 | +# |
55 | +############################################################################## |
56 | + |
57 | +{ |
58 | + 'name' : 'Industrial design specification in BoM', |
59 | + 'version' : '1.0', |
60 | + "author" : "Savoir-faire Linux", |
61 | + "website" : "http://www.savoirfairelinux.com", |
62 | + 'license': 'AGPL-3', |
63 | + 'category' : 'Specific Industry Applications', |
64 | + 'depends' : ['mrp'], |
65 | + "data" : ['mrp_industrial_design.xml'], |
66 | + 'description': """ |
67 | +Add the fields 'Bubble Number' and 'RefDes' (reference description) to a component in BoM view. |
68 | +""", |
69 | + 'auto_install': False, |
70 | + 'installable': True |
71 | +} |
72 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
73 | + |
74 | |
75 | === added directory 'mrp_industrial_design_bom/i18n' |
76 | === added file 'mrp_industrial_design_bom/i18n/fr.po' |
77 | --- mrp_industrial_design_bom/i18n/fr.po 1970-01-01 00:00:00 +0000 |
78 | +++ mrp_industrial_design_bom/i18n/fr.po 2013-04-11 20:49:20 +0000 |
79 | @@ -0,0 +1,32 @@ |
80 | +# Translation of OpenERP Server. |
81 | +# This file contains the translation of the following modules: |
82 | +# * mrp_industrial_design_bom |
83 | +# |
84 | +msgid "" |
85 | +msgstr "" |
86 | +"Project-Id-Version: OpenERP Server 7.0\n" |
87 | +"Report-Msgid-Bugs-To: \n" |
88 | +"POT-Creation-Date: 2013-03-26 16:23+0000\n" |
89 | +"PO-Revision-Date: 2013-03-26 14:00-0500\n" |
90 | +"Last-Translator: Marc Cassuto <marc.cassuto@savoirfairelinux.com>\n" |
91 | +"Language-Team: \n" |
92 | +"MIME-Version: 1.0\n" |
93 | +"Content-Type: text/plain; charset=UTF-8\n" |
94 | +"Content-Transfer-Encoding: 8bit\n" |
95 | +"Plural-Forms: \n" |
96 | + |
97 | +#. module: mrp_industrial_design_bom |
98 | +#: model:ir.model,name:mrp_industrial_design_bom.model_mrp_bom |
99 | +msgid "Bill of Material" |
100 | +msgstr "Nomenclature" |
101 | + |
102 | +#. module: mrp_industrial_design_bom |
103 | +#: field:mrp.bom,refdes:0 |
104 | +msgid "Notes" |
105 | +msgstr "notes" |
106 | + |
107 | +#. module: mrp_industrial_design_bom |
108 | +#: field:mrp.bom,bubble_number:0 |
109 | +msgid "No" |
110 | +msgstr "N°" |
111 | + |
112 | |
113 | === added file 'mrp_industrial_design_bom/i18n/mrp_industrial_design_bom.pot' |
114 | --- mrp_industrial_design_bom/i18n/mrp_industrial_design_bom.pot 1970-01-01 00:00:00 +0000 |
115 | +++ mrp_industrial_design_bom/i18n/mrp_industrial_design_bom.pot 2013-04-11 20:49:20 +0000 |
116 | @@ -0,0 +1,32 @@ |
117 | +# Translation of OpenERP Server. |
118 | +# This file contains the translation of the following modules: |
119 | +# * mrp_industrial_design_bom |
120 | +# |
121 | +msgid "" |
122 | +msgstr "" |
123 | +"Project-Id-Version: OpenERP Server 7.0\n" |
124 | +"Report-Msgid-Bugs-To: \n" |
125 | +"POT-Creation-Date: 2013-03-26 16:23+0000\n" |
126 | +"PO-Revision-Date: 2013-03-26 16:23+0000\n" |
127 | +"Last-Translator: <>\n" |
128 | +"Language-Team: \n" |
129 | +"MIME-Version: 1.0\n" |
130 | +"Content-Type: text/plain; charset=UTF-8\n" |
131 | +"Content-Transfer-Encoding: \n" |
132 | +"Plural-Forms: \n" |
133 | + |
134 | +#. module: mrp_industrial_design_bom |
135 | +#: model:ir.model,name:mrp_industrial_design_bom.model_mrp_bom |
136 | +msgid "Bill of Material" |
137 | +msgstr "" |
138 | + |
139 | +#. module: mrp_industrial_design_bom |
140 | +#: field:mrp.bom,refdes:0 |
141 | +msgid "Notes" |
142 | +msgstr "" |
143 | + |
144 | +#. module: mrp_industrial_design_bom |
145 | +#: field:mrp.bom,bubble_number:0 |
146 | +msgid "No" |
147 | +msgstr "" |
148 | + |
149 | |
150 | === added file 'mrp_industrial_design_bom/industrial_design.py' |
151 | --- mrp_industrial_design_bom/industrial_design.py 1970-01-01 00:00:00 +0000 |
152 | +++ mrp_industrial_design_bom/industrial_design.py 2013-04-11 20:49:20 +0000 |
153 | @@ -0,0 +1,32 @@ |
154 | +# -*- encoding: utf-8 -*- |
155 | +############################################################################## |
156 | +# |
157 | +# OpenERP, Open Source Management Solution |
158 | +# Copyright (C) 2010 Savoir-faire Linux (<http://www.savoirfairelinux.com>). |
159 | +# |
160 | +# This program is free software: you can redistribute it and/or modify |
161 | +# it under the terms of the GNU General Public License as |
162 | +# published by the Free Software Foundation, either version 3 of the |
163 | +# License, or (at your option) any later version. |
164 | +# |
165 | +# This program is distributed in the hope that it will be useful, |
166 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
167 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
168 | +# GNU General Public License for more details. |
169 | +# |
170 | +# You should have received a copy of the GNU General Public License |
171 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
172 | +# |
173 | +############################################################################## |
174 | + |
175 | +from openerp.osv import fields, orm |
176 | + |
177 | +class mrp_bom(orm.Model): |
178 | + _inherit = 'mrp.bom' |
179 | + _columns = { |
180 | + 'bubble_number': fields.integer('No'), |
181 | + 'refdes': fields.text('Notes'), |
182 | + } |
183 | + |
184 | + _order = "bubble_number" |
185 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
186 | |
187 | === added file 'mrp_industrial_design_bom/mrp_industrial_design.xml' |
188 | --- mrp_industrial_design_bom/mrp_industrial_design.xml 1970-01-01 00:00:00 +0000 |
189 | +++ mrp_industrial_design_bom/mrp_industrial_design.xml 2013-04-11 20:49:20 +0000 |
190 | @@ -0,0 +1,29 @@ |
191 | +<?xml version="1.0" ?> |
192 | +<openerp> |
193 | + <data> |
194 | + <delete model="ir.actions.report.xml" search="[('name', '=', 'bom.structure')]" /> |
195 | + <report auto="True" |
196 | + header="False" |
197 | + id="report_custom_bom_structure" |
198 | + model="mrp.bom" |
199 | + name="custom.bom.structure" |
200 | + rml="mrp_industrial_design_bom/report/bom_structure_custom.rml" |
201 | + string="BOM Structure"/> |
202 | + |
203 | + <record model="ir.ui.view" id="mrp_bom_form_view_inherit"> |
204 | + <field name="name">mrp.bom.form.inherit</field> |
205 | + <field name="model">mrp.bom</field> |
206 | + <field name="inherit_id" ref="mrp.mrp_bom_form_view" /> |
207 | + <field name="arch" type="xml"> |
208 | + <xpath expr="/form/notebook/page/field/tree/field[@name='product_id']" position="before"> |
209 | + <field name="bubble_number" /> |
210 | + </xpath> |
211 | + <xpath expr="/form/notebook/page/field/tree/field[@name='date_stop']" position="after"> |
212 | + <field name="refdes" /> |
213 | + </xpath> |
214 | + </field> |
215 | + </record> |
216 | + |
217 | + </data> |
218 | +</openerp> |
219 | + |
220 | |
221 | === added directory 'mrp_industrial_design_bom/report' |
222 | === added file 'mrp_industrial_design_bom/report/__init__.py' |
223 | --- mrp_industrial_design_bom/report/__init__.py 1970-01-01 00:00:00 +0000 |
224 | +++ mrp_industrial_design_bom/report/__init__.py 2013-04-11 20:49:20 +0000 |
225 | @@ -0,0 +1,23 @@ |
226 | +# -*- coding: utf-8 -*- |
227 | + |
228 | +############################################################################## |
229 | +# |
230 | +# OpenERP, Open Source Management Solution |
231 | +# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>). |
232 | +# |
233 | +# This program is free software: you can redistribute it and/or modify |
234 | +# it under the terms of the GNU Affero General Public License as |
235 | +# published by the Free Software Foundation, either version 3 of the |
236 | +# License, or (at your option) any later version. |
237 | +# |
238 | +# This program is distributed in the hope that it will be useful, |
239 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
240 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
241 | +# GNU Affero General Public License for more details. |
242 | +# |
243 | +# You should have received a copy of the GNU Affero General Public License |
244 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
245 | +# |
246 | +############################################################################## |
247 | + |
248 | +import bom_structure_custom |
249 | |
250 | === added file 'mrp_industrial_design_bom/report/bom_structure_custom.odt' |
251 | Binary files mrp_industrial_design_bom/report/bom_structure_custom.odt 1970-01-01 00:00:00 +0000 and mrp_industrial_design_bom/report/bom_structure_custom.odt 2013-04-11 20:49:20 +0000 differ |
252 | === added file 'mrp_industrial_design_bom/report/bom_structure_custom.py' |
253 | --- mrp_industrial_design_bom/report/bom_structure_custom.py 1970-01-01 00:00:00 +0000 |
254 | +++ mrp_industrial_design_bom/report/bom_structure_custom.py 2013-04-11 20:49:20 +0000 |
255 | @@ -0,0 +1,69 @@ |
256 | +## -*- coding: utf-8 -*- |
257 | +############################################################################## |
258 | +# |
259 | +# OpenERP, Open Source Management Solution |
260 | +# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>). |
261 | +# |
262 | +# This program is free software: you can redistribute it and/or modify |
263 | +# it under the terms of the GNU Affero General Public License as |
264 | +# published by the Free Software Foundation, either version 3 of the |
265 | +# License, or (at your option) any later version. |
266 | +# |
267 | +# This program is distributed in the hope that it will be useful, |
268 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
269 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
270 | +# GNU Affero General Public License for more details. |
271 | +# |
272 | +# You should have received a copy of the GNU Affero General Public License |
273 | +# along with this program. If not, see <http://www.gnu.org/licenses/>. |
274 | +# |
275 | +############################################################################## |
276 | + |
277 | +import time |
278 | +from openerp.report import report_sxw |
279 | +from openerp.osv import osv |
280 | +from openerp import pooler |
281 | + |
282 | +class bom_structure(report_sxw.rml_parse): |
283 | + def __init__(self, cr, uid, name, context): |
284 | + super(bom_structure, self).__init__(cr, uid, name, context=context) |
285 | + self.localcontext.update({ |
286 | + 'time': time, |
287 | + 'get_children':self.get_children, |
288 | + }) |
289 | + |
290 | + def get_children(self, object, level=0): |
291 | + result = [] |
292 | + |
293 | + def _get_rec(object, level): |
294 | + for l in object: |
295 | + res = {} |
296 | + res['name'] = l.name |
297 | + res['pname'] = l.product_id.name |
298 | + res['pcode'] = l.product_id.default_code |
299 | + res['pqty'] = l.product_qty |
300 | + res['uname'] = l.product_uom.name |
301 | + res['code'] = l.code |
302 | + res['level'] = level |
303 | + res['bnumber'] = l.bubble_number |
304 | + result.append(res) |
305 | + if l.child_complete_ids: |
306 | + if level<6: |
307 | + level += 1 |
308 | + _get_rec(l.child_complete_ids,level) |
309 | + if level>0 and level<6: |
310 | + level -= 1 |
311 | + return result |
312 | + |
313 | + children = _get_rec(object,level) |
314 | + |
315 | + return children |
316 | + |
317 | +report_sxw.report_sxw('report.custom.bom.structure', |
318 | + 'mrp.bom', |
319 | + 'mrp_industrial_design_bom/report/bom_structure_custom.rml', |
320 | + parser=bom_structure, |
321 | + header='internal') |
322 | + |
323 | + |
324 | +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: |
325 | |
326 | === added file 'mrp_industrial_design_bom/report/bom_structure_custom.rml' |
327 | --- mrp_industrial_design_bom/report/bom_structure_custom.rml 1970-01-01 00:00:00 +0000 |
328 | +++ mrp_industrial_design_bom/report/bom_structure_custom.rml 2013-04-11 20:49:20 +0000 |
329 | @@ -0,0 +1,158 @@ |
330 | +<?xml version="1.0"?> |
331 | +<document filename="test.pdf"> |
332 | + <template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20"> |
333 | + <pageTemplate id="first"> |
334 | + <frame id="first" x1="31.0" y1="30.0" width="532" height="781"/> |
335 | + </pageTemplate> |
336 | + </template> |
337 | + <stylesheet> |
338 | + <blockTableStyle id="Standard_Outline"> |
339 | + <blockAlignment value="LEFT"/> |
340 | + <blockValign value="TOP"/> |
341 | + </blockTableStyle> |
342 | + <blockTableStyle id="Table2"> |
343 | + <blockAlignment value="LEFT"/> |
344 | + <blockValign value="TOP"/> |
345 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/> |
346 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> |
347 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/> |
348 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/> |
349 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/> |
350 | + </blockTableStyle> |
351 | + <blockTableStyle id="Table1"> |
352 | + <blockAlignment value="LEFT"/> |
353 | + <blockValign value="TOP"/> |
354 | + <lineStyle kind="LINEBELOW" colorName="#999999" start="0,-1" stop="0,-1"/> |
355 | + <lineStyle kind="LINEBELOW" colorName="#999999" start="1,-1" stop="1,-1"/> |
356 | + <lineStyle kind="LINEBELOW" colorName="#999999" start="2,-1" stop="2,-1"/> |
357 | + <lineStyle kind="LINEBELOW" colorName="#999999" start="3,-1" stop="3,-1"/> |
358 | + <lineStyle kind="LINEBELOW" colorName="#999999" start="4,-1" stop="4,-1"/> |
359 | + </blockTableStyle> |
360 | + <blockTableStyle id="Table3"> |
361 | + <blockAlignment value="LEFT"/> |
362 | + <blockValign value="TOP"/> |
363 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/> |
364 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/> |
365 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/> |
366 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/> |
367 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/> |
368 | + </blockTableStyle> |
369 | + <initialize> |
370 | + <paraStyle name="all" alignment="justify"/> |
371 | + </initialize> |
372 | + <paraStyle name="P1" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
373 | + <paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
374 | + <paraStyle name="P3" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/> |
375 | + <paraStyle name="Standard" fontName="Helvetica"/> |
376 | + <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/> |
377 | + <paraStyle name="Text_20_body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/> |
378 | + <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/> |
379 | + <paraStyle name="Caption" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/> |
380 | + <paraStyle name="Index" fontName="Helvetica"/> |
381 | + <paraStyle name="Table_20_Contents" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT"/> |
382 | + <paraStyle name="Table_20_Heading" fontName="Helvetica" fontSize="6.0" leading="8" alignment="CENTER"/> |
383 | + <paraStyle name="terp_5f_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/> |
384 | + <paraStyle name="terp_5f_default_5f_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
385 | + <paraStyle name="terp_5f_default_5f_Bold_5f_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
386 | + <paraStyle name="terp_5f_default_5f_Bold_5f_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
387 | + <paraStyle name="terp_5f_default_5f_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
388 | + <paraStyle name="terp_5f_tblheader_5f_General" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/> |
389 | + <paraStyle name="terp_5f_tblheader_5f_General_5f_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/> |
390 | + <paraStyle name="terp_5f_default_5f_Centre_5f_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/> |
391 | + <paraStyle name="terp_5f_tblheader_5f_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/> |
392 | + <paraStyle name="Footer" fontName="Helvetica"/> |
393 | + <paraStyle name="Horizontal_20_Line" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/> |
394 | + <paraStyle name="Heading_20_9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/> |
395 | + <paraStyle name="terp_5f_tblheader_5f_General_5f_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/> |
396 | + <paraStyle name="terp_5f_tblheader_5f_Details_5f_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/> |
397 | + <paraStyle name="terp_5f_tblheader_5f_Details_5f_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/> |
398 | + <paraStyle name="terp_5f_default_5f_Right_5f_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
399 | + <paraStyle name="terp_5f_header_5f_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/> |
400 | + <paraStyle name="terp_5f_header_5f_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/> |
401 | + <paraStyle name="terp_5f_default_5f_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
402 | + <paraStyle name="terp_5f_default_5f_Centre_5f_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/> |
403 | + <paraStyle name="terp_5f_default_5f_Right_5f_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
404 | + <paraStyle name="terp_5f_default_5f_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
405 | + <paraStyle name="terp_5f_default_5f_Right_5f_9_5f_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
406 | + <paraStyle name="terp_5f_default_5f_8_5f_Italic" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
407 | + <paraStyle name="Heading_20_2" fontName="Helvetica-BoldOblique" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/> |
408 | + <paraStyle name="terp_5f_remove_5f_space" fontName="Helvetica" fontSize="2.0" leading="3" spaceBefore="0.0" spaceAfter="0.0"/> |
409 | + <images/> |
410 | + </stylesheet> |
411 | + <story> |
412 | + <para style="terp_5f_header_5f_Centre">BOM Structure</para> |
413 | + <blockTable colWidths="141.0,74.0,213.0,52.0,52.0" style="Table2"> |
414 | + <tr> |
415 | + <td> |
416 | + <para style="terp_5f_tblheader_5f_Details">BOM Name</para> |
417 | + </td> |
418 | + <td> |
419 | + <para style="P3"> |
420 | + <font face="Helvetica">Bubble Number</font> |
421 | + </para> |
422 | + </td> |
423 | + <td> |
424 | + <para style="terp_5f_tblheader_5f_Details">Product Name</para> |
425 | + </td> |
426 | + <td> |
427 | + <para style="terp_5f_tblheader_5f_Details_5f_Right">Quantity</para> |
428 | + </td> |
429 | + <td> |
430 | + <para style="terp_5f_tblheader_5f_General_5f_Centre">BOM Ref</para> |
431 | + </td> |
432 | + </tr> |
433 | + </blockTable> |
434 | + <section> |
435 | + <para style="terp_5f_default_5f_8">[[ repeatIn(objects, 'o') ]]</para> |
436 | + <blockTable colWidths="141.0,74.0,213.0,52.0,52.0" style="Table1"> |
437 | + <tr> |
438 | + <td> |
439 | + <para style="terp_5f_default_5f_Bold_5f_9">[[ o.name ]]</para> |
440 | + </td> |
441 | + <td> |
442 | + <para style="P1"> |
443 | + <font face="Helvetica">[[ o.bubble_number ]]</font> |
444 | + </para> |
445 | + </td> |
446 | + <td> |
447 | + <para style="terp_5f_default_5f_Bold_5f_9">[ [[ (o.product_id.default_code) or removeParentNode('font') ]] ] [[ o.product_id.name ]]</para> |
448 | + </td> |
449 | + <td> |
450 | + <para style="terp_5f_default_5f_Right_5f_9_5f_Bold">[[ o.product_qty ]] [[ o.product_uom.name ]]</para> |
451 | + </td> |
452 | + <td> |
453 | + <para style="terp_5f_tblheader_5f_Details_5f_Centre">[[ o.code ]]</para> |
454 | + </td> |
455 | + </tr> |
456 | + </blockTable> |
457 | + <section> |
458 | + <para style="terp_5f_default_5f_8">[[ repeatIn(get_children(o.bom_lines), 'l') ]]</para> |
459 | + <blockTable colWidths="141.0,74.0,213.0,52.0,52.0" style="Table3"> |
460 | + <tr> |
461 | + <td> |
462 | + <para style="terp_5f_default_5f_9"><font face="Helvetica" size="8.0">[[ '... '*(l['level']) ]]</font> - [[ l['name'] ]]</para> |
463 | + </td> |
464 | + <td> |
465 | + <para style="P2"> |
466 | + <font face="Helvetica">[[ l['bnumber'] ]]</font> |
467 | + </para> |
468 | + </td> |
469 | + <td> |
470 | + <para style="terp_5f_default_5f_9">[ [[ (l['pcode']) or removeParentNode('font') ]] ] [[ l['pname'] ]]</para> |
471 | + </td> |
472 | + <td> |
473 | + <para style="terp_5f_default_5f_Right_5f_9">[[ l['pqty'] ]] [[ l['uname'] ]]</para> |
474 | + </td> |
475 | + <td> |
476 | + <para style="terp_5f_default_5f_Centre_5f_9">[[ l['code'] ]]</para> |
477 | + </td> |
478 | + </tr> |
479 | + </blockTable> |
480 | + <para style="terp_5f_default_5f_1"> |
481 | + <font color="white"> </font> |
482 | + </para> |
483 | + </section> |
484 | + </section> |
485 | + </story> |
486 | +</document> |
487 | + |
The diff is empty.