Summary pages are used to display multiple records in a tabular form. A summary screen displays multiple records based on search criteria. An SQL or an EJB method at the beginning of the file determines the information that will be retrieved and displayed on the summary page.
What does this section cover?
Attributes
| | |
---|
title | The title of the page. | Any |
message | Displayed on top of the summary as a description. | Any |
sql | The SQL statement to run to retrieve the records displayed on the summary page. Either sql or classname and functionname can be used. | Valid SQL statement |
classname | The name of the EJB class containing the EJB method that will retrieve the records displayed on the summary page. Either sql or classname and functionname can be used. | Valid EJB class name |
functionname | The EJB method that will retrieve the records displayed on the summary page. Either sql or classname and functionname can be used. | Valid EJB method name |
rowsperpage | The maximum number of rows that will be displayed per page. | Any numeric value |
multiselect | If set to true, the user can select multiple records to pass them as parameters in summary actions. | true, false |
primaryfield | The identifier of the main entity that will be retrieved through the SQL, used as a parameter in the actions using multi-select. Multiple records can be set, separated by commas. If there are no order-by-fields defined, by default the SQL will be ordered by the primary-field ascending. | Any SQL field |
mainlinkfield | Used in order to define which fields the mouse over option will be applicable to. Multiple records can be set, separate by commas. If there are no order-by-fields defined, by default the SQL will be ordered by the main-link-field ascending. | Any SQL field |
groupby | Used in order to retrieve the results grouped by the specified fields. | Any SQL field |
autosearch | Used in order to search the summary page automatically. | true, false |
hidefindbutton | Used to hide the find button | true, false |
orderbyfields | Used in order to retrieve the results ordered by the specified fields | Any SQL field |
groups | Used in order to create a group of expand fields. Multiple groups can be set separate by semicolons. | Any |
entityfilter | Used in order to filter the results based on the business rules. | Any entity |
module | The related module name. | Any module |
fieldlist | Used to define the fields that will be retrieved from the SQL. | Any SQL field |
hidetitlebar | Used in order to hide the title bar of the summary page | true, false |
actions | Used in order to open a new page through the summary page. | Actions |
savecriteria | If set to false, the search criteria will not be saved as the default criteria, otherwise they are always saved. | true, false |
allownocriteria | Indicates if no criteria needs to be defined in order to search. | true, false |
organisationdatabase | If set to true, the SQL will run on the ecenter database, if set to false the SQL will run on the organisation database. The default value is false. | true, false |
superuseraccess | If set to true, only superusers have access to the page. The default value id false. | true, false |
openlinksinmodal | If set to true, all links will open in a modal page. The default value is false. | true, false |
Examples
Summary Page Using SQL
<summary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/summary.xsd">
<title>key_accounts_receivable</title>
<sql>FROM ACCOUNTSRECEIVABLE
LEFT JOIN USERS CREATEDBY ON CREATEDBY.USERID = ACCOUNTSRECEIVABLE.ACCRECCREATEDBYUSERID
LEFT JOIN USERS UPDATEDBY ON UPDATEDBY.USERID = ACCOUNTSRECEIVABLE.ACCRECUPDATEDBYUSERID
LEFT JOIN OUUNITS CREATEDBYUNIT ON CREATEDBYUNIT.OUUID = ACCOUNTSRECEIVABLE.ACCRECCREATEDBYOUUID
LEFT JOIN OUUNITS UPDATEDBYUNIT ON UPDATEDBYUNIT.OUUID = ACCOUNTSRECEIVABLE.ACCRECUPDATEDBYOUUID
LEFT JOIN CONTACTINFORMATION ON CONTACTINFORMATION.CIID = ACCOUNTSRECEIVABLE.CIID
INNER JOIN CONTACTINFODEFINITIONS ON CONTACTINFODEFINITIONS.CIDEFACTIVE = 1 AND CONTACTINFODEFINITIONS.CIDEFDELETED = 0
LEFT JOIN ACCCLASSIFICATIONS ON ACCCLASSIFICATIONS.ACCCLASSID = ACCOUNTSRECEIVABLE.ACCCLASSID
WHERE ACCOUNTSRECEIVABLE.ACCRECDELETED = 0
</sql>
<rowsperpage>20</rowsperpage>
<primaryfield>ACCOUNTSRECEIVABLE.ACCRECID</primaryfield>
<mainlinkfield>ACCOUNTSRECEIVABLE.ACCRECNUM</mainlinkfield>
<orderbyfields>ACCOUNTSRECEIVABLE.ACCRECNUM</orderbyfields>
<module>ACCOUNTS_RECEIVABLE</module>
<fieldlist>
<!-- external filters -->
<field>
<fieldname>ACCOUNTSRECEIVABLE.ACCRECID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<!-- fields -->
<field>
<fieldname>ACCOUNTSRECEIVABLE.ACCRECNUM</fieldname>
<caption>key_number</caption>
<summary>true</summary>
<filter>true</filter>
<filteravailable>true</filteravailable>
<filtertextoption>like</filtertextoption>
<link>page.do?xml=accounts/accountReceivable&act=itm&jndi=ejb/CRMUIAccountReceivable&fc=loadForm&pv0=((ACCOUNTSRECEIVABLE.ACCRECID))&pvc=1</link>
</field>
<field>
<fieldname>ACCOUNTSRECEIVABLE.ACCRECNAME</fieldname>
<caption>key_name</caption>
<summary>true</summary>
<filter>true</filter>
</field>
...
<!-- drilldowns -->
<field>
<fieldname>BILLINGADDRESS</fieldname>
<fieldfunction>''</fieldfunction>
<caption>key_billing_address</caption>
<summary>true</summary>
<fieldtype>label</fieldtype>
<label>key_billing_address</label>
<link>drilldown:accounts/accountReceivable_billingAddress;hidefilters~true~CONTACTINFORMATION.CIID~((ACCOUNTSRECEIVABLE.CIID))</link>
</field>
...
</fieldlist>
<actions>
<action>
<caption>New</caption>
<topmenu>true</topmenu>
<link>page.do?xml=accounts/accountReceivable&act=new&fc=createButton&jndi=ejb/CRMUIAccountReceivable</link>
</action>
...
</actions>
</summary>
Summary Page Using EJB Method
<summary>
<title>key_stock_balances</title>
<classname>ejb/CRMUIWarehouse</classname>
<functionname>loadStockBalances</functionname>
<rowsperpage>20</rowsperpage>
<primaryfield>PRODID</primaryfield>
<multiselect>true</multiselect>
<mainlinkfield>PRODID</mainlinkfield>
<module>INVENTORY_MANAGEMENT</module>
<fieldlist>
<!-- external filters -->
<field>
<fieldname>PRODID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<!-- basic search -->
<field>
<fieldname>PRODID</fieldname>
<caption>key_product</caption>
<filter>true</filter>
<filteravailable>true</filteravailable>
<fieldtype>string</fieldtype>
<filterlookupname>dataset;products.loadphysicalgoods;prodid;prodcode</filterlookupname>
</field>
...
<field>
<fieldname>PRODCODE</fieldname>
<caption>key_product</caption>
<summary>true</summary>
<available>true</available>
</field>
...
<!-- drilldowns -->
<field>
<fieldname>WAREHOUSES_DD</fieldname>
<fieldfunction>''</fieldfunction>
<caption>key_warehouses</caption>
<summary>true</summary>
<available>true</available>
<fieldtype>label</fieldtype>
<label>key_warehouses</label>
<link>drilldown:inventory/warehouse_stock_balance;PRODID~((PRODID))</link>
</field>
</fieldlist>
</summary>