fixes issue 33582: make summary functions deactivable
authorCarlos Aristu <carlos.aristu@openbravo.com>
Tue, 09 Aug 2016 14:06:03 +0200
changeset 30084 c070107d842a
parent 30083 1755dcdca82d
child 30085 eec30a5fcdf4
fixes issue 33582: make summary functions deactivable

Make it possible to deactivate the summary functions in standard window grids and pick and execute grids, using Application Dictionary Grid Configuration feature.
modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_GC_SYSTEM.xml
modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_GC_TAB.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_ELEMENT.xml
modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-pick-and-execute-grid.js.ftl
modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-grid.js.ftl
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewGridComponent.java
modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewUtil.java
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-grid.js
modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-view.js
--- a/modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_GC_SYSTEM.xml	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_GC_SYSTEM.xml	Tue Aug 09 14:06:03 2016 +0200
@@ -73,6 +73,10 @@
         <default><![CDATA[10]]></default>
         <onCreateDefault><![CDATA['10']]></onCreateDefault>
       </column>
+      <column name="ALLOWSUMMARYFUNCTIONS" primaryKey="false" required="true" type="CHAR" size="1" autoIncrement="false">
+        <default><![CDATA[Y]]></default>
+        <onCreateDefault/>
+      </column>
       <foreign-key foreignTable="AD_CLIENT" name="OBUIAPP_GC_SYSTEM_CLIENT">
         <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
       </foreign-key>
@@ -84,6 +88,7 @@
       <check name="OBUIAPP_GC_SYS_ISLAZY_CHK"><![CDATA[ISLAZYFILTERING IN ('Y', 'N')]]></check>
       <check name="OBUIAPP_GC_SYS_ISSORT_CHK"><![CDATA[ISSORTABLE IN ('Y', 'N')]]></check>
       <check name="OBUIAPP_GC_SYS_ONCHNG_CHK"><![CDATA[FILTERONCHANGE IN ('Y', 'N')]]></check>
+      <check name="OBUIAPP_GC_SYS_SUMMARY_CHK"><![CDATA[ALLOWSUMMARYFUNCTIONS IN ('Y', 'N')]]></check>
       <check name="OBUIAPP_GC_SYS_UNFILTDD_CHK"><![CDATA[ISFKDROPDOWNUNFILTERED IN ('Y', 'N')]]></check>
     </table>
   </database>
--- a/modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_GC_TAB.xml	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/model/tables/OBUIAPP_GC_TAB.xml	Tue Aug 09 14:06:03 2016 +0200
@@ -77,6 +77,10 @@
         <default><![CDATA[10]]></default>
         <onCreateDefault><![CDATA['10']]></onCreateDefault>
       </column>
+      <column name="ALLOWSUMMARYFUNCTIONS" primaryKey="false" required="true" type="VARCHAR" size="60" autoIncrement="false">
+        <default><![CDATA[D]]></default>
+        <onCreateDefault/>
+      </column>
       <foreign-key foreignTable="AD_CLIENT" name="OBUIAPP_GC_TAB_CLIENT">
         <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
       </foreign-key>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_COLUMN.xml	Tue Aug 09 14:06:03 2016 +0200
@@ -1470,6 +1470,45 @@
 <!--178D324AD10947149B7F79F140AA6832-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
 <!--178D324AD10947149B7F79F140AA6832--></AD_COLUMN>
 
+<!--17BDFF7E011B456AA35E388543741F7C--><AD_COLUMN>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <AD_COLUMN_ID><![CDATA[17BDFF7E011B456AA35E388543741F7C]]></AD_COLUMN_ID>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <NAME><![CDATA[AllowSummaryFunctions]]></NAME>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <DESCRIPTION><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></DESCRIPTION>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <HELP><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></HELP>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <COLUMNNAME><![CDATA[AllowSummaryFunctions]]></COLUMNNAME>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <AD_TABLE_ID><![CDATA[5D50320222DD4865ADFD50364C84291D]]></AD_TABLE_ID>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <AD_REFERENCE_ID><![CDATA[20]]></AD_REFERENCE_ID>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <FIELDLENGTH><![CDATA[1]]></FIELDLENGTH>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <DEFAULTVALUE><![CDATA[Y]]></DEFAULTVALUE>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <SEQNO><![CDATA[190]]></SEQNO>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <AD_ELEMENT_ID><![CDATA[6F89D13CC2D547DF82B8B835DC91BC39]]></AD_ELEMENT_ID>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <POSITION><![CDATA[20]]></POSITION>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--17BDFF7E011B456AA35E388543741F7C-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--17BDFF7E011B456AA35E388543741F7C--></AD_COLUMN>
+
 <!--182023ADC5294B6C87123A6AF98F567D--><AD_COLUMN>
 <!--182023ADC5294B6C87123A6AF98F567D-->  <AD_COLUMN_ID><![CDATA[182023ADC5294B6C87123A6AF98F567D]]></AD_COLUMN_ID>
 <!--182023ADC5294B6C87123A6AF98F567D-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -3578,6 +3617,46 @@
 <!--566FA3846A514CB48A5B470711520415-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
 <!--566FA3846A514CB48A5B470711520415--></AD_COLUMN>
 
+<!--56C7AD9229D94A15A80AE69AB27D9AC7--><AD_COLUMN>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <AD_COLUMN_ID><![CDATA[56C7AD9229D94A15A80AE69AB27D9AC7]]></AD_COLUMN_ID>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <NAME><![CDATA[AllowSummaryFunctions]]></NAME>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <DESCRIPTION><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></DESCRIPTION>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <HELP><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></HELP>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <COLUMNNAME><![CDATA[AllowSummaryFunctions]]></COLUMNNAME>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <AD_TABLE_ID><![CDATA[8A16662B37184121A1EDAA89890E160C]]></AD_TABLE_ID>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <AD_REFERENCE_ID><![CDATA[17]]></AD_REFERENCE_ID>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <AD_REFERENCE_VALUE_ID><![CDATA[892231CFE03848758D74B0209B801C14]]></AD_REFERENCE_VALUE_ID>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <FIELDLENGTH><![CDATA[60]]></FIELDLENGTH>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <DEFAULTVALUE><![CDATA[D]]></DEFAULTVALUE>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISKEY><![CDATA[N]]></ISKEY>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISMANDATORY><![CDATA[Y]]></ISMANDATORY>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <SEQNO><![CDATA[210]]></SEQNO>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <AD_ELEMENT_ID><![CDATA[6F89D13CC2D547DF82B8B835DC91BC39]]></AD_ELEMENT_ID>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <POSITION><![CDATA[20]]></POSITION>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <IMAGESIZEVALUESACTION><![CDATA[N]]></IMAGESIZEVALUESACTION>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ISUSEDSEQUENCE><![CDATA[N]]></ISUSEDSEQUENCE>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ALLOWSORTING><![CDATA[Y]]></ALLOWSORTING>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ALLOWFILTERING><![CDATA[Y]]></ALLOWFILTERING>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7-->  <ALLOWED_CROSS_ORG_LINK><![CDATA[N]]></ALLOWED_CROSS_ORG_LINK>
+<!--56C7AD9229D94A15A80AE69AB27D9AC7--></AD_COLUMN>
+
 <!--57C992741B824BE5A3B285A4E2B9AF02--><AD_COLUMN>
 <!--57C992741B824BE5A3B285A4E2B9AF02-->  <AD_COLUMN_ID><![CDATA[57C992741B824BE5A3B285A4E2B9AF02]]></AD_COLUMN_ID>
 <!--57C992741B824BE5A3B285A4E2B9AF02-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_ELEMENT.xml	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_ELEMENT.xml	Tue Aug 09 14:06:03 2016 +0200
@@ -408,6 +408,20 @@
 <!--6DBAB16113DB4879A0EA095E80FBA959-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
 <!--6DBAB16113DB4879A0EA095E80FBA959--></AD_ELEMENT>
 
+<!--6F89D13CC2D547DF82B8B835DC91BC39--><AD_ELEMENT>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <AD_ELEMENT_ID><![CDATA[6F89D13CC2D547DF82B8B835DC91BC39]]></AD_ELEMENT_ID>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <COLUMNNAME><![CDATA[AllowSummaryFunctions]]></COLUMNNAME>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <NAME><![CDATA[Allow Summary Functions]]></NAME>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <PRINTNAME><![CDATA[Allow Summary Functions]]></PRINTNAME>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <DESCRIPTION><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></DESCRIPTION>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <HELP><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></HELP>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--6F89D13CC2D547DF82B8B835DC91BC39-->  <ISGLOSSARY><![CDATA[N]]></ISGLOSSARY>
+<!--6F89D13CC2D547DF82B8B835DC91BC39--></AD_ELEMENT>
+
 <!--7A18B7D741A349B493D145C80DB54E5E--><AD_ELEMENT>
 <!--7A18B7D741A349B493D145C80DB54E5E-->  <AD_ELEMENT_ID><![CDATA[7A18B7D741A349B493D145C80DB54E5E]]></AD_ELEMENT_ID>
 <!--7A18B7D741A349B493D145C80DB54E5E-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/src-db/database/sourcedata/AD_FIELD.xml	Tue Aug 09 14:06:03 2016 +0200
@@ -2362,6 +2362,34 @@
 <!--2D7AB3C1F38B437A878AE286C3AF9D17-->  <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
 <!--2D7AB3C1F38B437A878AE286C3AF9D17--></AD_FIELD>
 
+<!--2E33383FC304491FBBA8F4593AF9918C--><AD_FIELD>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <AD_FIELD_ID><![CDATA[2E33383FC304491FBBA8F4593AF9918C]]></AD_FIELD_ID>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <NAME><![CDATA[Allow Summary Functions]]></NAME>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <DESCRIPTION><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></DESCRIPTION>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <HELP><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></HELP>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <AD_TAB_ID><![CDATA[49B33DC2EDFD45A48EECE139AD5E9AC9]]></AD_TAB_ID>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <AD_COLUMN_ID><![CDATA[56C7AD9229D94A15A80AE69AB27D9AC7]]></AD_COLUMN_ID>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <DISPLAYLENGTH><![CDATA[60]]></DISPLAYLENGTH>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <SEQNO><![CDATA[1010]]></SEQNO>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--2E33383FC304491FBBA8F4593AF9918C-->  <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--2E33383FC304491FBBA8F4593AF9918C--></AD_FIELD>
+
 <!--2F84AAB44351416C8F48DC36CE6B9E58--><AD_FIELD>
 <!--2F84AAB44351416C8F48DC36CE6B9E58-->  <AD_FIELD_ID><![CDATA[2F84AAB44351416C8F48DC36CE6B9E58]]></AD_FIELD_ID>
 <!--2F84AAB44351416C8F48DC36CE6B9E58-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
@@ -7234,6 +7262,34 @@
 <!--CD0E9652F46441AA9A75A0A2FC467706-->  <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
 <!--CD0E9652F46441AA9A75A0A2FC467706--></AD_FIELD>
 
+<!--CF40B74CE6A4408F8349E3709BD08D70--><AD_FIELD>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <AD_FIELD_ID><![CDATA[CF40B74CE6A4408F8349E3709BD08D70]]></AD_FIELD_ID>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <NAME><![CDATA[Allow Summary Functions]]></NAME>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <DESCRIPTION><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></DESCRIPTION>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <HELP><![CDATA[If this flag is enabled then the user can add summary functions into the grid, by using the column header context menu. If not enabled, then the summary functions menu will not be available.]]></HELP>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <AD_TAB_ID><![CDATA[13FE911F7F684A47801DF55525BAD4A1]]></AD_TAB_ID>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <AD_COLUMN_ID><![CDATA[17BDFF7E011B456AA35E388543741F7C]]></AD_COLUMN_ID>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <IGNOREINWAD><![CDATA[N]]></IGNOREINWAD>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <DISPLAYLENGTH><![CDATA[1]]></DISPLAYLENGTH>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <SEQNO><![CDATA[1010]]></SEQNO>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <AD_MODULE_ID><![CDATA[9BA0836A3CD74EE4AB48753A47211BCC]]></AD_MODULE_ID>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <STARTINODDCOLUMN><![CDATA[N]]></STARTINODDCOLUMN>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <STARTNEWLINE><![CDATA[N]]></STARTNEWLINE>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <ISSHOWNINSTATUSBAR><![CDATA[N]]></ISSHOWNINSTATUSBAR>
+<!--CF40B74CE6A4408F8349E3709BD08D70-->  <EM_OBUIAPP_SHOWSUMMARY><![CDATA[N]]></EM_OBUIAPP_SHOWSUMMARY>
+<!--CF40B74CE6A4408F8349E3709BD08D70--></AD_FIELD>
+
 <!--D31CFA8B415F48B79A7D939291850D7F--><AD_FIELD>
 <!--D31CFA8B415F48B79A7D939291850D7F-->  <AD_FIELD_ID><![CDATA[D31CFA8B415F48B79A7D939291850D7F]]></AD_FIELD_ID>
 <!--D31CFA8B415F48B79A7D939291850D7F-->  <AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-pick-and-execute-grid.js.ftl	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-pick-and-execute-grid.js.ftl	Tue Aug 09 14:06:03 2016 +0200
@@ -46,6 +46,11 @@
   </#if>
   <#if data.lazyFiltering>
   lazyFiltering: ${data.lazyFiltering?string},
+  </#if>
+  <#if data.allowSummaryFunctions>
+    allowSummaryFunctions: true,
+  <#else>
+    allowSummaryFunctions: false,
   </#if>  
   <#if data.alwaysFilterFksByIdentifier>
   alwaysFilterFksByIdentifier: ${data.alwaysFilterFksByIdentifier?string},
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-grid.js.ftl	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/templates/ob-view-grid.js.ftl	Tue Aug 09 14:06:03 2016 +0200
@@ -39,7 +39,12 @@
     </#if>
     <#if data.lazyFiltering>
         lazyFiltering: ${data.lazyFiltering?string},
-    </#if>    
+    </#if>
+    <#if data.allowSummaryFunctions>
+      allowSummaryFunctions: true,
+    <#else>
+      allowSummaryFunctions: false,
+    </#if>
     <#if data.alwaysFilterFksByIdentifier>
         alwaysFilterFksByIdentifier: ${data.alwaysFilterFksByIdentifier?string},
     </#if>       
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewGridComponent.java	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewGridComponent.java	Tue Aug 09 14:06:03 2016 +0200
@@ -404,15 +404,9 @@
    */
   public boolean getLazyFiltering() {
     Boolean lazyFiltering = null;
-    List<Object> parameterList = new ArrayList<Object>();
-
-    String tabConfsHql = " as p where p.tab.id = ? ";
-    parameterList.add(tab.getId());
 
     // Trying to get parameters from "Grid Configuration (Tab/Field)" -> "Tab" window
-    OBQuery<GCTab> query = OBDal.getInstance().createQuery(GCTab.class, tabConfsHql);
-    query.setParameters(parameterList);
-    List<GCTab> tabConfs = query.list();
+    List<GCTab> tabConfs = getGridConfigurationForTab();
     if (!tabConfs.isEmpty()) {
       if ("Y".equals(tabConfs.get(0).getIsLazyFiltering())) {
         lazyFiltering = true;
@@ -436,6 +430,49 @@
     }
   }
 
+  /**
+   * Returns true if the grid allows adding summary functions
+   */
+  public boolean getAllowSummaryFunctions() {
+    Boolean summaryFunctionsAllowed = null;
+
+    // Trying to get parameters from "Grid Configuration (Tab/Field)" -> "Tab" window
+    List<GCTab> tabConfs = getGridConfigurationForTab();
+    if (!tabConfs.isEmpty()) {
+      if ("Y".equals(tabConfs.get(0).getAllowSummaryFunctions())) {
+        summaryFunctionsAllowed = true;
+      } else if ("N".equals(tabConfs.get(0).getAllowSummaryFunctions())) {
+        summaryFunctionsAllowed = false;
+      }
+    }
+    if (summaryFunctionsAllowed == null) {
+      // Trying to get parameters from "Grid Configuration (System)" window
+      List<GCSystem> sysConfs = OBDal.getInstance().createQuery(GCSystem.class, "").list();
+      if (!sysConfs.isEmpty()) {
+        if (summaryFunctionsAllowed == null) {
+          summaryFunctionsAllowed = sysConfs.get(0).isAllowSummaryFunctions();
+        }
+      }
+    }
+    if (summaryFunctionsAllowed != null) {
+      return summaryFunctionsAllowed;
+    } else {
+      return true;
+    }
+  }
+
+  private List<GCTab> getGridConfigurationForTab() {
+    List<Object> parameterList = new ArrayList<Object>();
+
+    String tabConfsHql = " as p where p.tab.id = ? ";
+    parameterList.add(tab.getId());
+
+    // Trying to get parameters from "Grid Configuration (Tab/Field)" -> "Tab" window
+    OBQuery<GCTab> query = OBDal.getInstance().createQuery(GCTab.class, tabConfsHql);
+    query.setParameters(parameterList);
+    return query.list();
+  }
+
   public boolean getAlwaysFilterFksByIdentifier() {
     DataSource dataSource = tab.getTable().getObserdsDatasource();
     // always filter using the identifier if the grid fetches its data from a manual datasource and
--- a/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewUtil.java	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/src/org/openbravo/client/application/window/OBViewUtil.java	Tue Aug 09 14:06:03 2016 +0200
@@ -60,6 +60,7 @@
   private static final String DISABLEFKCOMBO_PROPERTY = "PROPERTY_DISABLEFKCOMBO";
   private static final String THRESHOLDTOFILTER_PROPERTY = "PROPERTY_THRESHOLDTOFILTER";
   private static final String ISLAZYFILTERING_PROPERTY = "PROPERTY_ISLAZYFILTERING";
+  private static final String ALLOWSUMMARYFUNCTIONS_PROPERTY = "PROPERTY_ALLOWSUMMARYFUNCTIONS";
 
   static {
     createdElement = OBDal.getInstance().get(Element.class, "245");
@@ -267,6 +268,7 @@
     private Boolean canFilter = null;
     private Boolean filterOnChange = null;
     private Boolean lazyFiltering = null;
+    private Boolean allowSummaryFunctions = null;
     private Boolean allowFkFilterByIdentifier = null;
     private Boolean showFkDropdownUnfiltered = null;
     private Boolean disableFkDropdown = null;
@@ -292,7 +294,8 @@
     private boolean shouldContinueProcessing() {
       return canSort == null || canFilter == null || operator == null || filterOnChange == null
           || thresholdToFilter == null || allowFkFilterByIdentifier == null
-          || showFkDropdownUnfiltered == null || disableFkDropdown == null || lazyFiltering == null;
+          || showFkDropdownUnfiltered == null || disableFkDropdown == null || lazyFiltering == null
+          || allowSummaryFunctions == null;
     }
 
     private void processConfig(BaseOBObject gcItem) {
@@ -327,6 +330,9 @@
         if (lazyFiltering == null && !(gcItem instanceof GCField)) {
           lazyFiltering = convertBoolean(gcItem, ISLAZYFILTERING_PROPERTY);
         }
+        if (allowSummaryFunctions == null && !(gcItem instanceof GCField)) {
+          allowSummaryFunctions = convertBoolean(gcItem, ALLOWSUMMARYFUNCTIONS_PROPERTY);
+        }
       } catch (Exception e) {
         log.error("Error while getting the properties of " + gcItem, e);
       }
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/grid/ob-view-grid.js	Tue Aug 09 14:06:03 2016 +0200
@@ -490,10 +490,14 @@
 
     var ret = this.Super('initWidget', arguments);
 
-    // only show summary rows if there are summary functions
-    for (i = 0; i < this.getFields().length; i++) {
-      if (this.getFields()[i].summaryFunction && !this.lazyFiltering) {
-        this.showGridSummary = true;
+    if (!this.allowSummaryFunctions) {
+      this.showGridSummary = false;
+    } else {
+      // only show summary rows if there are summary functions
+      for (i = 0; i < this.getFields().length; i++) {
+        if (this.getFields()[i].summaryFunction && !this.lazyFiltering) {
+          this.showGridSummary = true;
+        }
       }
     }
 
@@ -662,6 +666,20 @@
     }
   },
 
+  setShowGridSummary: function (showGridSummary) {
+    if (!this.allowSummaryFunctions) {
+      return;
+    }
+    this.Super('setShowGridSummary', arguments);
+  },
+
+  markForCalculateSummaries: function () {
+    if (!this.allowSummaryFunctions) {
+      return;
+    }
+    this.Super('markForCalculateSummaries');
+  },
+
   getHeaderContextMenuItems: function (colNum) {
     var field = this.getField(colNum),
         i, summarySubMenu = [],
@@ -681,7 +699,7 @@
       }
     }
 
-    if (field) {
+    if (field && this.allowSummaryFunctions) {
       type = isc.SimpleType.getType(field.type);
       isDate = isc.SimpleType.inheritsFrom(type, 'date');
       isNumber = isc.SimpleType.inheritsFrom(type, 'integer') || isc.SimpleType.inheritsFrom(type, 'float');
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-grid.js	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-grid.js	Tue Aug 09 14:06:03 2016 +0200
@@ -141,6 +141,7 @@
     this.sqlFilterClause = this.gridProperties.sqlFilterClause;
     this.lazyFiltering = this.gridProperties.lazyFiltering;
     this.filterName = this.gridProperties.filterName;
+    this.allowSummaryFunctions = this.gridProperties.allowSummaryFunctions;
 
     this.orderByClause = this.gridProperties.orderByClause;
     this.sqlOrderByClause = this.gridProperties.sqlOrderByClause;
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-view.js	Tue Aug 09 11:30:20 2016 +0200
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/process/ob-pick-and-execute-view.js	Tue Aug 09 14:06:03 2016 +0200
@@ -128,7 +128,12 @@
 
   prepareGridFields: function (fields) {
     var result = isc.OBStandardView.getPrototype().prepareGridFields.apply(this, arguments),
-        i, f, len = result.length;
+        i, f, len = result.length,
+        allowSummaryFunctions = true;
+
+    if (this.viewProperties && this.viewProperties.gridProperties) {
+      allowSummaryFunctions = this.viewProperties.gridProperties.allowSummaryFunctions;
+    }
 
     for (i = 0; i < len; i++) {
       if (result[i].editorProperties && result[i].editorProperties.disabled) {
@@ -140,7 +145,7 @@
         result[i].validateOnExit = true;
       }
 
-      if (result[i].showGridSummary) {
+      if (result[i].showGridSummary && allowSummaryFunctions) {
         if (!this.showGridSummary) {
           this.showGridSummary = true;
         }