Commit 0153f990 authored by Jérome Perrin's avatar Jérome Perrin

use total_price instead of quantity

be side independant


git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@5617 20353a03-c40f-0410-a6d1-a30d3c3de9de
parent d384dc78
...@@ -72,16 +72,23 @@ LOG=lambda message: context.log("AccountModule_statBalance", message)\n ...@@ -72,16 +72,23 @@ LOG=lambda message: context.log("AccountModule_statBalance", message)\n
\n \n
# read settings from user preference\n # read settings from user preference\n
preference = context.getPortalObject().portal_preferences\n preference = context.getPortalObject().portal_preferences\n
from_date = preference.getPreferredAccountingTransactionFromDate()\n from_date = preference.getPreferredAccountingTransactionFromDate()\\\n
or kw.get(\'from_date\', None)\n
if from_date :\n if from_date :\n
params[\'from_date\'] = from_date\n params[\'from_date\'] = from_date\n
at_date = preference.getPreferredAccountingTransactionAtDate()\n \n
at_date = preference.getPreferredAccountingTransactionAtDate()\\\n
or kw.get(\'at_date\', None)\n
if at_date :\n if at_date :\n
params[\'at_date\'] = at_date\n params[\'at_date\'] = at_date\n
simulation_state = preference.getPreferredAccountingTransactionSimulationStateList()\n \n
simulation_state = preference.getPreferredAccountingTransactionSimulationStateList()\\\n
or kw.get(\'simulation_state\', kw.get(\'transaction_simulation_state\', None))\n
if simulation_state :\n if simulation_state :\n
params[\'simulation_state\'] = simulation_state\n params[\'simulation_state\'] = simulation_state\n
section_category = preference.getPreferredAccountingTransactionSectionCategory()\n \n
section_category = preference.getPreferredAccountingTransactionSectionCategory()\\\n
or kw.get(\'section_category\', kw.get(\'transaction_section_category\', None))\n
if section_category :\n if section_category :\n
params[\'section_category\'] = section_category\n params[\'section_category\'] = section_category\n
\n \n
...@@ -116,12 +123,14 @@ if kw.get(\'omit_input\'):\n ...@@ -116,12 +123,14 @@ if kw.get(\'omit_input\'):\n
if kw.get(\'omit_output\'):\n if kw.get(\'omit_output\'):\n
params[\'omit_output\'] = 1\n params[\'omit_output\'] = 1\n
\n \n
context.log(\'params\', params)\n
context.log(\'at_date\', at_date)\n
results = context.Resource_zStatInventory(omit_simulation=1,\n results = context.Resource_zStatInventory(omit_simulation=1,\n
**params)\n **params)\n
row = results[0]\n row = results[0]\n
total = 0\n total = 0\n
if row.quantity :\n if row.total_price :\n
total = row.quantity or 0.00\n total = row.total_price or 0.00\n
return total\n return total\n
\n \n
# FIXME:\n # FIXME:\n
...@@ -145,7 +154,7 @@ return context.portal_simulation.getInventory( omit_simulation=1, **params )\n ...@@ -145,7 +154,7 @@ return context.portal_simulation.getInventory( omit_simulation=1, **params )\n
</item> </item>
<item> <item>
<key> <string>_filepath</string> </key> <key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_accounting/AccountModule_statBalance</string> </value> <value> <string>Script (Python):/erp5/portal_skins/erp5_accounting/AccountModule_statBalance</string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
...@@ -183,6 +192,7 @@ return context.portal_simulation.getInventory( omit_simulation=1, **params )\n ...@@ -183,6 +192,7 @@ return context.portal_simulation.getInventory( omit_simulation=1, **params )\n
<string>LOG</string> <string>LOG</string>
<string>context</string> <string>context</string>
<string>preference</string> <string>preference</string>
<string>None</string>
<string>from_date</string> <string>from_date</string>
<string>_write_</string> <string>_write_</string>
<string>at_date</string> <string>at_date</string>
......
...@@ -47,31 +47,31 @@ ...@@ -47,31 +47,31 @@
</value> </value>
</item> </item>
<item> <item>
<key> <string>destination_section_uid</string> </key> <key> <string>from_date</string> </key>
<value> <value>
<dictionary/> <dictionary/>
</value> </value>
</item> </item>
<item> <item>
<key> <string>from_date</string> </key> <key> <string>getUid</string> </key>
<value> <value>
<dictionary/> <dictionary/>
</value> </value>
</item> </item>
<item> <item>
<key> <string>getUid</string> </key> <key> <string>mirror_section_uid</string> </key>
<value> <value>
<dictionary/> <dictionary/>
</value> </value>
</item> </item>
<item> <item>
<key> <string>no_destination_section_uid</string> </key> <key> <string>no_mirror_section_uid</string> </key>
<value> <value>
<dictionary/> <dictionary/>
</value> </value>
</item> </item>
<item> <item>
<key> <string>no_source_payment_uid</string> </key> <key> <string>no_payment_uid</string> </key>
<value> <value>
<dictionary/> <dictionary/>
</value> </value>
...@@ -88,6 +88,12 @@ ...@@ -88,6 +88,12 @@
<dictionary/> <dictionary/>
</value> </value>
</item> </item>
<item>
<key> <string>payment_uid</string> </key>
<value>
<dictionary/>
</value>
</item>
<item> <item>
<key> <string>resource_uid</string> </key> <key> <string>resource_uid</string> </key>
<value> <value>
...@@ -117,12 +123,6 @@ ...@@ -117,12 +123,6 @@
<dictionary/> <dictionary/>
</value> </value>
</item> </item>
<item>
<key> <string>source_payment_uid</string> </key>
<value>
<dictionary/>
</value>
</item>
<item> <item>
<key> <string>to_date</string> </key> <key> <string>to_date</string> </key>
<value> <value>
...@@ -159,23 +159,23 @@ ...@@ -159,23 +159,23 @@
<key> <string>_keys</string> </key> <key> <string>_keys</string> </key>
<value> <value>
<list> <list>
<string>selection</string> <string>selection</string>
<string>selection_domain</string> <string>selection_domain</string>
<string>selection_report</string> <string>selection_report</string>
<string>getUid</string> <string>getUid</string>
<string>where_expression</string> <string>where_expression</string>
<string>omit_input</string> <string>omit_input</string>
<string>omit_output</string> <string>omit_output</string>
<string>resource_uid</string> <string>resource_uid</string>
<string>from_date</string> <string>from_date</string>
<string>to_date</string> <string>to_date</string>
<string>at_date</string> <string>at_date</string>
<string>transaction_simulation_state</string> <string>transaction_simulation_state</string>
<string>transaction_section_category</string> <string>transaction_section_category</string>
<string>source_payment_uid</string> <string>payment_uid</string>
<string>no_source_payment_uid</string> <string>no_payment_uid</string>
<string>destination_section_uid</string> <string>mirror_section_uid</string>
<string>no_destination_section_uid</string> <string>no_mirror_section_uid</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -217,10 +217,10 @@ to_date\r\n ...@@ -217,10 +217,10 @@ to_date\r\n
at_date\r\n at_date\r\n
transaction_simulation_state:list\r\n transaction_simulation_state:list\r\n
transaction_section_category\r\n transaction_section_category\r\n
source_payment_uid\r\n payment_uid\r\n
no_source_payment_uid\r\n no_payment_uid\r\n
destination_section_uid\r\n mirror_section_uid\r\n
no_destination_section_uid</string> </value> no_mirror_section_uid</string> </value>
</item> </item>
<item> <item>
<key> <string>cache_time_</string> </key> <key> <string>cache_time_</string> </key>
...@@ -265,13 +265,14 @@ SELECT\n ...@@ -265,13 +265,14 @@ SELECT\n
DISTINCT transaction.uid, transaction.path,\n DISTINCT transaction.uid, transaction.path,\n
transaction_line.path as current_transaction_line_path,\n transaction_line.path as current_transaction_line_path,\n
transaction.title as transaction_title,\n transaction.title as transaction_title,\n
destination_section.title AS third_party,\n mirror_section.title AS third_party,\n
IF(stock.quantity > 0, stock.quantity, 0.0) AS source_debit,\n IF(stock.total_price > 0, stock.total_price, 0.0) AS debit,\n
IF(stock.quantity < 0, - stock.quantity, 0.0) AS source_credit,\n IF(stock.total_price < 0, - stock.total_price, 0.0) AS credit,\n
stock.quantity AS source_balance,\n stock.date AS date,\n
stock.payment_uid AS source_payment_uid\n transaction.source_reference AS specific_reference,\n
stock.total_price AS balance,\n
stock.payment_uid AS payment_uid\n
FROM\n FROM\n
movement,\n
catalog,\n catalog,\n
catalog AS transaction_line,\n catalog AS transaction_line,\n
catalog AS transaction,\n catalog AS transaction,\n
...@@ -283,38 +284,37 @@ FROM\n ...@@ -283,38 +284,37 @@ FROM\n
<dtml-if selection_report><dtml-var "selection_report.asSqlJoinExpression()">, </dtml-if>\n <dtml-if selection_report><dtml-var "selection_report.asSqlJoinExpression()">, </dtml-if>\n
<dtml-if where_expression>, category </dtml-if>\n <dtml-if where_expression>, category </dtml-if>\n
stock\n stock\n
LEFT JOIN catalog AS destination_section \n LEFT JOIN catalog AS mirror_section\n
ON destination_section.uid = stock.mirror_section_uid\n ON mirror_section.uid = stock.mirror_section_uid\n
AND stock.node_uid = <dtml-var getUid>\n AND stock.node_uid = <dtml-var getUid>\n
\n \n
WHERE stock.node_uid = <dtml-var getUid>\n WHERE stock.node_uid = <dtml-var getUid>\n
AND transaction_line.uid = stock.uid \n AND transaction_line.uid = stock.uid\n
AND transaction_line.portal_type <> \'Simulation Movement\'\n AND transaction_line.portal_type <> \'Simulation Movement\'\n
AND transaction_line.parent_uid = transaction.uid\n AND transaction_line.parent_uid = transaction.uid\n
AND catalog.uid = stock.section_uid\n AND catalog.uid = stock.section_uid\n
AND movement.uid = stock.uid\n
AND movement.is_accountable = 1\n
<dtml-if resource_uid>\n <dtml-if resource_uid>\n
AND (\n AND (\n
<dtml-in resource_uid>\n <dtml-in resource_uid>\n
movement.resource_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n stock.resource_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
<dtml-if from_date>\n <dtml-if from_date>\n
AND movement.start_date >= <dtml-sqlvar from_date type="datetime">\n AND stock.date >= <dtml-sqlvar from_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if at_date>\n <dtml-if at_date>\n
AND movement.start_date <= <dtml-sqlvar at_date type="datetime">\n AND stock.date <= <dtml-sqlvar at_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if to_date>\n <dtml-if to_date>\n
AND movement.start_date < <dtml-sqlvar to_date type="datetime">\n AND stock.date < <dtml-sqlvar to_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_input>\n <dtml-if omit_input>\n
AND stock.quantity < 0\n AND stock.total_price < 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_output>\n <dtml-if omit_output>\n
AND stock.quantity > 0\n AND stock.total_price > 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if source_payment_uid>\n <dtml-if source_payment_uid>\n
AND stock.payment_uid = <dtml-sqlvar source_payment_uid type="int">\n AND stock.payment_uid = <dtml-sqlvar source_payment_uid type="int">\n
...@@ -322,16 +322,17 @@ WHERE stock.node_uid = <dtml-var getUid>\n ...@@ -322,16 +322,17 @@ WHERE stock.node_uid = <dtml-var getUid>\n
<dtml-if no_source_payment_uid>\n <dtml-if no_source_payment_uid>\n
AND stock.payment_uid IS NULL\n AND stock.payment_uid IS NULL\n
</dtml-if>\n </dtml-if>\n
<dtml-if destination_section_uid>\n <dtml-if mirror_section_uid>\n
AND stock.mirror_section_uid = <dtml-sqlvar destination_section_uid type="int">\n AND stock.mirror_section_uid = <dtml-sqlvar mirror_section_uid type="int">\n
</dtml-if>\n </dtml-if>\n
<dtml-if no_destination_section_uid>\n <dtml-if no_mirror_section_uid>\n
AND stock.mirror_section_uid IS NULL\n AND stock.mirror_section_uid IS NULL\n
</dtml-if>\n </dtml-if>\n
<dtml-if transaction_simulation_state>\n <dtml-if transaction_simulation_state>\n
AND (\n AND (\n
<dtml-in transaction_simulation_state>\n <dtml-in transaction_simulation_state>\n
transaction.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n transaction.simulation_state = <dtml-sqlvar sequence-item type="string">\n
<dtml-if sequence-end><dtml-else> OR </dtml-if>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
<dtml-else>\n <dtml-else>\n
...@@ -340,7 +341,8 @@ WHERE stock.node_uid = <dtml-var getUid>\n ...@@ -340,7 +341,8 @@ WHERE stock.node_uid = <dtml-var getUid>\n
</dtml-if>\n </dtml-if>\n
AND section.uid = stock.section_uid\n AND section.uid = stock.section_uid\n
<dtml-if transaction_section_category>\n <dtml-if transaction_section_category>\n
AND section_c.relative_url = <dtml-sqlvar transaction_section_category type="string">\n AND section_c.relative_url = <dtml-sqlvar\n
transaction_section_category type="string">\n
</dtml-if>\n </dtml-if>\n
AND section_membership.category_uid = section_c.uid\n AND section_membership.category_uid = section_c.uid\n
AND section_membership.base_category_uid = section_bc.uid\n AND section_membership.base_category_uid = section_bc.uid\n
...@@ -356,7 +358,7 @@ WHERE stock.node_uid = <dtml-var getUid>\n ...@@ -356,7 +358,7 @@ WHERE stock.node_uid = <dtml-var getUid>\n
AND <dtml-var "selection_report.asSqlExpression(strict_membership=1)">\n AND <dtml-var "selection_report.asSqlExpression(strict_membership=1)">\n
</dtml-if>\n </dtml-if>\n
ORDER BY\n ORDER BY\n
stop_date, transaction_line.uid\n stock.date, transaction_line.uid\n
</dtml-if>\n </dtml-if>\n
...@@ -401,13 +403,14 @@ SELECT\n ...@@ -401,13 +403,14 @@ SELECT\n
DISTINCT transaction.uid, transaction.path,\n DISTINCT transaction.uid, transaction.path,\n
transaction_line.path as current_transaction_line_path,\n transaction_line.path as current_transaction_line_path,\n
transaction.title as transaction_title,\n transaction.title as transaction_title,\n
destination_section.title AS third_party,\n mirror_section.title AS third_party,\n
IF(stock.quantity > 0, stock.quantity, 0.0) AS source_debit,\n IF(stock.total_price > 0, stock.total_price, 0.0) AS debit,\n
IF(stock.quantity < 0, - stock.quantity, 0.0) AS source_credit,\n IF(stock.total_price < 0, - stock.total_price, 0.0) AS credit,\n
stock.quantity AS source_balance,\n stock.date AS date,\n
stock.payment_uid AS source_payment_uid\n transaction.source_reference AS specific_reference,\n
stock.total_price AS balance,\n
stock.payment_uid AS payment_uid\n
FROM\n FROM\n
movement,\n
catalog,\n catalog,\n
catalog AS transaction_line,\n catalog AS transaction_line,\n
catalog AS transaction,\n catalog AS transaction,\n
...@@ -419,38 +422,37 @@ FROM\n ...@@ -419,38 +422,37 @@ FROM\n
<dtml-if selection_report><dtml-var "selection_report.asSqlJoinExpression()">, </dtml-if>\n <dtml-if selection_report><dtml-var "selection_report.asSqlJoinExpression()">, </dtml-if>\n
<dtml-if where_expression>, category </dtml-if>\n <dtml-if where_expression>, category </dtml-if>\n
stock\n stock\n
LEFT JOIN catalog AS destination_section \n LEFT JOIN catalog AS mirror_section\n
ON destination_section.uid = stock.mirror_section_uid\n ON mirror_section.uid = stock.mirror_section_uid\n
AND stock.node_uid = <dtml-var getUid>\n AND stock.node_uid = <dtml-var getUid>\n
\n \n
WHERE stock.node_uid = <dtml-var getUid>\n WHERE stock.node_uid = <dtml-var getUid>\n
AND transaction_line.uid = stock.uid \n AND transaction_line.uid = stock.uid\n
AND transaction_line.portal_type <> \'Simulation Movement\'\n AND transaction_line.portal_type <> \'Simulation Movement\'\n
AND transaction_line.parent_uid = transaction.uid\n AND transaction_line.parent_uid = transaction.uid\n
AND catalog.uid = stock.section_uid\n AND catalog.uid = stock.section_uid\n
AND movement.uid = stock.uid\n
AND movement.is_accountable = 1\n
<dtml-if resource_uid>\n <dtml-if resource_uid>\n
AND (\n AND (\n
<dtml-in resource_uid>\n <dtml-in resource_uid>\n
movement.resource_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n stock.resource_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
<dtml-if from_date>\n <dtml-if from_date>\n
AND movement.start_date >= <dtml-sqlvar from_date type="datetime">\n AND stock.date >= <dtml-sqlvar from_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if at_date>\n <dtml-if at_date>\n
AND movement.start_date <= <dtml-sqlvar at_date type="datetime">\n AND stock.date <= <dtml-sqlvar at_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if to_date>\n <dtml-if to_date>\n
AND movement.start_date < <dtml-sqlvar to_date type="datetime">\n AND stock.date < <dtml-sqlvar to_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_input>\n <dtml-if omit_input>\n
AND stock.quantity < 0\n AND stock.total_price < 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_output>\n <dtml-if omit_output>\n
AND stock.quantity > 0\n AND stock.total_price > 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if source_payment_uid>\n <dtml-if source_payment_uid>\n
AND stock.payment_uid = <dtml-sqlvar source_payment_uid type="int">\n AND stock.payment_uid = <dtml-sqlvar source_payment_uid type="int">\n
...@@ -458,16 +460,17 @@ WHERE stock.node_uid = <dtml-var getUid>\n ...@@ -458,16 +460,17 @@ WHERE stock.node_uid = <dtml-var getUid>\n
<dtml-if no_source_payment_uid>\n <dtml-if no_source_payment_uid>\n
AND stock.payment_uid IS NULL\n AND stock.payment_uid IS NULL\n
</dtml-if>\n </dtml-if>\n
<dtml-if destination_section_uid>\n <dtml-if mirror_section_uid>\n
AND stock.mirror_section_uid = <dtml-sqlvar destination_section_uid type="int">\n AND stock.mirror_section_uid = <dtml-sqlvar mirror_section_uid type="int">\n
</dtml-if>\n </dtml-if>\n
<dtml-if no_destination_section_uid>\n <dtml-if no_mirror_section_uid>\n
AND stock.mirror_section_uid IS NULL\n AND stock.mirror_section_uid IS NULL\n
</dtml-if>\n </dtml-if>\n
<dtml-if transaction_simulation_state>\n <dtml-if transaction_simulation_state>\n
AND (\n AND (\n
<dtml-in transaction_simulation_state>\n <dtml-in transaction_simulation_state>\n
transaction.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n transaction.simulation_state = <dtml-sqlvar sequence-item type="string">\n
<dtml-if sequence-end><dtml-else> OR </dtml-if>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
<dtml-else>\n <dtml-else>\n
...@@ -476,7 +479,8 @@ WHERE stock.node_uid = <dtml-var getUid>\n ...@@ -476,7 +479,8 @@ WHERE stock.node_uid = <dtml-var getUid>\n
</dtml-if>\n </dtml-if>\n
AND section.uid = stock.section_uid\n AND section.uid = stock.section_uid\n
<dtml-if transaction_section_category>\n <dtml-if transaction_section_category>\n
AND section_c.relative_url = <dtml-sqlvar transaction_section_category type="string">\n AND section_c.relative_url = <dtml-sqlvar\n
transaction_section_category type="string">\n
</dtml-if>\n </dtml-if>\n
AND section_membership.category_uid = section_c.uid\n AND section_membership.category_uid = section_c.uid\n
AND section_membership.base_category_uid = section_bc.uid\n AND section_membership.base_category_uid = section_bc.uid\n
...@@ -492,7 +496,7 @@ WHERE stock.node_uid = <dtml-var getUid>\n ...@@ -492,7 +496,7 @@ WHERE stock.node_uid = <dtml-var getUid>\n
AND <dtml-var "selection_report.asSqlExpression(strict_membership=1)">\n AND <dtml-var "selection_report.asSqlExpression(strict_membership=1)">\n
</dtml-if>\n </dtml-if>\n
ORDER BY\n ORDER BY\n
stop_date, transaction_line.uid\n stock.date, transaction_line.uid\n
</dtml-if>\n </dtml-if>\n
......
...@@ -104,12 +104,16 @@ net_balance = 0.0\n ...@@ -104,12 +104,16 @@ net_balance = 0.0\n
# \n # \n
for l in result:\n for l in result:\n
o = l.getObject()\n o = l.getObject()\n
net_balance += l.source_balance or 0.0\n net_balance += l.balance or 0.0\n
if o is not None:\n if o is not None:\n
c = o.asContext(net_balance = net_balance,\n c = o.asContext( net_balance = net_balance,\n
source_balance=l.source_balance,\n balance=l.balance,\n
source_credit=l.source_credit,\n credit=l.credit,\n
source_debit=l.source_debit )\n debit=l.debit,\n
section_title=l.section_title,\n
specific_reference=l.specific_reference,\n
date=l.date,\n
)\n
new_result.append(c)\n new_result.append(c)\n
\n \n
return new_result\n return new_result\n
...@@ -130,7 +134,7 @@ return new_result\n ...@@ -130,7 +134,7 @@ return new_result\n
</item> </item>
<item> <item>
<key> <string>_filepath</string> </key> <key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_accounting/BankAccount_getAccountingTransactionList</string> </value> <value> <string>Script (Python):/erp5/portal_skins/erp5_accounting/BankAccount_getAccountingTransactionList</string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
......
...@@ -134,18 +134,18 @@ ...@@ -134,18 +134,18 @@
<key> <string>_keys</string> </key> <key> <string>_keys</string> </key>
<value> <value>
<list> <list>
<string>getUid</string> <string>getUid</string>
<string>getParentUid</string> <string>getParentUid</string>
<string>query</string> <string>query</string>
<string>omit_input</string> <string>omit_input</string>
<string>omit_output</string> <string>omit_output</string>
<string>resource_uid</string> <string>resource_uid</string>
<string>from_date</string> <string>from_date</string>
<string>at_date</string> <string>at_date</string>
<string>to_date</string> <string>to_date</string>
<string>transaction_simulation_state</string> <string>transaction_simulation_state</string>
<string>node_uid</string> <string>node_uid</string>
<string>stat</string> <string>stat</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -195,7 +195,9 @@ stat</string> </value> ...@@ -195,7 +195,9 @@ stat</string> </value>
</item> </item>
<item> <item>
<key> <string>connection_hook</string> </key> <key> <string>connection_hook</string> </key>
<value> <string></string> </value> <value>
<none/>
</value>
</item> </item>
<item> <item>
<key> <string>connection_id</string> </key> <key> <string>connection_id</string> </key>
...@@ -220,14 +222,18 @@ stat</string> </value> ...@@ -220,14 +222,18 @@ stat</string> </value>
<dtml-if getParentUid>\n <dtml-if getParentUid>\n
SELECT\n SELECT\n
<dtml-if stat>\n <dtml-if stat>\n
SUM(stock.quantity) AS quantity\n SUM(stock.total_price) AS quantity\n
<dtml-else>\n <dtml-else>\n
catalog.uid\n catalog.uid\n
, catalog.path\n , catalog.path\n
-- , @runningTotal:=IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0) - IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) + @runningTotal AS net_balance\n , stock.date as date\n
, IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) AS source_debit\n , section.title as section_title\n
, IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0) AS source_credit\n , IF(delivery.source_section_uid = stock.section_uid,\n
, - IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0) + IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) AS source_balance\n catalog.source_reference, catalog.destination_reference) AS specific_reference\n
, IFNULL(SUM(IF(stock.total_price > 0, stock.total_price, 0)), 0) AS debit\n
, IFNULL(SUM(IF(stock.total_price < 0, - stock.total_price, 0)), 0) AS credit\n
, - IFNULL(SUM(IF(stock.total_price < 0, - stock.total_price, 0)), 0)\n
+ IFNULL(SUM(IF(stock.total_price > 0, stock.total_price, 0)), 0) AS balance\n
</dtml-if>\n </dtml-if>\n
FROM\n FROM\n
movement\n movement\n
...@@ -236,29 +242,36 @@ FROM\n ...@@ -236,29 +242,36 @@ FROM\n
, catalog\n , catalog\n
, catalog AS node\n , catalog AS node\n
, category AS node_category\n , category AS node_category\n
, catalog AS section\n
, delivery\n
<dtml-if query>\n <dtml-if query>\n
, category\n , category\n
</dtml-if>\n </dtml-if>\n
WHERE stock.section_uid = <dtml-var getParentUid>\n WHERE stock.section_uid = <dtml-var getParentUid>\n
AND stock.payment_uid = <dtml-var getUid>\n AND stock.payment_uid = <dtml-var getUid>\n
AND child.uid = stock.uid \n AND stock.mirror_section_uid = section.uid\n
AND delivery.uid = catalog.uid\n
AND child.uid = stock.uid\n
AND child.parent_uid = catalog.uid\n AND child.parent_uid = catalog.uid\n
AND movement.uid = stock.uid\n AND movement.uid = stock.uid\n
AND movement.is_accountable = 1\n AND movement.is_accountable = 1\n
AND node.uid = stock.node_uid\n AND node.uid = stock.node_uid\n
AND node.uid = node_category.uid\n AND node.uid = node_category.uid\n
AND node_category.category_uid = <dtml-sqlvar "portal_categories.account_type.asset.cash.getUid()" type="int">\n AND node_category.category_uid = <dtml-sqlvar\n
"portal_categories.account_type.asset.cash.getUid()" type="int">\n
<dtml-if node_uid>\n <dtml-if node_uid>\n
AND (\n AND (\n
<dtml-in node_uid>\n <dtml-in node_uid>\n
stock.node_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n stock.node_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
<dtml-if resource_uid>\n <dtml-if resource_uid>\n
AND (\n AND (\n
<dtml-in resource_uid>\n <dtml-in resource_uid>\n
movement.resource_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n movement.resource_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -272,15 +285,16 @@ WHERE stock.section_uid = <dtml-var getParentUid>\n ...@@ -272,15 +285,16 @@ WHERE stock.section_uid = <dtml-var getParentUid>\n
AND stock.date < <dtml-sqlvar to_date type="datetime">\n AND stock.date < <dtml-sqlvar to_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_input>\n <dtml-if omit_input>\n
AND stock.quantity > 0\n AND stock.total_price > 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_output>\n <dtml-if omit_output>\n
AND stock.quantity < 0\n AND stock.total_price < 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if transaction_simulation_state>\n <dtml-if transaction_simulation_state>\n
AND (\n AND (\n
<dtml-in transaction_simulation_state>\n <dtml-in transaction_simulation_state>\n
catalog.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n catalog.simulation_state = <dtml-sqlvar sequence-item type="string">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -289,9 +303,9 @@ WHERE stock.section_uid = <dtml-var getParentUid>\n ...@@ -289,9 +303,9 @@ WHERE stock.section_uid = <dtml-var getParentUid>\n
AND <dtml-var query>\n AND <dtml-var query>\n
</dtml-if>\n </dtml-if>\n
<dtml-unless stat>\n <dtml-unless stat>\n
GROUP BY catalog.uid\n GROUP BY catalog.uid\n
</dtml-unless>\n </dtml-unless>\n
ORDER BY stock.date, movement.uid\n ORDER BY stock.date, movement.uid\n
</dtml-if>\n </dtml-if>\n
...@@ -334,14 +348,18 @@ ORDER BY stock.date, movement.uid\n ...@@ -334,14 +348,18 @@ ORDER BY stock.date, movement.uid\n
<dtml-if getParentUid>\n <dtml-if getParentUid>\n
SELECT\n SELECT\n
<dtml-if stat>\n <dtml-if stat>\n
SUM(stock.quantity) AS quantity\n SUM(stock.total_price) AS quantity\n
<dtml-else>\n <dtml-else>\n
catalog.uid\n catalog.uid\n
, catalog.path\n , catalog.path\n
-- , @runningTotal:=IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0) - IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) + @runningTotal AS net_balance\n , stock.date as date\n
, IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) AS source_debit\n , section.title as section_title\n
, IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0) AS source_credit\n , IF(delivery.source_section_uid = stock.section_uid,\n
, - IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0) + IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0) AS source_balance\n catalog.source_reference, catalog.destination_reference) AS specific_reference\n
, IFNULL(SUM(IF(stock.total_price > 0, stock.total_price, 0)), 0) AS debit\n
, IFNULL(SUM(IF(stock.total_price < 0, - stock.total_price, 0)), 0) AS credit\n
, - IFNULL(SUM(IF(stock.total_price < 0, - stock.total_price, 0)), 0)\n
+ IFNULL(SUM(IF(stock.total_price > 0, stock.total_price, 0)), 0) AS balance\n
</dtml-if>\n </dtml-if>\n
FROM\n FROM\n
movement\n movement\n
...@@ -350,29 +368,36 @@ FROM\n ...@@ -350,29 +368,36 @@ FROM\n
, catalog\n , catalog\n
, catalog AS node\n , catalog AS node\n
, category AS node_category\n , category AS node_category\n
, catalog AS section\n
, delivery\n
<dtml-if query>\n <dtml-if query>\n
, category\n , category\n
</dtml-if>\n </dtml-if>\n
WHERE stock.section_uid = <dtml-var getParentUid>\n WHERE stock.section_uid = <dtml-var getParentUid>\n
AND stock.payment_uid = <dtml-var getUid>\n AND stock.payment_uid = <dtml-var getUid>\n
AND child.uid = stock.uid \n AND stock.mirror_section_uid = section.uid\n
AND delivery.uid = catalog.uid\n
AND child.uid = stock.uid\n
AND child.parent_uid = catalog.uid\n AND child.parent_uid = catalog.uid\n
AND movement.uid = stock.uid\n AND movement.uid = stock.uid\n
AND movement.is_accountable = 1\n AND movement.is_accountable = 1\n
AND node.uid = stock.node_uid\n AND node.uid = stock.node_uid\n
AND node.uid = node_category.uid\n AND node.uid = node_category.uid\n
AND node_category.category_uid = <dtml-sqlvar "portal_categories.account_type.asset.cash.getUid()" type="int">\n AND node_category.category_uid = <dtml-sqlvar\n
"portal_categories.account_type.asset.cash.getUid()" type="int">\n
<dtml-if node_uid>\n <dtml-if node_uid>\n
AND (\n AND (\n
<dtml-in node_uid>\n <dtml-in node_uid>\n
stock.node_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n stock.node_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
<dtml-if resource_uid>\n <dtml-if resource_uid>\n
AND (\n AND (\n
<dtml-in resource_uid>\n <dtml-in resource_uid>\n
movement.resource_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n movement.resource_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -386,15 +411,16 @@ WHERE stock.section_uid = <dtml-var getParentUid>\n ...@@ -386,15 +411,16 @@ WHERE stock.section_uid = <dtml-var getParentUid>\n
AND stock.date < <dtml-sqlvar to_date type="datetime">\n AND stock.date < <dtml-sqlvar to_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_input>\n <dtml-if omit_input>\n
AND stock.quantity > 0\n AND stock.total_price > 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_output>\n <dtml-if omit_output>\n
AND stock.quantity < 0\n AND stock.total_price < 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if transaction_simulation_state>\n <dtml-if transaction_simulation_state>\n
AND (\n AND (\n
<dtml-in transaction_simulation_state>\n <dtml-in transaction_simulation_state>\n
catalog.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n catalog.simulation_state = <dtml-sqlvar sequence-item type="string">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -403,9 +429,9 @@ WHERE stock.section_uid = <dtml-var getParentUid>\n ...@@ -403,9 +429,9 @@ WHERE stock.section_uid = <dtml-var getParentUid>\n
AND <dtml-var query>\n AND <dtml-var query>\n
</dtml-if>\n </dtml-if>\n
<dtml-unless stat>\n <dtml-unless stat>\n
GROUP BY catalog.uid\n GROUP BY catalog.uid\n
</dtml-unless>\n </dtml-unless>\n
ORDER BY stock.date, movement.uid\n ORDER BY stock.date, movement.uid\n
</dtml-if>\n </dtml-if>\n
......
...@@ -77,13 +77,18 @@ preference = context.getPortalObject().portal_preferences\n ...@@ -77,13 +77,18 @@ preference = context.getPortalObject().portal_preferences\n
from_date = preference.getPreferredAccountingTransactionFromDate()\n from_date = preference.getPreferredAccountingTransactionFromDate()\n
if from_date :\n if from_date :\n
kwd[\'from_date\'] = from_date\n kwd[\'from_date\'] = from_date\n
\n
at_date = preference.getPreferredAccountingTransactionAtDate()\n at_date = preference.getPreferredAccountingTransactionAtDate()\n
if at_date :\n if at_date :\n
kwd[\'at_date\'] = at_date\n kwd[\'at_date\'] = at_date\n
simulation_state = preference.getPreferredAccountingTransactionSimulationStateList()\n \n
simulation_state = preference\\\n
.getPreferredAccountingTransactionSimulationStateList()\n
if simulation_state :\n if simulation_state :\n
kwd[\'transaction_simulation_state\'] = simulation_state\n kwd[\'transaction_simulation_state\'] = simulation_state\n
section_category = preference.getPreferredAccountingTransactionSectionCategory()\n \n
section_category = preference\\\n
.getPreferredAccountingTransactionSectionCategory()\n
if section_category :\n if section_category :\n
kwd[\'transaction_section_category\'] = section_category\n kwd[\'transaction_section_category\'] = section_category\n
\n \n
...@@ -93,9 +98,9 @@ if kw.has_key(\'transaction_portal_type\'):\n ...@@ -93,9 +98,9 @@ if kw.has_key(\'transaction_portal_type\'):\n
kwd[\'transaction_portal_type\'] = kw[\'transaction_portal_type\']\n kwd[\'transaction_portal_type\'] = kw[\'transaction_portal_type\']\n
\n \n
\n \n
# FIXME: same problem as in BankAccount_getAccountingTransactionList\n
\n \n
#LOG("SQL used: %s" % context.Entity_zGetAccountingTransactionList(src__=1, **kwd))\n # FIXME: same problem as in BankAccount_getAccountingTransactionList\n
# LOG("SQL used: %s" % context.Entity_zGetAccountingTransactionList(src__=1, **kwd))\n
\n \n
new_result = []\n new_result = []\n
result = context.Entity_zGetAccountingTransactionList(**kwd)\n result = context.Entity_zGetAccountingTransactionList(**kwd)\n
...@@ -104,17 +109,20 @@ if src__:\n ...@@ -104,17 +109,20 @@ if src__:\n
net_balance = 0.0\n net_balance = 0.0\n
for l in result:\n for l in result:\n
o = l.getObject()\n o = l.getObject()\n
net_balance += l.source_balance or 0.0\n net_balance += l.balance or 0.0\n
if o is not None:\n if o is not None:\n
c = o.asContext(net_balance = net_balance,\n c = o.asContext( net_balance = net_balance,\n
source_balance=l.source_balance,\n balance=l.balance,\n
source_credit=l.source_credit,\n credit=l.credit,\n
source_debit=l.source_debit,\n debit=l.debit,\n
date=l.date,\n date=l.date,\n
parent_reference=l.parent_reference,\n section_title=l.section_title,\n
parent_source_reference=l.parent_source_reference,\n parent_reference=l.parent_reference,\n
translated_simulation_state_title = o.getTranslatedSimulationStateTitle(),\n parent_specific_reference=l.parent_specific_reference,\n
portal_type=l.portal_type )\n translated_simulation_state_title =\n
o.getTranslatedSimulationStateTitle(),\n
portal_type=l.portal_type,\n
account_uid=l.account_uid, )\n
new_result.append(c)\n new_result.append(c)\n
\n \n
return new_result\n return new_result\n
...@@ -135,7 +143,7 @@ return new_result\n ...@@ -135,7 +143,7 @@ return new_result\n
</item> </item>
<item> <item>
<key> <string>_filepath</string> </key> <key> <string>_filepath</string> </key>
<value> <string>Script (Python):/nexedi/portal_skins/erp5_accounting/Entity_getAccountingTransactionList</string> </value> <value> <string>Script (Python):/erp5/portal_skins/erp5_accounting/Entity_getAccountingTransactionList</string> </value>
</item> </item>
<item> <item>
<key> <string>_params</string> </key> <key> <string>_params</string> </key>
......
...@@ -103,8 +103,8 @@ ...@@ -103,8 +103,8 @@
<value> <value>
<dictionary> <dictionary>
<item> <item>
<key> <string>type</string> </key> <key> <string>default</string> </key>
<value> <string>list</string> </value> <value> <string></string> </value>
</item> </item>
</dictionary> </dictionary>
</value> </value>
...@@ -156,20 +156,21 @@ ...@@ -156,20 +156,21 @@
<key> <string>_keys</string> </key> <key> <string>_keys</string> </key>
<value> <value>
<list> <list>
<string>getUid</string> <string>getUid</string>
<string>query</string> <string>query</string>
<string>omit_input</string> <string>omit_input</string>
<string>omit_output</string> <string>omit_output</string>
<string>resource_uid</string> <string>resource_uid</string>
<string>from_date</string> <string>from_date</string>
<string>at_date</string> <string>at_date</string>
<string>to_date</string> <string>to_date</string>
<string>transaction_simulation_state</string> <string>transaction_simulation_state</string>
<string>transaction_section_category</string> <string>transaction_section_category</string>
<string>transaction_portal_type</string> <string>transaction_portal_type</string>
<string>node_uid</string> <string>node_uid</string>
<string>hide_grouping</string> <string>hide_grouping</string>
<string>stat</string> <string>resource_uid</string>
<string>stat</string>
</list> </list>
</value> </value>
</item> </item>
...@@ -205,6 +206,7 @@ transaction_section_category\r\n ...@@ -205,6 +206,7 @@ transaction_section_category\r\n
transaction_portal_type:list\r\n transaction_portal_type:list\r\n
node_uid:list\r\n node_uid:list\r\n
hide_grouping=""\r\n hide_grouping=""\r\n
resource_uid=""\n
stat</string> </value> stat</string> </value>
</item> </item>
<item> <item>
...@@ -248,48 +250,65 @@ stat</string> </value> ...@@ -248,48 +250,65 @@ stat</string> </value>
<dtml-if getUid>\n <dtml-if getUid>\n
SELECT\n SELECT\n
<dtml-if stat>\n <dtml-if stat>\n
IFNULL(SUM(stock.total_price), 0.00) AS total_price,\n
IFNULL(SUM(stock.quantity), 0.00) AS quantity\n IFNULL(SUM(stock.quantity), 0.00) AS quantity\n
<dtml-else>\n <dtml-else>\n
DISTINCT child.uid AS uid\n DISTINCT child.uid AS uid\n
, child.path AS path\n , child.path AS path\n
, stock.node_uid AS account_uid\n
, stock.date AS date\n , stock.date AS date\n
, stock.node_uid AS account_uid\n
, catalog.reference AS parent_reference\n , catalog.reference AS parent_reference\n
, catalog.source_reference AS parent_source_reference -- FIXME\n , mirror_section.title AS section_title\n
, IF(stock.section_uid = delivery.source_section_uid,\n
catalog.source_reference,\n
catalog.destination_reference) AS parent_specific_reference\n
, catalog.portal_type AS portal_type\n , catalog.portal_type AS portal_type\n
, IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0.00) AS source_debit\n <dtml-if resource_uid>\n
, IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0.00) AS source_credit\n , IFNULL(SUM(IF(stock.quantity > 0,\n
, IFNULL(SUM(stock.quantity), 0.00) AS source_balance\n stock.quantity, 0)), 0.00) AS debit\n
, IFNULL(SUM(IF(stock.quantity < 0,\n
- stock.quantity, 0)), 0.00) AS credit\n
, IFNULL(SUM(stock.quantity), 0.00) AS balance\n
<dtml-else>\n
, IFNULL(SUM(IF(stock.total_price > 0,\n
stock.total_price, 0)), 0.00) AS debit\n
, IFNULL(SUM(IF(stock.total_price < 0,\n
- stock.total_price, 0)), 0.00) AS credit\n
, IFNULL(SUM(stock.total_price), 0.00) AS balance\n
</dtml-if>\n
</dtml-if>\n </dtml-if>\n
FROM\n FROM\n
movement\n stock\n
, stock\n
, catalog AS child\n , catalog AS child\n
, catalog\n , catalog\n
, catalog AS node\n , catalog AS node\n
, category AS node_category\n , category AS node_category\n
, category AS section_category\n , category AS section_category\n
, catalog AS mirror_section\n
, delivery\n
<dtml-if query>\n <dtml-if query>\n
, category\n , category\n
</dtml-if>\n </dtml-if>\n
WHERE stock.mirror_section_uid = <dtml-var getUid>\n WHERE stock.mirror_section_uid = <dtml-var getUid>\n
AND child.uid = stock.uid \n AND child.uid = stock.uid\n
AND delivery.uid = catalog.uid\n
AND child.parent_uid = catalog.uid\n AND child.parent_uid = catalog.uid\n
AND child.portal_type <> "Simulation Movement"\n AND child.portal_type <> "Simulation Movement"\n
AND movement.uid = stock.uid\n
AND movement.source_uid = node.uid\n
AND movement.is_accountable = 1\n
AND node.uid = stock.node_uid\n AND node.uid = stock.node_uid\n
AND node.uid = node_category.uid\n AND node.uid = node_category.uid\n
AND stock.section_uid = section_category.uid\n AND stock.section_uid = section_category.uid\n
AND (node_category.category_uid = <dtml-var expr="getPortalObject().portal_categories.account_type.asset.receivable.getUid()">\n AND section_category.uid = mirror_section.uid\n
OR node_category.category_uid = <dtml-var expr="getPortalObject().portal_categories.account_type.liability.payable.getUid()">\n AND (node_category.category_uid = <dtml-var\n
expr="getPortalObject().portal_categories.account_type.asset.receivable.getUid()">\n
OR node_category.category_uid = <dtml-var\n
expr="getPortalObject().portal_categories.account_type.liability.payable.getUid()">\n
)\n )\n
AND node_category.category_strict_membership = 1\n AND node_category.category_strict_membership = 1\n
<dtml-if transaction_portal_type>\n <dtml-if transaction_portal_type>\n
AND (\n AND (\n
<dtml-in transaction_portal_type>\n <dtml-in transaction_portal_type>\n
catalog.portal_type = <dtml-sqlvar sequence-item type="string"><dtml-unless sequence-end> OR </dtml-unless>\n catalog.portal_type = <dtml-sqlvar sequence-item type="string">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -297,14 +316,16 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n ...@@ -297,14 +316,16 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n
<dtml-if node_uid>\n <dtml-if node_uid>\n
AND (\n AND (\n
<dtml-in node_uid>\n <dtml-in node_uid>\n
stock.node_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n stock.node_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
<dtml-if resource_uid>\n <dtml-if resource_uid>\n
AND (\n AND (\n
<dtml-in resource_uid>\n <dtml-in resource_uid>\n
movement.resource_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n stock.resource_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -318,15 +339,17 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n ...@@ -318,15 +339,17 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n
AND stock.date < <dtml-sqlvar to_date type="datetime">\n AND stock.date < <dtml-sqlvar to_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_input>\n <dtml-if omit_input>\n
AND stock.quantity > 0\n AND stock.total_price > 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_output>\n <dtml-if omit_output>\n
AND stock.quantity < 0\n AND stock.total_price < 0\n
</dtml-if>\n </dtml-if>\n
AND stock.total_price != 0\n
<dtml-if transaction_simulation_state>\n <dtml-if transaction_simulation_state>\n
AND (\n AND (\n
<dtml-in transaction_simulation_state>\n <dtml-in transaction_simulation_state>\n
catalog.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n catalog.simulation_state = <dtml-sqlvar sequence-item type="string">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -335,16 +358,16 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n ...@@ -335,16 +358,16 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n
<dtml-var expr="portal_categories.resolveCategory(transaction_section_category).getUid()">\n <dtml-var expr="portal_categories.resolveCategory(transaction_section_category).getUid()">\n
</dtml-if>\n </dtml-if>\n
<dtml-if hide_grouping>\n <dtml-if hide_grouping>\n
AND (child.grouping_reference IS NULL or child.grouping_reference ="")\n AND (child.grouping_reference IS NULL or child.grouping_reference = "")\n
</dtml-if hide_grouping>\n </dtml-if hide_grouping>\n
<dtml-if query>\n <dtml-if query>\n
AND category.uid = stock.section_uid\n AND category.uid = stock.section_uid\n
AND <dtml-var query>\n AND <dtml-var query>\n
</dtml-if>\n </dtml-if>\n
<dtml-unless stat>\n <dtml-unless stat>\n
GROUP BY catalog.uid, stock.node_uid\n GROUP BY catalog.uid, stock.node_uid\n
</dtml-unless>\n </dtml-unless>\n
ORDER BY stock.date, child.uid\n ORDER BY stock.date, child.uid\n
</dtml-if>\n </dtml-if>\n
...@@ -387,48 +410,65 @@ ORDER BY stock.date, child.uid\n ...@@ -387,48 +410,65 @@ ORDER BY stock.date, child.uid\n
<dtml-if getUid>\n <dtml-if getUid>\n
SELECT\n SELECT\n
<dtml-if stat>\n <dtml-if stat>\n
IFNULL(SUM(stock.total_price), 0.00) AS total_price,\n
IFNULL(SUM(stock.quantity), 0.00) AS quantity\n IFNULL(SUM(stock.quantity), 0.00) AS quantity\n
<dtml-else>\n <dtml-else>\n
DISTINCT child.uid AS uid\n DISTINCT child.uid AS uid\n
, child.path AS path\n , child.path AS path\n
, stock.node_uid AS account_uid\n
, stock.date AS date\n , stock.date AS date\n
, stock.node_uid AS account_uid\n
, catalog.reference AS parent_reference\n , catalog.reference AS parent_reference\n
, catalog.source_reference AS parent_source_reference -- FIXME\n , mirror_section.title AS section_title\n
, IF(stock.section_uid = delivery.source_section_uid,\n
catalog.source_reference,\n
catalog.destination_reference) AS parent_specific_reference\n
, catalog.portal_type AS portal_type\n , catalog.portal_type AS portal_type\n
, IFNULL(SUM(IF(stock.quantity > 0, stock.quantity, 0)), 0.00) AS source_debit\n <dtml-if resource_uid>\n
, IFNULL(SUM(IF(stock.quantity < 0, - stock.quantity, 0)), 0.00) AS source_credit\n , IFNULL(SUM(IF(stock.quantity > 0,\n
, IFNULL(SUM(stock.quantity), 0.00) AS source_balance\n stock.quantity, 0)), 0.00) AS debit\n
, IFNULL(SUM(IF(stock.quantity < 0,\n
- stock.quantity, 0)), 0.00) AS credit\n
, IFNULL(SUM(stock.quantity), 0.00) AS balance\n
<dtml-else>\n
, IFNULL(SUM(IF(stock.total_price > 0,\n
stock.total_price, 0)), 0.00) AS debit\n
, IFNULL(SUM(IF(stock.total_price < 0,\n
- stock.total_price, 0)), 0.00) AS credit\n
, IFNULL(SUM(stock.total_price), 0.00) AS balance\n
</dtml-if>\n
</dtml-if>\n </dtml-if>\n
FROM\n FROM\n
movement\n stock\n
, stock\n
, catalog AS child\n , catalog AS child\n
, catalog\n , catalog\n
, catalog AS node\n , catalog AS node\n
, category AS node_category\n , category AS node_category\n
, category AS section_category\n , category AS section_category\n
, catalog AS mirror_section\n
, delivery\n
<dtml-if query>\n <dtml-if query>\n
, category\n , category\n
</dtml-if>\n </dtml-if>\n
WHERE stock.mirror_section_uid = <dtml-var getUid>\n WHERE stock.mirror_section_uid = <dtml-var getUid>\n
AND child.uid = stock.uid \n AND child.uid = stock.uid\n
AND delivery.uid = catalog.uid\n
AND child.parent_uid = catalog.uid\n AND child.parent_uid = catalog.uid\n
AND child.portal_type <> "Simulation Movement"\n AND child.portal_type <> "Simulation Movement"\n
AND movement.uid = stock.uid\n
AND movement.source_uid = node.uid\n
AND movement.is_accountable = 1\n
AND node.uid = stock.node_uid\n AND node.uid = stock.node_uid\n
AND node.uid = node_category.uid\n AND node.uid = node_category.uid\n
AND stock.section_uid = section_category.uid\n AND stock.section_uid = section_category.uid\n
AND (node_category.category_uid = <dtml-var expr="getPortalObject().portal_categories.account_type.asset.receivable.getUid()">\n AND section_category.uid = mirror_section.uid\n
OR node_category.category_uid = <dtml-var expr="getPortalObject().portal_categories.account_type.liability.payable.getUid()">\n AND (node_category.category_uid = <dtml-var\n
expr="getPortalObject().portal_categories.account_type.asset.receivable.getUid()">\n
OR node_category.category_uid = <dtml-var\n
expr="getPortalObject().portal_categories.account_type.liability.payable.getUid()">\n
)\n )\n
AND node_category.category_strict_membership = 1\n AND node_category.category_strict_membership = 1\n
<dtml-if transaction_portal_type>\n <dtml-if transaction_portal_type>\n
AND (\n AND (\n
<dtml-in transaction_portal_type>\n <dtml-in transaction_portal_type>\n
catalog.portal_type = <dtml-sqlvar sequence-item type="string"><dtml-unless sequence-end> OR </dtml-unless>\n catalog.portal_type = <dtml-sqlvar sequence-item type="string">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -436,14 +476,16 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n ...@@ -436,14 +476,16 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n
<dtml-if node_uid>\n <dtml-if node_uid>\n
AND (\n AND (\n
<dtml-in node_uid>\n <dtml-in node_uid>\n
stock.node_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n stock.node_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
<dtml-if resource_uid>\n <dtml-if resource_uid>\n
AND (\n AND (\n
<dtml-in resource_uid>\n <dtml-in resource_uid>\n
movement.resource_uid = <dtml-sqlvar sequence-item type="int"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n stock.resource_uid = <dtml-sqlvar sequence-item type="int">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -457,15 +499,17 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n ...@@ -457,15 +499,17 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n
AND stock.date < <dtml-sqlvar to_date type="datetime">\n AND stock.date < <dtml-sqlvar to_date type="datetime">\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_input>\n <dtml-if omit_input>\n
AND stock.quantity > 0\n AND stock.total_price > 0\n
</dtml-if>\n </dtml-if>\n
<dtml-if omit_output>\n <dtml-if omit_output>\n
AND stock.quantity < 0\n AND stock.total_price < 0\n
</dtml-if>\n </dtml-if>\n
AND stock.total_price != 0\n
<dtml-if transaction_simulation_state>\n <dtml-if transaction_simulation_state>\n
AND (\n AND (\n
<dtml-in transaction_simulation_state>\n <dtml-in transaction_simulation_state>\n
catalog.simulation_state = <dtml-sqlvar sequence-item type="string"><dtml-if sequence-end><dtml-else> OR </dtml-if>\n catalog.simulation_state = <dtml-sqlvar sequence-item type="string">\n
<dtml-unless sequence-end> OR </dtml-unless>\n
</dtml-in>\n </dtml-in>\n
)\n )\n
</dtml-if>\n </dtml-if>\n
...@@ -474,16 +518,16 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n ...@@ -474,16 +518,16 @@ WHERE stock.mirror_section_uid = <dtml-var getUid>\n
<dtml-var expr="portal_categories.resolveCategory(transaction_section_category).getUid()">\n <dtml-var expr="portal_categories.resolveCategory(transaction_section_category).getUid()">\n
</dtml-if>\n </dtml-if>\n
<dtml-if hide_grouping>\n <dtml-if hide_grouping>\n
AND (child.grouping_reference IS NULL or child.grouping_reference ="")\n AND (child.grouping_reference IS NULL or child.grouping_reference = "")\n
</dtml-if hide_grouping>\n </dtml-if hide_grouping>\n
<dtml-if query>\n <dtml-if query>\n
AND category.uid = stock.section_uid\n AND category.uid = stock.section_uid\n
AND <dtml-var query>\n AND <dtml-var query>\n
</dtml-if>\n </dtml-if>\n
<dtml-unless stat>\n <dtml-unless stat>\n
GROUP BY catalog.uid, stock.node_uid\n GROUP BY catalog.uid, stock.node_uid\n
</dtml-unless>\n </dtml-unless>\n
ORDER BY stock.date, child.uid\n ORDER BY stock.date, child.uid\n
</dtml-if>\n </dtml-if>\n
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment