diff --git a/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/report_view.xml b/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/report_view.xml
index 6a45ab8d583050a44def4575d31a27a39e5afcf6..3f3d3b573e6033e1b68b7c5d9c1d9c5f86050be2 100644
--- a/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/report_view.xml
+++ b/bt5/erp5_odt_style/SkinTemplateItem/portal_skins/erp5_odt_style/report_view.xml
@@ -224,9 +224,13 @@ bWxQSwUGAAAAAAIAAgCeAAAAhwwAAAAA</string> </value>
         <text:sequence-decl text:display-outline-level=\'0\' text:name=\'Text\'/>\n
         <text:sequence-decl text:display-outline-level=\'0\' text:name=\'Drawing\'/>\n
       </text:sequence-decls>\n
-             \n
-             <tal:block tal:define="report_item_list python:report_method();\n
-                                    dummy python: request.set(\'here\',here); ">                \n
+\n
+      <!-- This template can be used to aggregate together some already rendered report sections.\n
+        In this case, "rendered_report_item_list" must be in the page template context. -->\n
+        <tal:block tal:define="rendered_report_item_list rendered_report_item_list | python:[];\n
+                                report_item_list python: rendered_report_item_list or report_method();">\n
+\n
+             <tal:block tal:define="dummy python: request.set(\'here\',here); ">                \n
                        <text:p text:style-name=\'report-title\'\n
                                tal:content="python: here.Localizer.erp5_ui.gettext(form.getProperty(\'title\', \'\')).encode(\'utf-8\')"> report title </text:p>\n
                      <text:p></text:p>                     \n
@@ -303,33 +307,46 @@ bWxQSwUGAAAAAAIAAgCeAAAAhwwAAAAA</string> </value>
                      </tal:block>\n
                     </tal:block>\n
                    </tal:block>\n
-                 </tal:block>  <!-- TODO: if possible a macro for form rendering ? -->\n
+                 </tal:block>\n
 \n
-                  <tal:block tal:define="portal_object here/portal_url/getPortalObject">\n
+                <!-- if we are called with a rendered_report_item_list, just insert the rendered text here. -->\n
+                <tal:block tal:condition="rendered_report_item_list">\n
+                  <tal:block tal:repeat="report_item report_item_list">\n
+                    <tal:block tal:replace="structure report_item"/>\n
+                  </tal:block>\n
+                </tal:block>\n
+                 \n
+                 <tal:block tal:condition="not: rendered_report_item_list">\n
+                 <tal:block tal:define="portal_object here/portal_url/getPortalObject">\n
                  <tal:block tal:repeat="report_item report_item_list">\n
                   <tal:block tal:define="here python:report_item.getObject(portal_object);\n
                                         dummy python:report_item.pushReport(portal_object)">\n
-                    <tal:block tal:condition="report_item/getTitle">\n
-                       <text:p\n
-                          tal:content="report_item/getTitle"\n
-                          tal:attributes="text:style-name string:report-title-${report_item/getLevel}"\n
-                          >report item title</text:p><text:p/>\n
-                      </tal:block>\n
-\n
-                    <tal:block tal:condition="report_item/getFormId">\n
-                     <tal:block tal:define="form python:getattr(here, report_item.getFormId())" >\n
-                      <tal:block tal:condition="python:form.pt == \'form_view\'">\n
-                        <tal:block metal:use-macro="form/form_view/macros/form_layout"/>\n
-                      </tal:block>\n
-                       <tal:block tal:condition="python:form.pt == \'form_list\'">\n
-                       <tal:block metal:use-macro="form/form_list/macros/form_layout"/>\n
-                       </tal:block></tal:block></tal:block>\n
+                    <tal:block metal:define-macro="render_report_section">\n
+                      <tal:block tal:condition="report_item/getTitle">\n
+                         <text:p\n
+                            tal:content="report_item/getTitle"\n
+                            tal:attributes="text:style-name string:report-title-${report_item/getLevel}"\n
+                            >report item title</text:p><text:p/>\n
+                        </tal:block>\n
+  \n
+                      <tal:block tal:condition="report_item/getFormId">\n
+                       <tal:block tal:define="form python:getattr(here, report_item.getFormId())" >\n
+                        <tal:block tal:condition="python:form.pt == \'form_view\'">\n
+                          <tal:block metal:use-macro="form/form_view/macros/form_layout"/>\n
+                        </tal:block>\n
+                         <tal:block tal:condition="python:form.pt == \'form_list\'">\n
+                         <tal:block metal:use-macro="form/form_list/macros/form_layout"/>\n
+                         </tal:block></tal:block></tal:block>\n
+                       </tal:block>\n
                       </tal:block>\n
                       <tal:block tal:define="dummy python:report_item.popReport(portal_object)"/>\n
                      </tal:block>\n
-                  </tal:block>\n
+                 </tal:block>\n
+                </tal:block>\n
+\n
               </tal:block>\n
-           </office:text>\n
+        </tal:block>\n
+    </office:text>\n
   </office:body>\n
 </office:document-content>\n
 
diff --git a/bt5/erp5_odt_style/bt/change_log b/bt5/erp5_odt_style/bt/change_log
index 2b07e5cd6ddfb78bd5681ce0193b59c86724a7d2..aabc85ccd5d0c89e338e35f4a2a977d157e1785e 100644
--- a/bt5/erp5_odt_style/bt/change_log
+++ b/bt5/erp5_odt_style/bt/change_log
@@ -1,2 +1,5 @@
+2007-10-30 Jerome
+Add macros for deferred rendering in report_view
+
 2007-08-24 Ibou NDIAYE
 Initial revision
\ No newline at end of file
diff --git a/bt5/erp5_odt_style/bt/revision b/bt5/erp5_odt_style/bt/revision
index 3f10ffe7a4c473619c926cfb1e8d95e726e5a0ec..25bf17fc5aaabd17402e77a2b16f95fbea7310d2 100644
--- a/bt5/erp5_odt_style/bt/revision
+++ b/bt5/erp5_odt_style/bt/revision
@@ -1 +1 @@
-15
\ No newline at end of file
+18
\ No newline at end of file
diff --git a/bt5/erp5_odt_style/bt/version b/bt5/erp5_odt_style/bt/version
index ceab6e11ece0bcec917c12e11d350946f085d549..6da28dde76d6550e3d398a70a9a8231256774669 100644
--- a/bt5/erp5_odt_style/bt/version
+++ b/bt5/erp5_odt_style/bt/version
@@ -1 +1 @@
-0.1
\ No newline at end of file
+0.1.1
\ No newline at end of file