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