Merge lp:~savoirfairelinux-openerp/openerp-manufacturing/add-industrial-design-bom into lp:openerp-manufacturing

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_industrial_design.py (+69/-0)
mrp_industrial_design_bom/report/bom_structure_industrial_design.rml (+158/-0)
To merge this branch: bzr merge lp:~savoirfairelinux-openerp/openerp-manufacturing/add-industrial-design-bom
Reviewer Review Type Date Requested Status
Maxime Chambreuil (http://www.savoirfairelinux.com) Needs Fixing
Alexandre Fayolle - camptocamp Pending
Review via email: mp+158486@code.launchpad.net

This proposal supersedes a proposal from 2013-04-08.

This proposal has been superseded by a proposal from 2013-04-26.

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

The diff is empty.

review: Needs Resubmitting
Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote : Posted in a previous version of this proposal

line 200: you have an indentation problem.

Otherwise, it looks good to me.

review: Needs Fixing (review, no test.)
Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) :
review: Approve (review, no test.)
Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

Can you rename/replace bom_structure_custom by bom_structure_industrial_design everywhere in the report subdirectory ?

review: Needs Fixing
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
=== added directory 'mrp_industrial_design_bom'
=== added file 'mrp_industrial_design_bom/__init__.py'
--- mrp_industrial_design_bom/__init__.py 1970-01-01 00:00:00 +0000
+++ mrp_industrial_design_bom/__init__.py 2013-04-26 13:47:24 +0000
@@ -0,0 +1,24 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20##############################################################################
21
22import industrial_design
23# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
24
025
=== added file 'mrp_industrial_design_bom/__openerp__.py'
--- mrp_industrial_design_bom/__openerp__.py 1970-01-01 00:00:00 +0000
+++ mrp_industrial_design_bom/__openerp__.py 2013-04-26 13:47:24 +0000
@@ -0,0 +1,39 @@
1# -*- encoding: utf-8 -*-
2
3##############################################################################
4#
5# OpenERP, Open Source Management Solution
6# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23{
24 'name' : 'Industrial design specification in BoM',
25 'version' : '1.0',
26 "author" : "Savoir-faire Linux",
27 "website" : "http://www.savoirfairelinux.com",
28 'license': 'AGPL-3',
29 'category' : 'Specific Industry Applications',
30 'depends' : ['mrp'],
31 "data" : ['mrp_industrial_design.xml'],
32 'description': """
33Add the fields 'Bubble Number' and 'RefDes' (reference description) to a component in BoM view.
34""",
35 'auto_install': False,
36 'installable': True
37}
38# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
39
040
=== added directory 'mrp_industrial_design_bom/i18n'
=== added file 'mrp_industrial_design_bom/i18n/fr.po'
--- mrp_industrial_design_bom/i18n/fr.po 1970-01-01 00:00:00 +0000
+++ mrp_industrial_design_bom/i18n/fr.po 2013-04-26 13:47:24 +0000
@@ -0,0 +1,32 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * mrp_industrial_design_bom
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2013-03-26 16:23+0000\n"
10"PO-Revision-Date: 2013-03-26 14:00-0500\n"
11"Last-Translator: Marc Cassuto <marc.cassuto@savoirfairelinux.com>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: 8bit\n"
16"Plural-Forms: \n"
17
18#. module: mrp_industrial_design_bom
19#: model:ir.model,name:mrp_industrial_design_bom.model_mrp_bom
20msgid "Bill of Material"
21msgstr "Nomenclature"
22
23#. module: mrp_industrial_design_bom
24#: field:mrp.bom,refdes:0
25msgid "Notes"
26msgstr "notes"
27
28#. module: mrp_industrial_design_bom
29#: field:mrp.bom,bubble_number:0
30msgid "No"
31msgstr "N°"
32
033
=== added file 'mrp_industrial_design_bom/i18n/mrp_industrial_design_bom.pot'
--- mrp_industrial_design_bom/i18n/mrp_industrial_design_bom.pot 1970-01-01 00:00:00 +0000
+++ mrp_industrial_design_bom/i18n/mrp_industrial_design_bom.pot 2013-04-26 13:47:24 +0000
@@ -0,0 +1,32 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * mrp_industrial_design_bom
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2013-03-26 16:23+0000\n"
10"PO-Revision-Date: 2013-03-26 16:23+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: mrp_industrial_design_bom
19#: model:ir.model,name:mrp_industrial_design_bom.model_mrp_bom
20msgid "Bill of Material"
21msgstr ""
22
23#. module: mrp_industrial_design_bom
24#: field:mrp.bom,refdes:0
25msgid "Notes"
26msgstr ""
27
28#. module: mrp_industrial_design_bom
29#: field:mrp.bom,bubble_number:0
30msgid "No"
31msgstr ""
32
033
=== added file 'mrp_industrial_design_bom/industrial_design.py'
--- mrp_industrial_design_bom/industrial_design.py 1970-01-01 00:00:00 +0000
+++ mrp_industrial_design_bom/industrial_design.py 2013-04-26 13:47:24 +0000
@@ -0,0 +1,32 @@
1# -*- encoding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2010 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20##############################################################################
21
22from openerp.osv import fields, orm
23
24class mrp_bom(orm.Model):
25 _inherit = 'mrp.bom'
26 _columns = {
27 'bubble_number': fields.integer('No'),
28 'refdes': fields.text('Notes'),
29 }
30
31 _order = "bubble_number"
32# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
033
=== added file 'mrp_industrial_design_bom/mrp_industrial_design.xml'
--- mrp_industrial_design_bom/mrp_industrial_design.xml 1970-01-01 00:00:00 +0000
+++ mrp_industrial_design_bom/mrp_industrial_design.xml 2013-04-26 13:47:24 +0000
@@ -0,0 +1,29 @@
1<?xml version="1.0" ?>
2<openerp>
3 <data>
4 <delete model="ir.actions.report.xml" search="[('name', '=', 'bom.structure')]" />
5 <report auto="True"
6 header="False"
7 id="report_industrial_design_bom_structure"
8 model="mrp.bom"
9 name="industrialdesign.bom.structure"
10 rml="mrp_industrial_design_bom/report/bom_structure_industrial_design.rml"
11 string="BOM Structure"/>
12
13 <record model="ir.ui.view" id="mrp_bom_form_view_inherit">
14 <field name="name">mrp.bom.form.inherit</field>
15 <field name="model">mrp.bom</field>
16 <field name="inherit_id" ref="mrp.mrp_bom_form_view" />
17 <field name="arch" type="xml">
18 <xpath expr="/form/notebook/page/field/tree/field[@name='product_id']" position="before">
19 <field name="bubble_number" />
20 </xpath>
21 <xpath expr="/form/notebook/page/field/tree/field[@name='date_stop']" position="after">
22 <field name="refdes" />
23 </xpath>
24 </field>
25 </record>
26
27 </data>
28</openerp>
29
030
=== added directory 'mrp_industrial_design_bom/report'
=== added file 'mrp_industrial_design_bom/report/__init__.py'
--- mrp_industrial_design_bom/report/__init__.py 1970-01-01 00:00:00 +0000
+++ mrp_industrial_design_bom/report/__init__.py 2013-04-26 13:47:24 +0000
@@ -0,0 +1,23 @@
1# -*- coding: utf-8 -*-
2
3##############################################################################
4#
5# OpenERP, Open Source Management Solution
6# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import bom_structure_industrial_design
024
=== added file 'mrp_industrial_design_bom/report/bom_structure_industrial_design.odt'
1Binary files mrp_industrial_design_bom/report/bom_structure_industrial_design.odt 1970-01-01 00:00:00 +0000 and mrp_industrial_design_bom/report/bom_structure_industrial_design.odt 2013-04-26 13:47:24 +0000 differ25Binary files mrp_industrial_design_bom/report/bom_structure_industrial_design.odt 1970-01-01 00:00:00 +0000 and mrp_industrial_design_bom/report/bom_structure_industrial_design.odt 2013-04-26 13:47:24 +0000 differ
=== added file 'mrp_industrial_design_bom/report/bom_structure_industrial_design.py'
--- mrp_industrial_design_bom/report/bom_structure_industrial_design.py 1970-01-01 00:00:00 +0000
+++ mrp_industrial_design_bom/report/bom_structure_industrial_design.py 2013-04-26 13:47:24 +0000
@@ -0,0 +1,69 @@
1## -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20##############################################################################
21
22import time
23from openerp.report import report_sxw
24from openerp.osv import osv
25from openerp import pooler
26
27class bom_structure(report_sxw.rml_parse):
28 def __init__(self, cr, uid, name, context):
29 super(bom_structure, self).__init__(cr, uid, name, context=context)
30 self.localcontext.update({
31 'time': time,
32 'get_children':self.get_children,
33 })
34
35 def get_children(self, object, level=0):
36 result = []
37
38 def _get_rec(object, level):
39 for l in object:
40 res = {}
41 res['name'] = l.name
42 res['pname'] = l.product_id.name
43 res['pcode'] = l.product_id.default_code
44 res['pqty'] = l.product_qty
45 res['uname'] = l.product_uom.name
46 res['code'] = l.code
47 res['level'] = level
48 res['bnumber'] = l.bubble_number
49 result.append(res)
50 if l.child_complete_ids:
51 if level<6:
52 level += 1
53 _get_rec(l.child_complete_ids,level)
54 if level>0 and level<6:
55 level -= 1
56 return result
57
58 children = _get_rec(object,level)
59
60 return children
61
62report_sxw.report_sxw('report.industrialdesign.bom.structure',
63 'mrp.bom',
64 'mrp_industrial_design_bom/report/bom_structure_industrial_design.rml',
65 parser=bom_structure,
66 header='internal')
67
68
69# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
070
=== added file 'mrp_industrial_design_bom/report/bom_structure_industrial_design.rml'
--- mrp_industrial_design_bom/report/bom_structure_industrial_design.rml 1970-01-01 00:00:00 +0000
+++ mrp_industrial_design_bom/report/bom_structure_industrial_design.rml 2013-04-26 13:47:24 +0000
@@ -0,0 +1,158 @@
1<?xml version="1.0"?>
2<document filename="test.pdf">
3 <template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
4 <pageTemplate id="first">
5 <frame id="first" x1="31.0" y1="30.0" width="532" height="781"/>
6 </pageTemplate>
7 </template>
8 <stylesheet>
9 <blockTableStyle id="Standard_Outline">
10 <blockAlignment value="LEFT"/>
11 <blockValign value="TOP"/>
12 </blockTableStyle>
13 <blockTableStyle id="Table2">
14 <blockAlignment value="LEFT"/>
15 <blockValign value="TOP"/>
16 <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
17 <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
18 <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
19 <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
20 <lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
21 </blockTableStyle>
22 <blockTableStyle id="Table1">
23 <blockAlignment value="LEFT"/>
24 <blockValign value="TOP"/>
25 <lineStyle kind="LINEBELOW" colorName="#999999" start="0,-1" stop="0,-1"/>
26 <lineStyle kind="LINEBELOW" colorName="#999999" start="1,-1" stop="1,-1"/>
27 <lineStyle kind="LINEBELOW" colorName="#999999" start="2,-1" stop="2,-1"/>
28 <lineStyle kind="LINEBELOW" colorName="#999999" start="3,-1" stop="3,-1"/>
29 <lineStyle kind="LINEBELOW" colorName="#999999" start="4,-1" stop="4,-1"/>
30 </blockTableStyle>
31 <blockTableStyle id="Table3">
32 <blockAlignment value="LEFT"/>
33 <blockValign value="TOP"/>
34 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
35 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
36 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
37 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
38 <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
39 </blockTableStyle>
40 <initialize>
41 <paraStyle name="all" alignment="justify"/>
42 </initialize>
43 <paraStyle name="P1" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
44 <paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
45 <paraStyle name="P3" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
46 <paraStyle name="Standard" fontName="Helvetica"/>
47 <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
48 <paraStyle name="Text_20_body" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
49 <paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
50 <paraStyle name="Caption" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
51 <paraStyle name="Index" fontName="Helvetica"/>
52 <paraStyle name="Table_20_Contents" fontName="Helvetica" fontSize="6.0" leading="8" alignment="LEFT"/>
53 <paraStyle name="Table_20_Heading" fontName="Helvetica" fontSize="6.0" leading="8" alignment="CENTER"/>
54 <paraStyle name="terp_5f_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
55 <paraStyle name="terp_5f_default_5f_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
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"/>
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"/>
58 <paraStyle name="terp_5f_default_5f_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
59 <paraStyle name="terp_5f_tblheader_5f_General" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
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"/>
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"/>
62 <paraStyle name="terp_5f_tblheader_5f_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
63 <paraStyle name="Footer" fontName="Helvetica"/>
64 <paraStyle name="Horizontal_20_Line" fontName="Helvetica" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
65 <paraStyle name="Heading_20_9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
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"/>
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"/>
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"/>
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"/>
70 <paraStyle name="terp_5f_header_5f_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
71 <paraStyle name="terp_5f_header_5f_Centre" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
72 <paraStyle name="terp_5f_default_5f_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
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"/>
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"/>
75 <paraStyle name="terp_5f_default_5f_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
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"/>
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"/>
78 <paraStyle name="Heading_20_2" fontName="Helvetica-BoldOblique" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
79 <paraStyle name="terp_5f_remove_5f_space" fontName="Helvetica" fontSize="2.0" leading="3" spaceBefore="0.0" spaceAfter="0.0"/>
80 <images/>
81 </stylesheet>
82 <story>
83 <para style="terp_5f_header_5f_Centre">BOM Structure</para>
84 <blockTable colWidths="141.0,74.0,213.0,52.0,52.0" style="Table2">
85 <tr>
86 <td>
87 <para style="terp_5f_tblheader_5f_Details">BOM Name</para>
88 </td>
89 <td>
90 <para style="P3">
91 <font face="Helvetica">Bubble Number</font>
92 </para>
93 </td>
94 <td>
95 <para style="terp_5f_tblheader_5f_Details">Product Name</para>
96 </td>
97 <td>
98 <para style="terp_5f_tblheader_5f_Details_5f_Right">Quantity</para>
99 </td>
100 <td>
101 <para style="terp_5f_tblheader_5f_General_5f_Centre">BOM Ref</para>
102 </td>
103 </tr>
104 </blockTable>
105 <section>
106 <para style="terp_5f_default_5f_8">[[ repeatIn(objects, 'o') ]]</para>
107 <blockTable colWidths="141.0,74.0,213.0,52.0,52.0" style="Table1">
108 <tr>
109 <td>
110 <para style="terp_5f_default_5f_Bold_5f_9">[[ o.name ]]</para>
111 </td>
112 <td>
113 <para style="P1">
114 <font face="Helvetica">[[ o.bubble_number ]]</font>
115 </para>
116 </td>
117 <td>
118 <para style="terp_5f_default_5f_Bold_5f_9">[ [[ (o.product_id.default_code) or removeParentNode('font') ]] ] [[ o.product_id.name ]]</para>
119 </td>
120 <td>
121 <para style="terp_5f_default_5f_Right_5f_9_5f_Bold">[[ o.product_qty ]] [[ o.product_uom.name ]]</para>
122 </td>
123 <td>
124 <para style="terp_5f_tblheader_5f_Details_5f_Centre">[[ o.code ]]</para>
125 </td>
126 </tr>
127 </blockTable>
128 <section>
129 <para style="terp_5f_default_5f_8">[[ repeatIn(get_children(o.bom_lines), 'l') ]]</para>
130 <blockTable colWidths="141.0,74.0,213.0,52.0,52.0" style="Table3">
131 <tr>
132 <td>
133 <para style="terp_5f_default_5f_9"><font face="Helvetica" size="8.0">[[ '... '*(l['level']) ]]</font> - [[ l['name'] ]]</para>
134 </td>
135 <td>
136 <para style="P2">
137 <font face="Helvetica">[[ l['bnumber'] ]]</font>
138 </para>
139 </td>
140 <td>
141 <para style="terp_5f_default_5f_9">[ [[ (l['pcode']) or removeParentNode('font') ]] ] [[ l['pname'] ]]</para>
142 </td>
143 <td>
144 <para style="terp_5f_default_5f_Right_5f_9">[[ l['pqty'] ]] [[ l['uname'] ]]</para>
145 </td>
146 <td>
147 <para style="terp_5f_default_5f_Centre_5f_9">[[ l['code'] ]]</para>
148 </td>
149 </tr>
150 </blockTable>
151 <para style="terp_5f_default_5f_1">
152 <font color="white"> </font>
153 </para>
154 </section>
155 </section>
156 </story>
157</document>
158