From 3bef8118bdf018c2d5f0665ce87099f1d199b3b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Mon, 5 Nov 2007 17:59:14 +0000 Subject: [PATCH] Initial balance should take into account recievable and payable accounts detailed per third party git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17396 20353a03-c40f-0410-a6d1-a30d3c3de9de --- ...ntModule_getAccountListForTrialBalance.xml | 136 +++++++++++------- bt5/erp5_accounting/bt/revision | 2 +- 2 files changed, 88 insertions(+), 50 deletions(-) diff --git a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml index 9ae86e05ad..4c5a387af4 100644 --- a/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml +++ b/bt5/erp5_accounting/SkinTemplateItem/portal_skins/erp5_accounting/AccountModule_getAccountListForTrialBalance.xml @@ -310,7 +310,13 @@ initial_balance_date = (from_date - 1).latestTime()\n # standards accounts {{{\n # balance at period start date\n for node in getInventoryList(\n - node_category_strict_membership=account_type_to_group_by_node,\n + node_category_strict_membership=[\n + \'account_type/asset\',\n + \'account_type/asset/cash\',\n + \'account_type/asset/receivable/refundable_vat\',\n + \'account_type/liability/payable/collected_vat\',\n + \'account_type/equity\',\n + \'account_type/liability\',],\n group_by_node=1,\n to_date=period_start_date,\n portal_type=accounting_movement_type_list +\n @@ -327,7 +333,13 @@ for node in getInventoryList(\n \n # Balance Transaction\n for node in getInventoryList(\n - node_category_strict_membership=account_type_to_group_by_node,\n + node_category_strict_membership=[\n + \'account_type/asset\',\n + \'account_type/asset/cash\',\n + \'account_type/asset/receivable/refundable_vat\',\n + \'account_type/liability/payable/collected_vat\',\n + \'account_type/equity\',\n + \'account_type/liability\',],\n group_by_node=1,\n from_date=from_date,\n at_date=from_date + 1,\n @@ -337,13 +349,20 @@ for node in getInventoryList(\n (node[\'node_relative_url\'], MARKER, MARKER),\n dict(debit=0, credit=0))\n total_price = node[\'total_price\'] or 0\n - total_price += account_props.get(\'initial_debit_balance\', 0)\n - total_price -= account_props.get(\'initial_credit_balance\', 0)\n - account_props[\'initial_debit_balance\'] = max(total_price, 0)\n - account_props[\'initial_credit_balance\'] = max(- total_price, 0)\n + account_props[\'initial_debit_balance\'] = account_props.get(\n + \'initial_debit_balance\', 0) + max(total_price, 0)\n + account_props[\'initial_credit_balance\'] = account_props.get(\n + \'initial_credit_balance\', 0) + max(- total_price, 0)\n +\n \n for node in getInventoryList(\n - node_category_strict_membership=account_type_to_group_by_node,\n + node_category_strict_membership=[\n + \'account_type/asset\',\n + \'account_type/asset/cash\',\n + \'account_type/asset/receivable/refundable_vat\',\n + \'account_type/liability/payable/collected_vat\',\n + \'account_type/equity\',\n + \'account_type/liability\',],\n group_by_node=1,\n omit_output=1,\n from_date=period_start_date,\n @@ -358,7 +377,13 @@ for node in getInventoryList(\n \'initial_debit_balance\', 0) + total_price\n \n for node in getInventoryList(\n - node_category_strict_membership=account_type_to_group_by_node,\n + node_category_strict_membership=[\n + \'account_type/asset\',\n + \'account_type/asset/cash\',\n + \'account_type/asset/receivable/refundable_vat\',\n + \'account_type/liability/payable/collected_vat\',\n + \'account_type/equity\',\n + \'account_type/liability\',],\n group_by_node=1,\n omit_input=1,\n from_date=period_start_date,\n @@ -408,45 +433,51 @@ for node in getInventoryList(\n # }}}\n \n # payable / receivable accounts {{{\n -if account_type_to_group_by_mirror_section:\n - # initial balance\n - for node in getInventoryList(\n - node_category_strict_membership=\n - account_type_to_group_by_mirror_section,\n - group_by_mirror_section=1,\n - group_by_node=1,\n - to_date=period_start_date,\n - portal_type=accounting_movement_type_list +\n - balance_movement_type_list,\n - **inventory_params):\n - account_props = line_per_account.setdefault(\n - (node[\'node_relative_url\'], node[\'mirror_section_uid\'], MARKER),\n - dict(debit=0, credit=0))\n - total_price = node[\'total_price\'] or 0\n - account_props[\'initial_debit_balance\'] = account_props.get(\n - \'initial_debit_balance\', 0) + max(total_price, 0)\n - account_props[\'initial_credit_balance\'] = account_props.get(\n - \'initial_credit_balance\', 0) + max(-total_price, 0)\n -\n - # Balance Transactions\n - for node in getInventoryList(\n - node_category_strict_membership=\n - account_type_to_group_by_mirror_section,\n - group_by_mirror_section=1,\n - group_by_node=1,\n - from_date=from_date,\n - at_date=from_date + 1,\n - portal_type=balance_movement_type_list,\n - **inventory_params):\n - account_props = line_per_account.setdefault(\n - (node[\'node_relative_url\'], node[\'mirror_section_uid\'], MARKER),\n - dict(debit=0, credit=0))\n - total_price = node[\'total_price\'] or 0\n - total_price += account_props.get(\'initial_debit_balance\', 0)\n - total_price -= account_props.get(\'initial_credit_balance\', 0)\n - account_props[\'initial_debit_balance\'] = max(total_price, 0)\n - account_props[\'initial_credit_balance\'] = max(- total_price, 0)\n +# initial balance\n +for node in getInventoryList(\n + node_category_strict_membership=[\n + \'account_type/asset/receivable\',\n + \'account_type/liability/payable\', ],\n + group_by_mirror_section=1,\n + group_by_node=1,\n + to_date=period_start_date,\n + portal_type=accounting_movement_type_list +\n + balance_movement_type_list,\n + **inventory_params):\n + mirror_section_uid = MARKER\n + if expand_accounts:\n + mirror_section_key = node[\'mirror_section_uid\']\n + account_props = line_per_account.setdefault(\n + (node[\'node_relative_url\'], mirror_section_key, MARKER),\n + dict(debit=0, credit=0))\n + total_price = node[\'total_price\'] or 0\n + account_props[\'initial_debit_balance\'] = account_props.get(\n + \'initial_debit_balance\', 0) + max(total_price, 0)\n + account_props[\'initial_credit_balance\'] = account_props.get(\n + \'initial_credit_balance\', 0) + max(-total_price, 0)\n \n +# Balance Transactions\n +for node in getInventoryList(\n + node_category_strict_membership=[\n + \'account_type/asset/receivable\',\n + \'account_type/liability/payable\', ],\n + group_by_mirror_section=1,\n + group_by_node=1,\n + from_date=from_date,\n + at_date=from_date + 1,\n + portal_type=balance_movement_type_list,\n + **inventory_params):\n + mirror_section_uid = MARKER\n + if expand_accounts:\n + mirror_section_key = node[\'mirror_section_uid\']\n + account_props = line_per_account.setdefault(\n + (node[\'node_relative_url\'], mirror_section_key, MARKER),\n + dict(debit=0, credit=0))\n + total_price = node[\'total_price\'] or 0\n + account_props[\'initial_debit_balance\'] = account_props.get(\n + \'initial_debit_balance\', 0) + max(total_price, 0)\n + account_props[\'initial_credit_balance\'] = account_props.get(\n + \'initial_credit_balance\', 0) + max(- total_price, 0)\n \n for node in getInventoryList(\n node_category_strict_membership=\n @@ -458,8 +489,11 @@ if account_type_to_group_by_mirror_section:\n to_date=from_date,\n portal_type=accounting_movement_type_list,\n **inventory_params):\n + mirror_section_uid = MARKER\n + if expand_accounts:\n + mirror_section_key = node[\'mirror_section_uid\']\n account_props = line_per_account.setdefault(\n - (node[\'node_relative_url\'], node[\'mirror_section_uid\'], MARKER),\n + (node[\'node_relative_url\'], mirror_section_key, MARKER),\n dict(debit=0, credit=0))\n total_price = node[\'total_price\'] or 0\n account_props[\'initial_debit_balance\'] = account_props.get(\n @@ -475,8 +509,11 @@ if account_type_to_group_by_mirror_section:\n to_date=from_date,\n portal_type=accounting_movement_type_list,\n **inventory_params):\n + mirror_section_uid = MARKER\n + if expand_accounts:\n + mirror_section_key = node[\'mirror_section_uid\']\n account_props = line_per_account.setdefault(\n - (node[\'node_relative_url\'], node[\'mirror_section_uid\'], MARKER),\n + (node[\'node_relative_url\'], mirror_section_key, MARKER),\n dict(debit=0, credit=0))\n total_price = node[\'total_price\'] or 0\n account_props[\'initial_credit_balance\'] = account_props.get(\n @@ -805,9 +842,10 @@ return new_line_list\n <string>getNodeTitleAndId</string> <string>initial_balance_date</string> <string>min</string> + <string>mirror_section_uid</string> + <string>mirror_section_key</string> <string>line_list</string> <string>node_relative_url</string> - <string>mirror_section_uid</string> <string>payment_uid</string> <string>data</string> <string>node_title</string> diff --git a/bt5/erp5_accounting/bt/revision b/bt5/erp5_accounting/bt/revision index 34c3a209c7..8fc2b18859 100644 --- a/bt5/erp5_accounting/bt/revision +++ b/bt5/erp5_accounting/bt/revision @@ -1 +1 @@ -487 \ No newline at end of file +488 \ No newline at end of file -- 2.30.9