[Erp5-report] r33987 jerome - in /erp5/trunk/bt5/erp5_accounting: SkinTemplateItem/portal_s...

nobody at svn.erp5.org nobody at svn.erp5.org
Tue Mar 23 10:51:10 CET 2010


Author: jerome
Date: Tue Mar 23 10:51:09 2010
New Revision: 33987

URL: http://svn.erp5.org?rev=33987&view=rev
Log:
fix report sections for GL: we must show a report section if the accounts have movement in the period, or if the account have a non zero balance at the beginning of the period.
Prior to that change it was only showing accounts with movements in the period.

Modified:
    erp5/trunk/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml
    erp5/trunk/bt5/erp5_accounting/bt/revision

Modified: erp5/trunk/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml?rev=33987&r1=33986&r2=33987&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml [utf8] (original)
+++ erp5/trunk/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getGeneralLedgerReportSectionList.xml [utf8] Tue Mar 23 10:51:09 2010
@@ -88,8 +88,7 @@
 \n
 request.other[\'is_accounting_report\'] = True\n
 \n
-params = dict(at_date=at_date,\n
-              precision=precision,\n
+params = dict(precision=precision,\n
               section_uid=section_uid,\n
               simulation_state=simulation_state,\n
               period_start_date=period_start_date,\n
@@ -185,17 +184,22 @@
 \n
 report_section_list = []\n
 \n
+existing_section_dict = dict()\n
+\n
 # group by node\n
+# movements in the period\n
 for inventory in portal.portal_simulation.getInventoryList(\n
                             node_category_strict_membership=account_type_to_group_by_node,\n
                             portal_type=portal.getPortalAccountingMovementTypeList(),\n
                             from_date=from_date,\n
+                            at_date=at_date,\n
                             group_by_node=1,\n
                             group_by_section=0,\n
                             group_by_mirror_section=0,\n
                             group_by_resource=0,\n
                             **params):\n
   key = (inventory.node_relative_url, None, None)\n
+  existing_section_dict[key] = True\n
   \n
   selection_params = params.copy()\n
   selection_params[\'from_date\'] = from_date\n
@@ -214,12 +218,48 @@
                       selection_sort_order=[(\'stock.date\',\n
                                              \'ascending\')]))\n
 \n
+# non zero balance at begining of period\n
+for inventory in portal.portal_simulation.getInventoryList(\n
+                            node_category_strict_membership=account_type_to_group_by_node,\n
+                            portal_type=portal.getPortalAccountingMovementTypeList(),\n
+                            at_date=from_date,\n
+                            group_by_node=1,\n
+                            group_by_section=0,\n
+                            group_by_mirror_section=0,\n
+                            group_by_resource=0,\n
+                            **params):\n
+  key = (inventory.node_relative_url, None, None)\n
+  if key in existing_section_dict:\n
+    continue\n
+  if not inventory.total_price:\n
+    continue\n
+  existing_section_dict[key] = True\n
+  \n
+  selection_params = params.copy()\n
+  selection_params[\'from_date\'] = from_date\n
+  selection_params[\'node_uid\'] = inventory.node_uid\n
+  selection_params[\'payment_uid\'] = None\n
+  selection_params[\'mirror_section_uid\'] = None\n
+  report_section_list.append(\n
+              ReportSection(\n
+                      path=inventory.node_relative_url,\n
+                      title=getFullAccountName(key),\n
+                      form_id=\'Account_viewAccountingTransactionList\',\n
+                      selection_name=\'account_preference_selection\',\n
+                      selection_params=selection_params,\n
+                      selection_columns=account_columns,\n
+                      listbox_display_mode=\'FlatListMode\',\n
+                      selection_sort_order=[(\'stock.date\',\n
+                                             \'ascending\')]))\n
+\n
+\n
 \n
 # profit & loss -> same, but from date limited to the current period\n
 for inventory in portal.portal_simulation.getInventoryList(\n
                             node_category_strict_membership=profit_and_loss_account_type,\n
                             portal_type=portal.getPortalAccountingMovementTypeList(),\n
                             from_date=max(from_date, period_start_date),\n
+                            at_date=at_date,\n
                             group_by_node=1,\n
                             group_by_section=0,\n
                             group_by_mirror_section=0,\n
@@ -245,16 +285,19 @@
                                              \'ascending\')]))\n
 \n
 # group by mirror_section\n
+# movements in the period\n
 for inventory in portal.portal_simulation.getInventoryList(\n
                             node_category_strict_membership=account_type_to_group_by_mirror_section,\n
                             portal_type=portal.getPortalAccountingMovementTypeList(),\n
                             from_date=from_date,\n
+                            at_date=at_date,\n
                             group_by_node=1,\n
                             group_by_section=0,\n
                             group_by_mirror_section=1,\n
                             group_by_resource=0,\n
                             **params):\n
   key = (inventory.node_relative_url, inventory.mirror_section_uid, None)\n
+  existing_section_dict[key] = True\n
 \n
   selection_params = params.copy()\n
   selection_params[\'from_date\'] = from_date\n
@@ -273,18 +316,90 @@
                       selection_sort_order=[(\'stock.date\',\n
                                              \'ascending\')]))\n
 \n
+# non zero balance at begining of period\n
+for inventory in portal.portal_simulation.getInventoryList(\n
+                            node_category_strict_membership=account_type_to_group_by_mirror_section,\n
+                            portal_type=portal.getPortalAccountingMovementTypeList(),\n
+                            at_date=from_date,\n
+                            group_by_node=1,\n
+                            group_by_section=0,\n
+                            group_by_mirror_section=1,\n
+                            group_by_resource=0,\n
+                            **params):\n
+  key = (inventory.node_relative_url, inventory.mirror_section_uid, None)\n
+\n
+  if key in existing_section_dict:\n
+    continue\n
+  if not inventory.total_price:\n
+    continue\n
+  existing_section_dict[key] = True\n
+\n
+  selection_params = params.copy()\n
+  selection_params[\'from_date\'] = from_date\n
+  selection_params[\'node_uid\'] = inventory.node_uid\n
+  selection_params[\'payment_uid\'] = None\n
+  selection_params[\'mirror_section_uid\'] = inventory.mirror_section_uid\n
+  report_section_list.append(\n
+              ReportSection(\n
+                      path=inventory.node_relative_url,\n
+                      title=getFullAccountName(key),\n
+                      form_id=\'Account_viewAccountingTransactionList\',\n
+                      selection_name=\'account_preference_selection\',\n
+                      selection_params=selection_params,\n
+                      selection_columns=account_columns,\n
+                      listbox_display_mode=\'FlatListMode\',\n
+                      selection_sort_order=[(\'stock.date\',\n
+                                             \'ascending\')]))\n
+\n
 \n
 # group by payment\n
+# movements in the period\n
 for inventory in portal.portal_simulation.getInventoryList(\n
                             node_category_strict_membership=account_type_to_group_by_payment,\n
                             portal_type=portal.getPortalAccountingMovementTypeList(),\n
                             from_date=from_date,\n
+                            at_date=at_date,\n
                             group_by_node=1,\n
                             group_by_section=0,\n
                             group_by_paymnent=1,\n
                             group_by_resource=0,\n
                             **params):\n
   key = (inventory.node_relative_url, None, inventory.payment_uid)\n
+  existing_section_dict[key] = True\n
+\n
+  selection_params = params.copy()\n
+  selection_params[\'from_date\'] = from_date\n
+  selection_params[\'node_uid\'] = inventory.node_uid\n
+  selection_params[\'payment_uid\'] = inventory.payment_uid\n
+  selection_params[\'mirror_section_uid\'] = None\n
+  report_section_list.append(\n
+              ReportSection(\n
+                      path=inventory.node_relative_url,\n
+                      title=getFullAccountName(key),\n
+                      form_id=\'Account_viewAccountingTransactionList\',\n
+                      selection_name=\'account_preference_selection\',\n
+                      selection_params=selection_params,\n
+                      selection_columns=account_columns,\n
+                      listbox_display_mode=\'FlatListMode\',\n
+                      selection_sort_order=[(\'stock.date\',\n
+                                             \'ascending\')]))\n
+\n
+# non zero balance at begining of period\n
+for inventory in portal.portal_simulation.getInventoryList(\n
+                            node_category_strict_membership=account_type_to_group_by_payment,\n
+                            portal_type=portal.getPortalAccountingMovementTypeList(),\n
+                            at_date=from_date,\n
+                            group_by_node=1,\n
+                            group_by_section=0,\n
+                            group_by_paymnent=1,\n
+                            group_by_resource=0,\n
+                            **params):\n
+  key = (inventory.node_relative_url, None, inventory.payment_uid)\n
+  if key in existing_section_dict:\n
+    continue\n
+  if not inventory.total_price:\n
+    continue\n
+  existing_section_dict[key] = True\n
 \n
   selection_params = params.copy()\n
   selection_params[\'from_date\'] = from_date\n
@@ -393,6 +508,7 @@
                             <string>account_type_to_group_by_payment</string>
                             <string>account_type_to_group_by_mirror_section</string>
                             <string>report_section_list</string>
+                            <string>existing_section_dict</string>
                             <string>_getiter_</string>
                             <string>_apply_</string>
                             <string>inventory</string>

Modified: erp5/trunk/bt5/erp5_accounting/bt/revision
URL: http://svn.erp5.org/erp5/trunk/bt5/erp5_accounting/bt/revision?rev=33987&r1=33986&r2=33987&view=diff
==============================================================================
--- erp5/trunk/bt5/erp5_accounting/bt/revision [utf8] (original)
+++ erp5/trunk/bt5/erp5_accounting/bt/revision [utf8] Tue Mar 23 10:51:09 2010
@@ -1,1 +1,1 @@
-1139
+1140




More information about the Erp5-report mailing list