You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jo...@apache.org on 2007/04/02 12:43:24 UTC

svn commit: r524762 - in /ofbiz/trunk/applications: accounting/ accounting/config/ accounting/entitydef/ accounting/webapp/accounting/WEB-INF/ accounting/webapp/accounting/WEB-INF/actions/reports/ accounting/webapp/accounting/reports/ accounting/widget...

Author: jonesde
Date: Mon Apr  2 03:43:21 2007
New Revision: 524762

URL: http://svn.apache.org/viewvc?view=rev&rev=524762
Log:
Some initial work on financial summary reports, with a fairly complete sales invoice by product/category report; intended mostly for use to get data for external accounting systems that cant handle knowing about all products or customers or invoices

Added:
    ofbiz/trunk/applications/accounting/entitydef/entitymodel_reports.xml   (with props)
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/SalesInvoiceSummary.bsh   (with props)
    ofbiz/trunk/applications/accounting/webapp/accounting/reports/
    ofbiz/trunk/applications/accounting/webapp/accounting/reports/SalesInvoiceSummary.ftl   (with props)
    ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml   (with props)
    ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml   (with props)
Modified:
    ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties
    ofbiz/trunk/applications/accounting/entitydef/entitygroup.xml
    ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
    ofbiz/trunk/applications/accounting/ofbiz-component.xml
    ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
    ofbiz/trunk/applications/party/entitydef/entitygroup.xml
    ofbiz/trunk/applications/party/entitydef/entitymodel.xml

Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties?view=diff&rev=524762&r1=524761&r2=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties (original)
+++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties Mon Apr  2 03:43:21 2007
@@ -476,6 +476,9 @@
 PageTitleAddGlAccount=Add Gl Account
 PageTitleUnpostedTransactions=Un-posted Accounting Transactions
 
+PageTitleFinancialSummaryReportOptions=Financial Summary Report Options
+PageTitleSalesInvoiceSummary=Sales Invoice Summary
+
 PartyPartyId=Party ID
 PartyRoles=Roles
 PartyRoleTypeId=RoleType ID

Modified: ofbiz/trunk/applications/accounting/entitydef/entitygroup.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/entitydef/entitygroup.xml?view=diff&rev=524762&r1=524761&r2=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/entitydef/entitygroup.xml (original)
+++ ofbiz/trunk/applications/accounting/entitydef/entitygroup.xml Mon Apr  2 03:43:21 2007
@@ -178,7 +178,14 @@
     <entity-group group="org.ofbiz" entity="ValueLinkKey" />
     
     <!-- ========================================================= -->
-    <!-- org.ofbiz.order.tax -->
+    <!-- org.ofbiz.accounting.reports -->
+    <!-- ========================================================= -->
+
+    <entity-group group="org.ofbiz" entity="InvoiceItemProductSummary" />
+    <entity-group group="org.ofbiz" entity="InvoiceItemCategorySummary" />
+    
+    <!-- ========================================================= -->
+    <!-- org.ofbiz.accounting.tax -->
     <!-- ========================================================= -->
     
     <entity-group group="org.ofbiz" entity="PartyTaxAuthInfo" />

Modified: ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml?view=diff&rev=524762&r1=524761&r2=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/accounting/entitydef/entitymodel.xml Mon Apr  2 03:43:21 2007
@@ -20,12 +20,12 @@
 
 <entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/entitymodel.xsd">
-  <!-- ========================================================= -->
-  <!-- ======================== Defaults ======================= -->
-  <!-- ========================================================= -->
+    <!-- ========================================================= -->
+    <!-- ======================== Defaults ======================= -->
+    <!-- ========================================================= -->
     <title>Entity of an Open For Business Project Component</title>
     <description>None</description>
-    <copyright>Copyright 2001-2006 The Apache Software Foundation</copyright>
+    <copyright>Copyright 2001-2007 The Apache Software Foundation</copyright>
     <author>None</author>
     <version>1.0</version>
 
@@ -42,9 +42,9 @@
     <!-- ========================================================= -->
 
 
-  <!-- ========================================================= -->
-  <!-- org.ofbiz.accounting.budget -->
-  <!-- ========================================================= -->
+    <!-- ========================================================= -->
+    <!-- org.ofbiz.accounting.budget -->
+    <!-- ========================================================= -->
 
     <entity entity-name="Budget"
             package-name="org.ofbiz.accounting.budget"

Added: ofbiz/trunk/applications/accounting/entitydef/entitymodel_reports.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/entitydef/entitymodel_reports.xml?view=auto&rev=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/entitydef/entitymodel_reports.xml (added)
+++ ofbiz/trunk/applications/accounting/entitydef/entitymodel_reports.xml Mon Apr  2 03:43:21 2007
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<entitymodel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/entitymodel.xsd">
+    <!-- ========================================================= -->
+    <!-- ======================== Defaults ======================= -->
+    <!-- ========================================================= -->
+    <title>Entity of an Open For Business Project Component</title>
+    <description>None</description>
+    <copyright>Copyright 2001-2007 The Apache Software Foundation</copyright>
+    <author>None</author>
+    <version>1.0</version>
+
+    <!-- ========================================================= -->
+    <!-- ======================== Data Model ===================== -->
+    <!-- The modules in this file are as follows:                  -->
+    <!--  - org.ofbiz.accounting.reports -->
+    <!-- ========================================================= -->
+
+
+    <!-- ========================================================= -->
+    <!-- org.ofbiz.accounting.reports -->
+    <!-- ========================================================= -->
+
+    <view-entity entity-name="InvoiceItemProductSummary" package-name="org.ofbiz.accounting.reports">
+        <member-entity entity-alias="INV" entity-name="Invoice"/>
+        <member-entity entity-alias="INITM" entity-name="InvoiceItem"/>
+        <alias entity-alias="INV" name="statusId"/>
+        <alias entity-alias="INV" name="invoiceDate"/>
+        <alias entity-alias="INV" name="invoiceTypeId"/>
+        <alias entity-alias="INV" name="partyIdFrom"/>
+        <alias entity-alias="INV" name="partyId"/>
+        <alias entity-alias="INV" name="currencyUomId"/>
+        <alias entity-alias="INITM" name="invoiceItemTypeId"/>
+        <alias entity-alias="INITM" name="productId" group-by="true"/>
+        <alias entity-alias="INITM" name="quantityTotal" field="quantity" function="sum"/>
+        <alias entity-alias="INITM" name="amountTotal" field="amount" function="sum"/>
+        <view-link entity-alias="INV" rel-entity-alias="INITM">
+            <key-map field-name="invoiceId"/>
+        </view-link>
+    </view-entity>
+    <view-entity entity-name="InvoiceItemCategorySummary" package-name="org.ofbiz.accounting.reports">
+        <member-entity entity-alias="INV" entity-name="Invoice"/>
+        <member-entity entity-alias="INITM" entity-name="InvoiceItem"/>
+        <member-entity entity-alias="PCM" entity-name="ProductCategoryMember"/>
+        <alias entity-alias="INV" name="statusId"/>
+        <alias entity-alias="INV" name="invoiceDate"/>
+        <alias entity-alias="INV" name="invoiceTypeId"/>
+        <alias entity-alias="INV" name="partyIdFrom"/>
+        <alias entity-alias="INV" name="partyId"/>
+        <alias entity-alias="INV" name="currencyUomId"/>
+        <alias entity-alias="INITM" name="invoiceItemTypeId"/>
+        <alias entity-alias="INITM" name="productId"/>
+        <alias entity-alias="INITM" name="quantityTotal" field="quantity" function="sum"/>
+        <alias entity-alias="INITM" name="amountTotal" field="amount" function="sum"/>
+        <alias entity-alias="PCM" name="productCategoryId" group-by="true"/>
+        <view-link entity-alias="INV" rel-entity-alias="INITM">
+            <key-map field-name="invoiceId"/>
+        </view-link>
+        <view-link entity-alias="INITM" rel-entity-alias="PCM">
+            <key-map field-name="productId"/>
+        </view-link>
+    </view-entity>
+</entitymodel>

Propchange: ofbiz/trunk/applications/accounting/entitydef/entitymodel_reports.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/accounting/entitydef/entitymodel_reports.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/accounting/entitydef/entitymodel_reports.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/applications/accounting/ofbiz-component.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/ofbiz-component.xml?view=diff&rev=524762&r1=524761&r2=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/ofbiz-component.xml (original)
+++ ofbiz/trunk/applications/accounting/ofbiz-component.xml Mon Apr  2 03:43:21 2007
@@ -31,6 +31,7 @@
     <classpath type="dir" location="lib/worldpay"/>
 
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel.xml"/>
+    <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_reports.xml"/>
     <entity-resource type="model" reader-name="main" loader="main" location="entitydef/entitymodel_old.xml"/>
     <entity-resource type="group" reader-name="main" loader="main" location="entitydef/entitygroup.xml"/>
     <entity-resource type="eca" reader-name="main" loader="main" location="entitydef/eecas.xml"/>

Added: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/SalesInvoiceSummary.bsh
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/SalesInvoiceSummary.bsh?view=auto&rev=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/SalesInvoiceSummary.bsh (added)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/SalesInvoiceSummary.bsh Mon Apr  2 03:43:21 2007
@@ -0,0 +1,160 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import javolution.util.FastList;
+import javolution.util.FastSet;
+import javolution.util.FastMap;
+import org.ofbiz.base.util.*;
+import org.ofbiz.entity.*;
+import org.ofbiz.entity.condition.*;
+import org.ofbiz.entity.util.*;
+
+//NOTE: this code ignores from/thru dates on the products and categories under the rootProductCategoryId!
+
+//TODO: variant product support for products in category
+//TODO: show product/category names with content wrapper
+//TODO: monthly totals
+//TODO: 
+
+// get products and categories under the root category
+productMemberList = delegator.findByAnd("ProductCategoryMember", UtilMisc.toMap("productCategoryId", rootProductCategoryId), UtilMisc.toList("sequenceNum"));
+categoryRollupList = delegator.findByAnd("ProductCategoryRollup", UtilMisc.toMap("parentProductCategoryId", rootProductCategoryId), UtilMisc.toList("sequenceNum"));
+
+// for use in the queries
+productIdSet = FastSet.newInstance();
+productCategoryIdSet = FastSet.newInstance();
+
+// for use in the templates
+productList = FastList.newInstance();
+productCategoryList = FastList.newInstance();
+
+productMemberIter = productMemberList.iterator();
+while (productMemberIter.hasNext()) {
+    productMember = productMemberIter.next();
+    if (!productIdSet.contains(productMember.get("productId"))) {
+        productList.add(productMember.getRelatedOneCache("Product"));
+    }
+    productIdSet.add(productMember.get("productId"));
+}
+categoryRollupIter = categoryRollupList.iterator();
+while (categoryRollupIter.hasNext()) {
+    categoryRollup = categoryRollupIter.next();
+    if (!productCategoryIdSet.contains(categoryRollup.get("productCategoryId"))) {
+        productCategoryList.add(categoryRollup.getRelatedOneCache("CurrentProductCategory"));
+    }
+    productCategoryIdSet.add(categoryRollup.get("productCategoryId"));
+}
+
+productFieldsToSelect = UtilMisc.toList("productId", "quantityTotal", "amountTotal");
+
+//NOTE: tax, etc also have productId on them, so restrict by type INV_PROD_ITEM, INV_FPROD_ITEM, INV_DPROD_ITEM, others?
+baseProductAndExprs = FastList.newInstance();
+baseProductAndExprs.add(new EntityExpr("invoiceTypeId", EntityOperator.EQUALS, "SALES_INVOICE"));
+baseProductAndExprs.add(new EntityExpr("invoiceItemTypeId", EntityOperator.IN, UtilMisc.toList("INV_PROD_ITEM", "INV_FPROD_ITEM", "INV_DPROD_ITEM")));
+baseProductAndExprs.add(new EntityExpr("statusId", EntityOperator.IN, UtilMisc.toList("INVOICE_READY", "INVOICE_PAID")));
+if (UtilValidate.isNotEmpty(organizationPartyId)) baseProductAndExprs.add(new EntityExpr("partyIdFrom", EntityOperator.EQUALS, organizationPartyId));
+if (UtilValidate.isNotEmpty(currencyUomId)) baseProductAndExprs.add(new EntityExpr("currencyUomId", EntityOperator.EQUALS, currencyUomId));
+
+categoryFieldsToSelect = UtilMisc.toList("productCategoryId", "quantityTotal", "amountTotal");
+
+baseCategoryAndExprs = FastList.newInstance();
+baseCategoryAndExprs.add(new EntityExpr("invoiceTypeId", EntityOperator.EQUALS, "SALES_INVOICE"));
+baseCategoryAndExprs.add(new EntityExpr("invoiceItemTypeId", EntityOperator.IN, UtilMisc.toList("INV_PROD_ITEM", "INV_FPROD_ITEM", "INV_DPROD_ITEM")));
+baseCategoryAndExprs.add(new EntityExpr("statusId", EntityOperator.IN, UtilMisc.toList("INVOICE_READY", "INVOICE_PAID")));
+baseCategoryAndExprs.add(new EntityExpr("productCategoryId", EntityOperator.IN, productCategoryIdSet));
+baseCategoryAndExprs.add(new EntityExpr("productId", EntityOperator.NOT_IN, productIdSet));
+if (UtilValidate.isNotEmpty(organizationPartyId)) baseCategoryAndExprs.add(new EntityExpr("partyIdFrom", EntityOperator.EQUALS, organizationPartyId));
+if (UtilValidate.isNotEmpty(currencyUomId)) baseCategoryAndExprs.add(new EntityExpr("currencyUomId", EntityOperator.EQUALS, currencyUomId));
+
+
+// get the Calendar object for the current month (specifed by month, year Integer values in the context)
+monthCal = Calendar.getInstance();
+monthCal.set(Calendar.YEAR, year.intValue());
+monthCal.set(Calendar.MONTH, month.intValue());
+
+// iterate through the days and do the queries
+productResultMapByDayList = FastList.newInstance();
+productNullResultByDayList = FastList.newInstance();
+categoryResultMapByDayList = FastList.newInstance();
+daysInMonth = monthCal.getActualMaximum(Calendar.DAY_OF_MONTH);
+for (int currentDay = 0; currentDay <= daysInMonth; currentDay++) {
+    currentDayCal = Calendar.getInstance();
+    currentDayCal.setTimeInMillis(monthCal.getTimeInMillis());
+    currentDayCal.set(Calendar.DAY_OF_MONTH, currentDay);
+	currentDayBegin = new java.sql.Timestamp(currentDayCal.getTimeInMillis());
+    currentDayCal.add(Calendar.DAY_OF_MONTH, 1);
+	nextDayBegin = new java.sql.Timestamp(currentDayCal.getTimeInMillis());
+	
+    findOpts = new EntityFindOptions(true, EntityFindOptions.TYPE_SCROLL_INSENSITIVE, EntityFindOptions.CONCUR_READ_ONLY, true);
+
+    // do the product find
+    productAndExprs = FastList.newInstance();
+    productAndExprs.addAll(baseProductAndExprs);
+    productAndExprs.add(new EntityExpr("productId", EntityOperator.IN, productIdSet));
+    productAndExprs.add(new EntityExpr("invoiceDate", EntityOperator.GREATER_THAN_EQUAL_TO, currentDayBegin));
+    productAndExprs.add(new EntityExpr("invoiceDate", EntityOperator.LESS_THAN, nextDayBegin));
+    
+    productResultListIterator = delegator.findListIteratorByCondition("InvoiceItemProductSummary", new EntityConditionList(productAndExprs, EntityOperator.AND), null, productFieldsToSelect, null, findOpts);
+    productResultMap = FastMap.newInstance();
+    while ((productResult = productResultListIterator.next()) != null) {
+        productResultMap.put(productResult.get("productId"), productResult);
+    }
+    productResultListIterator.close();
+    productResultMapByDayList.add(productResultMap);
+    
+    // do the category find
+    categoryAndExprs = FastList.newInstance();
+    categoryAndExprs.addAll(baseCategoryAndExprs);
+    categoryAndExprs.add(new EntityExpr("invoiceDate", EntityOperator.GREATER_THAN_EQUAL_TO, currentDayBegin));
+    categoryAndExprs.add(new EntityExpr("invoiceDate", EntityOperator.LESS_THAN, nextDayBegin));
+    
+    categoryResultListIterator = delegator.findListIteratorByCondition("InvoiceItemCategorySummary", new EntityConditionList(categoryAndExprs, EntityOperator.AND), null, categoryFieldsToSelect, null, findOpts);
+    categoryResultMap = FastMap.newInstance();
+    while ((categoryResult = categoryResultListIterator.next()) != null) {
+        categoryResultMap.put(categoryResult.get("productCategoryId"), categoryResult);
+    }
+    categoryResultListIterator.close();
+    categoryResultMapByDayList.add(categoryResultMap);
+    
+    // do a find for InvoiceItem with a null productId
+    productNullAndExprs = FastList.newInstance();
+    productNullAndExprs.addAll(baseProductAndExprs);
+    productNullAndExprs.add(new EntityExpr("productId", EntityOperator.EQUALS, null));
+    productNullAndExprs.add(new EntityExpr("invoiceDate", EntityOperator.GREATER_THAN_EQUAL_TO, currentDayBegin));
+    productNullAndExprs.add(new EntityExpr("invoiceDate", EntityOperator.LESS_THAN, nextDayBegin));
+    productNullResultListIterator = delegator.findListIteratorByCondition("InvoiceItemProductSummary", new EntityConditionList(productNullAndExprs, EntityOperator.AND), null, productFieldsToSelect, null, findOpts);
+    // should just be 1 result
+    productNullResult = productNullResultListIterator.next();
+    productNullResultListIterator.close();
+    if (productNullResult != null) {
+    	productNullResultByDayList.add(productNullResult);
+    } else {
+        // no result, add an empty Map place holder
+    	productNullResultByDayList.add(FastMap.newInstance());
+    }
+}
+
+context.put("productResultMapByDayList", productResultMapByDayList);
+context.put("productNullResultByDayList", productResultMapByDayList);
+context.put("categoryResultMapByDayList", categoryResultMapByDayList);
+
+context.put("productCategoryList", productCategoryList);
+context.put("productList", productList);
+
+    
\ No newline at end of file

Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/SalesInvoiceSummary.bsh
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/SalesInvoiceSummary.bsh
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/SalesInvoiceSummary.bsh
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml?view=diff&rev=524762&r1=524761&r2=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Mon Apr  2 03:43:21 2007
@@ -621,6 +621,135 @@
         <event type="service" path="" invoke="cancelFixedAssetStdCost"/>
         <response name="success" type="view" value="EditFixedAssetStdCosts"/>
     </request-map>
+    <!-- FixedAssetIdent -->
+    <request-map uri="EditFixedAssetIdents">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditFixedAssetIdents"/>
+        <response name="error" type="view" value="EditFixedAssetIdents"/>
+    </request-map>
+    <request-map uri="createFixedAssetIdent">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createFixedAssetIdent"/>
+        <response name="success" type="view" value="EditFixedAssetIdents"/>
+        <response name="error" type="view" value="EditFixedAssetIdents"/>
+    </request-map>
+    <request-map uri="updateFixedAssetIdent">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateFixedAssetIdent"/>
+        <response name="success" type="view" value="EditFixedAssetIdents"/>
+        <response name="error" type="view" value="EditFixedAssetIdents"/>
+    </request-map>
+    <request-map uri="removeFixedAssetIdent">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="removeFixedAssetIdent"/>
+        <response name="success" type="view" value="EditFixedAssetIdents"/>
+        <response name="error" type="view" value="EditFixedAssetIdents"/>
+    </request-map>
+    
+    <!-- FixedAssetRegistration -->
+    <request-map uri="EditFixedAssetRegistrations">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditFixedAssetRegistrations"/>
+        <response name="error" type="view" value="EditFixedAssetRegistrations"/>
+    </request-map>
+    <request-map uri="createFixedAssetRegistration">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createFixedAssetRegistration"/>
+        <response name="success" type="view" value="EditFixedAssetRegistrations"/>
+        <response name="error" type="view" value="EditFixedAssetRegistrations"/>
+    </request-map>
+    <request-map uri="updateFixedAssetRegistration">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateFixedAssetRegistration"/>
+        <response name="success" type="view" value="EditFixedAssetRegistrations"/>
+        <response name="error" type="view" value="EditFixedAssetRegistrations"/>
+    </request-map>
+    <request-map uri="deleteFixedAssetRegistration">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="deleteFixedAssetRegistration"/>
+        <response name="success" type="view" value="EditFixedAssetRegistrations"/>
+        <response name="error" type="view" value="EditFixedAssetRegistrations"/>
+    </request-map>
+    <!-- FixedAssetMaintenance Meter -->
+    <request-map uri="EditFixedAssetMaintMeters">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditFixedAssetMaintMeters"/>
+        <response name="error" type="view" value="EditFixedAssetMaintMeters"/>
+    </request-map>
+    <request-map uri="createFixedAssetMaintMeter">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createFixedAssetMaintMeter"/>
+        <response name="success" type="view" value="EditFixedAssetMaintMeters"/>
+        <response name="error" type="view" value="EditFixedAssetMaintMeters"/>
+    </request-map>
+    <request-map uri="updateFixedAssetMaintMeter">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateFixedAssetMaintMeter"/>
+        <response name="success" type="view" value="EditFixedAssetMaintMeters"/>
+        <response name="error" type="view" value="EditFixedAssetMaintMeters"/>
+    </request-map>
+    <request-map uri="deleteFixedAssetMaintMeter">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="deleteFixedAssetMaintMeter"/>
+        <response name="success" type="view" value="EditFixedAssetMaintMeters"/>
+        <response name="error" type="view" value="EditFixedAssetMaintMeters"/>
+    </request-map>
+    <!-- FixedAssetMaintenance -->
+    <request-map uri="ListFixedAssetMaints">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="ListFixedAssetMaints"/>
+        <response name="error" type="view" value="ListFixedAssetMaints"/>
+    </request-map>
+    <request-map uri="EditFixedAssetMaint">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditFixedAssetMaint"/>
+        <response name="error" type="view" value="EditFixedAssetMaint"/>
+    </request-map>
+    <request-map uri="createFixedAssetMaint">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createFixedAssetMaint"/>
+        <response name="success" type="view" value="EditFixedAssetMaint"/>
+        <response name="error" type="view" value="EditFixedAssetMaint"/>
+    </request-map>
+    <request-map uri="updateFixedAssetMaint">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="updateFixedAssetMaint"/>
+        <response name="success" type="view" value="EditFixedAssetMaint"/>
+        <response name="error" type="view" value="EditFixedAssetMaint"/>
+    </request-map>
+    <request-map uri="deleteFixedAssetMaint">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="deleteFixedAssetMaint"/>
+        <response name="success" type="view" value="EditFixedAssetMaint"/>
+        <response name="error" type="view" value="EditFixedAssetMaint"/>
+    </request-map>
+    <request-map uri="LookupWorkEffort">
+        <security https="true" auth="true" />
+        <response name="success" type="view" value="LookupWorkEffort" />
+    </request-map>
+    <request-map uri="LookupOrderHeader">
+        <security https="true" auth="true" />
+        <response name="success" type="view" value="LookupOrderHeader" />
+    </request-map>
+    <!-- FixedAssetMaintenance Order -->
+    <request-map uri="EditFixedAssetMaintOrders">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="EditFixedAssetMaintOrders"/>
+        <response name="error" type="view" value="EditFixedAssetMaintOrders"/>
+    </request-map>
+    <request-map uri="createFixedAssetMaintOrder">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="createFixedAssetMaintOrder"/>
+        <response name="success" type="view" value="EditFixedAssetMaintOrders"/>
+        <response name="error" type="view" value="EditFixedAssetMaintOrders"/>
+    </request-map>
+    <request-map uri="deleteFixedAssetMaintOrder">
+        <security https="true" auth="true"/>
+        <event type="service" path="" invoke="deleteFixedAssetMaintOrder"/>
+        <response name="success" type="view" value="EditFixedAssetMaintOrders"/>
+        <response name="error" type="view" value="EditFixedAssetMaintOrders"/>
+    </request-map>
+    
     <!-- =============== Agreement mapping =================-->
     <request-map uri="FindAgreement"><security https="true" auth="true"/><response name="success" type="view" value="FindAgreement"/></request-map>
     <request-map uri="cancelAgreement">
@@ -908,39 +1037,6 @@
         <response name="error" type="view" value="EditTaxAuthorityPartyInfo"/>
     </request-map>
     
-    <!-- ================ Entity Lookup Requests ================= -->
-    <request-map uri="LookupProduct"><security auth="true" https="true"/><response name="success" type="view" value="LookupProduct"/></request-map>
-    <request-map uri="LookupVariantProduct"><security auth="true" https="true"/><response name="success" type="view" value="LookupVariantProduct"/></request-map>
-    <request-map uri="LookupProductCategory"><security auth="true" https="true"/><response name="success" type="view" value="LookupProductCategory"/></request-map>
-    <request-map uri="LookupProductStore"><security auth="true" https="true"/><response name="success" type="view" value="LookupProductStore"/></request-map>
-    
-    <request-map uri="LookupPerson"><security auth="true" https="true"/><response name="success" type="view" value="LookupPerson"/></request-map>
-    <request-map uri="LookupPartyGroup"><security auth="true" https="true"/><response name="success" type="view" value="LookupPartyGroup"/></request-map>
-    <request-map uri="LookupPartyName"><security auth="true" https="true"/><response name="success" type="view" value="LookupPartyName"/></request-map>
-
-    <request-map uri="LookupGeo"><security auth="true" https="true"/><response name="success" type="view" value="LookupGeo"/></request-map>
-
-    <request-map uri="LookupPayment"><security auth="true" https="true"/><response name="success" type="view" value="LookupPayment"/></request-map>
-    <request-map uri="LookupInvoice"><security auth="true" https="true"/><response name="success" type="view" value="LookupInvoice"/></request-map>
-    <request-map uri="LookupFixedAsset"><security auth="true" https="true"/><response name="success" type="view" value="LookupFixedAsset"/></request-map>
-    <request-map uri="LookupGlAccount"><security auth="true" https="true"/><response name="success" type="view" value="LookupGlAccount"/></request-map>
-    <request-map uri="LookupBillingAccount"><security auth="true" https="true"/><response name="success" type="view" value="LookupBillingAccount"/></request-map>
-    <request-map uri="LookupFacility"><security https="true" auth="true"/><response name="success" type="view" value="LookupFacility"/></request-map>
-    <request-map uri="LookupFacilityLocation"><security auth="true" https="true"/><response name="success" type="view" value="LookupFacilityLocation"/></request-map>
-    
-    <request-map uri="viewprofile"><security https="true" auth="true"/><response name="success" type="view" value="viewprofile"/></request-map>
-
-    <!-- ================ PDF generation requests ================== -->
-    <request-map uri="invoice.pdf">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="InvoicePDF"/>
-    </request-map>
-    
-    <request-map uri="printCheck.pdf">
-        <!-- security https="true" auth="true"/ -->
-        <response name="success" type="view" value="PrintCheckPDF"/>
-    </request-map>
-    
     <!-- ================ Administratvie Requests ================ -->
     <request-map uri="ListCompanies">
         <security https="true" auth="true"/>
@@ -1099,134 +1195,6 @@
         <response name="error" type="view" value="ListChecksToSend"/>
     </request-map>
     
-    <!-- FixedAssetIdent -->
-    <request-map uri="EditFixedAssetIdents">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="EditFixedAssetIdents"/>
-        <response name="error" type="view" value="EditFixedAssetIdents"/>
-    </request-map>
-    <request-map uri="createFixedAssetIdent">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="createFixedAssetIdent"/>
-        <response name="success" type="view" value="EditFixedAssetIdents"/>
-        <response name="error" type="view" value="EditFixedAssetIdents"/>
-    </request-map>
-    <request-map uri="updateFixedAssetIdent">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="updateFixedAssetIdent"/>
-        <response name="success" type="view" value="EditFixedAssetIdents"/>
-        <response name="error" type="view" value="EditFixedAssetIdents"/>
-    </request-map>
-    <request-map uri="removeFixedAssetIdent">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="removeFixedAssetIdent"/>
-        <response name="success" type="view" value="EditFixedAssetIdents"/>
-        <response name="error" type="view" value="EditFixedAssetIdents"/>
-    </request-map>
-    
-    <!-- FixedAssetRegistration -->
-    <request-map uri="EditFixedAssetRegistrations">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="EditFixedAssetRegistrations"/>
-        <response name="error" type="view" value="EditFixedAssetRegistrations"/>
-    </request-map>
-    <request-map uri="createFixedAssetRegistration">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="createFixedAssetRegistration"/>
-        <response name="success" type="view" value="EditFixedAssetRegistrations"/>
-        <response name="error" type="view" value="EditFixedAssetRegistrations"/>
-    </request-map>
-    <request-map uri="updateFixedAssetRegistration">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="updateFixedAssetRegistration"/>
-        <response name="success" type="view" value="EditFixedAssetRegistrations"/>
-        <response name="error" type="view" value="EditFixedAssetRegistrations"/>
-    </request-map>
-    <request-map uri="deleteFixedAssetRegistration">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="deleteFixedAssetRegistration"/>
-        <response name="success" type="view" value="EditFixedAssetRegistrations"/>
-        <response name="error" type="view" value="EditFixedAssetRegistrations"/>
-    </request-map>
-    <!-- FixedAssetMaintenance Meter -->
-    <request-map uri="EditFixedAssetMaintMeters">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="EditFixedAssetMaintMeters"/>
-        <response name="error" type="view" value="EditFixedAssetMaintMeters"/>
-    </request-map>
-    <request-map uri="createFixedAssetMaintMeter">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="createFixedAssetMaintMeter"/>
-        <response name="success" type="view" value="EditFixedAssetMaintMeters"/>
-        <response name="error" type="view" value="EditFixedAssetMaintMeters"/>
-    </request-map>
-    <request-map uri="updateFixedAssetMaintMeter">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="updateFixedAssetMaintMeter"/>
-        <response name="success" type="view" value="EditFixedAssetMaintMeters"/>
-        <response name="error" type="view" value="EditFixedAssetMaintMeters"/>
-    </request-map>
-    <request-map uri="deleteFixedAssetMaintMeter">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="deleteFixedAssetMaintMeter"/>
-        <response name="success" type="view" value="EditFixedAssetMaintMeters"/>
-        <response name="error" type="view" value="EditFixedAssetMaintMeters"/>
-    </request-map>
-    <!-- FixedAssetMaintenance -->
-    <request-map uri="ListFixedAssetMaints">
-    	<security https="true" auth="true"/>
-    	<response name="success" type="view" value="ListFixedAssetMaints"/>
-    	<response name="error" type="view" value="ListFixedAssetMaints"/>
-    </request-map>
-    <request-map uri="EditFixedAssetMaint">
-    	<security https="true" auth="true"/>
-    	<response name="success" type="view" value="EditFixedAssetMaint"/>
-    	<response name="error" type="view" value="EditFixedAssetMaint"/>
-    </request-map>
-    <request-map uri="createFixedAssetMaint">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="createFixedAssetMaint"/>
-        <response name="success" type="view" value="EditFixedAssetMaint"/>
-        <response name="error" type="view" value="EditFixedAssetMaint"/>
-    </request-map>
-    <request-map uri="updateFixedAssetMaint">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="updateFixedAssetMaint"/>
-        <response name="success" type="view" value="EditFixedAssetMaint"/>
-        <response name="error" type="view" value="EditFixedAssetMaint"/>
-    </request-map>
-    <request-map uri="deleteFixedAssetMaint">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="deleteFixedAssetMaint"/>
-        <response name="success" type="view" value="EditFixedAssetMaint"/>
-        <response name="error" type="view" value="EditFixedAssetMaint"/>
-    </request-map>
-    <request-map uri="LookupWorkEffort">
-        <security https="true" auth="true" />
-        <response name="success" type="view" value="LookupWorkEffort" />
-    </request-map>
-    <request-map uri="LookupOrderHeader">
-        <security https="true" auth="true" />
-        <response name="success" type="view" value="LookupOrderHeader" />
-    </request-map>
-    <!-- FixedAssetMaintenance Order -->
-    <request-map uri="EditFixedAssetMaintOrders">
-        <security https="true" auth="true"/>
-        <response name="success" type="view" value="EditFixedAssetMaintOrders"/>
-        <response name="error" type="view" value="EditFixedAssetMaintOrders"/>
-    </request-map>
-    <request-map uri="createFixedAssetMaintOrder">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="createFixedAssetMaintOrder"/>
-        <response name="success" type="view" value="EditFixedAssetMaintOrders"/>
-        <response name="error" type="view" value="EditFixedAssetMaintOrders"/>
-    </request-map>
-    <request-map uri="deleteFixedAssetMaintOrder">
-        <security https="true" auth="true"/>
-        <event type="service" path="" invoke="deleteFixedAssetMaintOrder"/>
-        <response name="success" type="view" value="EditFixedAssetMaintOrders"/>
-        <response name="error" type="view" value="EditFixedAssetMaintOrders"/>
-    </request-map>
     <!-- Fin Account -->
     <request-map uri="FindFinAccount">
         <security https="true" auth="true"/>
@@ -1309,6 +1277,43 @@
         <response name="success" type="view" value="EditFinAccountAuths"/>
         <response name="error" type="view" value="EditFinAccountAuths"/>
     </request-map>
+    
+    <!-- ================ Entity Lookup Requests ================= -->
+    <request-map uri="LookupProduct"><security auth="true" https="true"/><response name="success" type="view" value="LookupProduct"/></request-map>
+    <request-map uri="LookupVariantProduct"><security auth="true" https="true"/><response name="success" type="view" value="LookupVariantProduct"/></request-map>
+    <request-map uri="LookupProductCategory"><security auth="true" https="true"/><response name="success" type="view" value="LookupProductCategory"/></request-map>
+    <request-map uri="LookupProductStore"><security auth="true" https="true"/><response name="success" type="view" value="LookupProductStore"/></request-map>
+    
+    <request-map uri="LookupPerson"><security auth="true" https="true"/><response name="success" type="view" value="LookupPerson"/></request-map>
+    <request-map uri="LookupPartyGroup"><security auth="true" https="true"/><response name="success" type="view" value="LookupPartyGroup"/></request-map>
+    <request-map uri="LookupPartyName"><security auth="true" https="true"/><response name="success" type="view" value="LookupPartyName"/></request-map>
+    
+    <request-map uri="LookupGeo"><security auth="true" https="true"/><response name="success" type="view" value="LookupGeo"/></request-map>
+    
+    <request-map uri="LookupPayment"><security auth="true" https="true"/><response name="success" type="view" value="LookupPayment"/></request-map>
+    <request-map uri="LookupInvoice"><security auth="true" https="true"/><response name="success" type="view" value="LookupInvoice"/></request-map>
+    <request-map uri="LookupFixedAsset"><security auth="true" https="true"/><response name="success" type="view" value="LookupFixedAsset"/></request-map>
+    <request-map uri="LookupGlAccount"><security auth="true" https="true"/><response name="success" type="view" value="LookupGlAccount"/></request-map>
+    <request-map uri="LookupBillingAccount"><security auth="true" https="true"/><response name="success" type="view" value="LookupBillingAccount"/></request-map>
+    <request-map uri="LookupFacility"><security https="true" auth="true"/><response name="success" type="view" value="LookupFacility"/></request-map>
+    <request-map uri="LookupFacilityLocation"><security auth="true" https="true"/><response name="success" type="view" value="LookupFacilityLocation"/></request-map>
+    
+    <request-map uri="viewprofile"><security https="true" auth="true"/><response name="success" type="view" value="viewprofile"/></request-map>
+    
+    <!-- ================ PDF generation requests ================== -->
+    <request-map uri="invoice.pdf">
+        <security https="true" auth="true"/>
+        <response name="success" type="view" value="InvoicePDF"/>
+    </request-map>
+    
+    <request-map uri="printCheck.pdf">
+        <!-- security https="true" auth="true"/ -->
+        <response name="success" type="view" value="PrintCheckPDF"/>
+    </request-map>
+    
+    <!-- ================ Financial Summary Report requests ================== -->
+    <request-map uri="FinancialSummryReportOptions"><security https="true" auth="true"/><response name="success" type="view" value="FinancialSummryReportOptions"/></request-map>
+    <request-map uri="SalesInvoiceSummary"><security https="true" auth="true"/><response name="success" type="view" value="SalesInvoiceSummary"/></request-map>
     <!-- end of request mappings -->
 
     <!-- View Mappings -->
@@ -1316,6 +1321,7 @@
     <view-map name="main" type="screen" page="component://accounting/widget/CommonScreens.xml#main"/>
     <view-map name="login" type="screen" page="component://accounting/widget/CommonScreens.xml#login"/>
     
+    <!-- BillingAccount -->
     <view-map name="FindBillingAccount" type="screen" page="component://accounting/widget/BillingAccountScreens.xml#FindBillingAccount"/>
     <view-map name="EditBillingAccount" type="screen" page="component://accounting/widget/BillingAccountScreens.xml#EditBillingAccount"/>
     <view-map name="EditBillingAccountRoles" type="screen" page="component://accounting/widget/BillingAccountScreens.xml#EditBillingAccountRoles"/>
@@ -1323,6 +1329,7 @@
     <view-map name="BillingAccountInvoices" type="screen" page="component://accounting/widget/BillingAccountScreens.xml#BillingAccountInvoices"/>
     <view-map name="BillingAccountPayments" type="screen" page="component://accounting/widget/BillingAccountScreens.xml#BillingAccountPayments"/>
     
+    <!-- Invoice -->
     <view-map name="invoiceOverview" type="screen" page="component://accounting/widget/InvoiceScreens.xml#invoiceOverview"/>
     <view-map name="findInvoices" type="screen" page="component://accounting/widget/InvoiceScreens.xml#FindInvoices"/>
     <view-map name="editInvoice" type="screen" page="component://accounting/widget/InvoiceScreens.xml#EditInvoice"/>
@@ -1333,7 +1340,7 @@
     <view-map name="invoiceRoles" type="screen" page="component://accounting/widget/InvoiceScreens.xml#InvoiceRoles"/>
     <view-map name="sendPerEmail" type="screen" page="component://accounting/widget/InvoiceScreens.xml#SendPerEmail"/>
     
-    <!-- payments -->
+    <!-- Payment -->
     <view-map name="findPayments" type="screen" page="component://accounting/widget/PaymentScreens.xml#FindPayments"/>
     <view-map name="paymentOverview" type="screen" page="component://accounting/widget/PaymentScreens.xml#PaymentOverview"/>
     <view-map name="editPayment" type="screen" page="component://accounting/widget/PaymentScreens.xml#EditPayment"/>
@@ -1341,7 +1348,7 @@
     <view-map name="ManualTransaction" type="screen" page="component://accounting/widget/PaymentScreens.xml#ManualTransaction"/>
     <view-map name="PrintChecks" type="screenfop" page="component://accounting/widget/PaymentScreens.xml#PrintChecks" content-type="application/pdf" encoding="none"/>
 
-    <!-- New Screen Widget for EditGlobalGlAccount -->
+    <!-- GlAccount, GlJournalEntry, AcctgTrans -->
     <view-map name="EditGlJournalEntry" type="screen" page="component://accounting/widget/AccountingScreens.xml#EditGlJournalEntry"/>
     <view-map name="AddGlAccount" type="screen" page="component://accounting/widget/AccountingScreens.xml#AddGlAccount"/>
     <view-map name="FindGlobalGlAccount" type="screen" page="component://accounting/widget/AccountingScreens.xml#ListGlAccounts"/>
@@ -1360,8 +1367,16 @@
     <view-map name="AccountActivitiesDetail" type="screen" page="component://accounting/widget/AccountingScreens.xml#AccountActivitiesDetail"/>
     <view-map name="ListGlAccountEntries" type="screen" page="component://accounting/widget/AccountingScreens.xml#ListGlAccountEntries"/>
     <view-map name="ListAcctgTransEntries" type="screen" page="component://accounting/widget/AccountingScreens.xml#ListAcctgTransEntries"/>
-
-    <!-- fixed assets -->
+    
+    <!-- FinAccount -->
+    <view-map name="FindFinAccount" type="screen" page="component://accounting/widget/FinAccountScreens.xml#FindFinAccount"/>
+    <view-map name="ListFinAccount" type="screen" page="component://accounting/widget/FinAccountScreens.xml#ListFinAccount"/>    
+    <view-map name="EditFinAccount" type="screen" page="component://accounting/widget/FinAccountScreens.xml#EditFinAccount"/>
+    <view-map name="EditFinAccountRoles" type="screen" page="component://accounting/widget/FinAccountScreens.xml#EditFinAccountRoles"/>
+    <view-map name="EditFinAccountTrans" type="screen" page="component://accounting/widget/FinAccountScreens.xml#EditFinAccountTrans"/>
+    <view-map name="EditFinAccountAuths" type="screen" page="component://accounting/widget/FinAccountScreens.xml#EditFinAccountAuths"/> 
+    
+    <!-- FixedAsset -->
     <view-map name="ListFixedAssets" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#ListFixedAssets"/> 
     <view-map name="EditFixedAsset" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAsset"/> 
     <view-map name="ListFixedAssetProducts" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#ListFixedAssetProducts"/> 
@@ -1374,7 +1389,15 @@
     <view-map name="ListFixedAssetsRollUp" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#ListFixedAssetRollUp"/> 
     <view-map name="EditFixedAssetStdCosts" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetStdCosts"/>
     <view-map name="FixedAssetChildren" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#FixedAssetChildren"/>
-    <!-- agreements -->
+
+    <view-map name="EditFixedAssetIdents" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetIdents"/>
+    <view-map name="EditFixedAssetRegistrations" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetRegistrations"/>
+    <view-map name="EditFixedAssetMaint" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetMaint"/>
+    <view-map name="ListFixedAssetMaints" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#ListFixedAssetMaints"/>
+    <view-map name="EditFixedAssetMaintMeters" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetMaintMeters"/>
+    <view-map name="EditFixedAssetMaintOrders" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetMaintOrders"/>
+
+    <!-- Agreement -->
     <view-map name="FindAgreement" type="screen" page="component://accounting/widget/AgreementScreens.xml#FindAgreement"/>
     <view-map name="EditAgreement" type="screen" page="component://accounting/widget/AgreementScreens.xml#EditAgreement"/>
     <view-map name="ListAgreementItems" type="screen" page="component://accounting/widget/AgreementScreens.xml#ListAgreementItems"/>
@@ -1391,7 +1414,8 @@
     <view-map name="EditAgreementItemParty" type="screen" page="component://accounting/widget/AgreementScreens.xml#EditAgreementItemParty"/>
     <view-map name="ListAgreementGeographicalApplic" type="screen" page="component://accounting/widget/AgreementScreens.xml#ListAgreementGeographicalApplic"/>
     <view-map name="EditAgreementGeographicalApplic" type="screen" page="component://accounting/widget/AgreementScreens.xml#EditAgreementGeographicalApplic"/>
-    <!-- tax authority -->
+    
+    <!-- TaxAuthority -->
     <view-map name="FindTaxAuthority" type="screen" page="component://accounting/widget/TaxAuthorityScreens.xml#FindTaxAuthority"/>
     <view-map name="EditTaxAuthority" type="screen" page="component://accounting/widget/TaxAuthorityScreens.xml#EditTaxAuthority"/>
     <view-map name="EditTaxAuthorityCategories" type="screen" page="component://accounting/widget/TaxAuthorityScreens.xml#EditTaxAuthorityCategories"/>
@@ -1400,6 +1424,7 @@
     <view-map name="EditTaxAuthorityRateProducts" type="screen" page="component://accounting/widget/TaxAuthorityScreens.xml#EditTaxAuthorityRateProducts"/>
     <view-map name="ListTaxAuthorityParties" type="screen" page="component://accounting/widget/TaxAuthorityScreens.xml#ListTaxAuthorityParties"/>
     <view-map name="EditTaxAuthorityPartyInfo" type="screen" page="component://accounting/widget/TaxAuthorityScreens.xml#EditTaxAuthorityPartyInfo"/>
+
     <!-- administrative pages -->
     <view-map name="ListCompanies" type="screen" page="component://accounting/widget/AdminScreens.xml#ListCompanies"/>
     <view-map name="TimePeriods" type="screen" page="component://accounting/widget/AdminScreens.xml#TimePeriods"/>
@@ -1413,7 +1438,7 @@
     <view-map name="ListChecksToPrint" type="screen" page="component://accounting/widget/AdminScreens.xml#ListChecksToPrint"/>
     <view-map name="ListChecksToSend" type="screen" page="component://accounting/widget/AdminScreens.xml#ListChecksToSend"/>
     
-    <!-- Transaction mappings -->
+    <!-- Manual Credit Card Transaction -->
     <view-map name="FindGatewayResponses" page="component://accounting/widget/TransactionScreens.xml#FindGatewayResponses" type="screen"/>
     <view-map name="ViewGatewayResponse" page="component://accounting/widget/TransactionScreens.xml#ViewGatewayResponse" type="screen"/>
     <view-map name="AuthorizeTransaction" page="component://accounting/widget/TransactionScreens.xml#AuthorizeTransaction" type="screen"/>
@@ -1438,33 +1463,20 @@
     <view-map name="LookupBillingAccount" page="component://accounting/widget/LookupScreens.xml#LookupBillingAccount" type="screen"/>
     <view-map name="LookupPayment" page="component://accounting/widget/LookupScreens.xml#LookupPayment" type="screen"/>
     <view-map name="LookupInvoice" page="component://accounting/widget/LookupScreens.xml#LookupInvoice" type="screen"/>
+
+    <view-map name="LookupWorkEffort" type="screen" page="component://workeffort/widget/LookupScreens.xml#LookupWorkEffort" />
+    <view-map name="LookupOrderHeader" type="screen" page="component://order/widget/ordermgr/LookupScreens.xml#LookupOrderHeader" />
+    <view-map name="LookupFacility" type="screen" page="component://product/widget/facility/LookupScreens.xml#LookupFacility"/>
+    <view-map name="LookupFacilityLocation" type="screen" page="component://product/widget/facility/LookupScreens.xml#LookupFacilityLocation"/>
     
     <!-- PDFs  -->
     <view-map name="InvoicePDF" type="screenfop" page="component://accounting/widget/AccountingPrintForms.xml#InvoicePDF" content-type="application/pdf" encoding="none"/>
     <view-map name="PrintCheckPDF" type="screenfop" page="component://accounting/widget/AccountingPrintForms.xml#PrintCheckPDF" content-type="application/pdf" encoding="none"/>
     
-    <!-- Fixed Asset Idents -->
-    <view-map name="EditFixedAssetIdents" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetIdents"/>
-    <!-- Fixed Asset Registrations -->
-    <view-map name="EditFixedAssetRegistrations" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetRegistrations"/>
-    <!-- Fixed Asset Maintenance -->
-    <view-map name="EditFixedAssetMaint" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetMaint"/>
-    <view-map name="ListFixedAssetMaints" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#ListFixedAssetMaints"/>
-    <!-- Fixed Asset Maintenance Meter -->
-    <view-map name="EditFixedAssetMaintMeters" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetMaintMeters"/>
-    <view-map name="LookupWorkEffort" type="screen" page="component://workeffort/widget/LookupScreens.xml#LookupWorkEffort" />
-    <view-map name="LookupOrderHeader" type="screen" page="component://order/widget/ordermgr/LookupScreens.xml#LookupOrderHeader" />
-    <view-map name="LookupFacility" type="screen" page="component://product/widget/facility/LookupScreens.xml#LookupFacility"/>
-    <view-map name="LookupFacilityLocation" type="screen" page="component://product/widget/facility/LookupScreens.xml#LookupFacilityLocation"/>
-    <!-- Fixed Asset Maintenance Order -->
-    <view-map name="EditFixedAssetMaintOrders" type="screen" page="component://accounting/widget/FixedAssetScreens.xml#EditFixedAssetMaintOrders"/>
-    <!-- FinAccount -->
-    <view-map name="FindFinAccount" type="screen" page="component://accounting/widget/FinAccountScreens.xml#FindFinAccount"/>
-    <view-map name="ListFinAccount" type="screen" page="component://accounting/widget/FinAccountScreens.xml#ListFinAccount"/>    
-    <view-map name="EditFinAccount" type="screen" page="component://accounting/widget/FinAccountScreens.xml#EditFinAccount"/>
-    <view-map name="EditFinAccountRoles" type="screen" page="component://accounting/widget/FinAccountScreens.xml#EditFinAccountRoles"/>
-    <view-map name="EditFinAccountTrans" type="screen" page="component://accounting/widget/FinAccountScreens.xml#EditFinAccountTrans"/>
-    <view-map name="EditFinAccountAuths" type="screen" page="component://accounting/widget/FinAccountScreens.xml#EditFinAccountAuths"/> 
-        
-        <!-- end of view mappings -->
+    <!-- Financial Summary Reports -->
+    <view-map name="FinancialSummryReportOptions" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#FinancialSummryReportOptions"/>
+    <view-map name="SalesInvoiceSummary" type="screen" page="component://accounting/widget/ReportFinancialSummaryScreens.xml#SalesInvoiceSummary"/>
+    
+    
+    <!-- end of view mappings -->
 </site-conf>

Added: ofbiz/trunk/applications/accounting/webapp/accounting/reports/SalesInvoiceSummary.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/reports/SalesInvoiceSummary.ftl?view=auto&rev=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/reports/SalesInvoiceSummary.ftl (added)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/reports/SalesInvoiceSummary.ftl Mon Apr  2 03:43:21 2007
@@ -0,0 +1,67 @@
+<#--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<#macro resultSummary resultMap>
+    <#if resultMap?has_content>
+        ${resultMap.quantityTotal?default(0)}:${resultMap.amountTotal?default(0)}:<#if (resultMap.quantityTotal?exists && resultMap.quantityTotal > 0)>${resultMap.amountTotal/resultMap.quantityTotal}<#else/>0</#if>
+    <#else/>
+        0:0:0
+    </#if>
+</#macro>
+
+<div>Sales Invoice Summary Report for:</div>
+<ul>
+    <li>Month: ${month}/${year}</li>
+    <li>Root Category: ${rootProductCategory.categoryName?if_exists} [${rootProductCategoryId}]</li>
+    <li>Organization: ${(organizationPartyName.groupName)?if_exists} [${organizationPartyId?default("No Organization Specified")}]</li>
+    <li>Currency: ${(currencyUom.description)?if_exists} [${currencyUomId?default("No Currency Specified")}]</li>
+</il> 
+<table>
+    <#-- Create the header row -->
+	<tr>
+	    <th>Day</th>
+	    <th>[No Product]</th>
+    <#list productList as product>
+	    <th>${product.productName?if_exists} [${product.productId}]</th>
+    </#list>
+    <#list productCategoryList as productCategory>
+	    <th>${productCategory.categoryName?if_exists} [${productCategory.productCategoryId}]</th>
+    </#list>
+    </tr>
+    <#-- Days of the month -->
+    <#list productNullResultByDayList as productNullResult>
+        <#assign productResultMap = productResultMapByDayList.get(productNullResult_index)/>
+        <#assign categoryResultMap = categoryResultMapByDayList.get(productNullResult_index)/>
+    
+    	<#-- now do the null product, then iterate through the products, then categories -->
+    	<tr>
+    	    <td>${(productNullResult_index + 1)}</td>
+    	    <td><@resultSummary resultMap=productNullResult/></td>
+        <#list productList as product>
+            <#assign productResult = productResultMap[product.productId]?if_exists/>
+    	    <td><@resultSummary resultMap=productResult/></td>
+        </#list>
+        <#list productCategoryList as productCategory>
+            <#assign categoryResult = categoryResultMap[productCategory.productCategoryId]?if_exists/>
+    	    <td><@resultSummary resultMap=categoryResult/></td>
+        </#list>
+        </tr>
+    </#list>
+    <#-- Totals for the month -->
+</table>

Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/reports/SalesInvoiceSummary.ftl
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/reports/SalesInvoiceSummary.ftl
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/reports/SalesInvoiceSummary.ftl
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml?view=auto&rev=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml (added)
+++ ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml Mon Apr  2 03:43:21 2007
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+    KIND, either express or implied.  See the License for the
+    specific language governing permissions and limitations
+    under the License.
+-->
+
+<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+    xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/widget-form.xsd">
+    
+    <form name="SalesInvoiceSummaryOptions" type="single" target="SalesInvoiceSummary">
+        <field name="month" required-field="true">
+            <drop-down allow-empty="false">
+                <option key="0" description="January"/>
+                <option key="1" description="February"/>
+                <option key="2" description="March"/>
+                <option key="3" description="April"/>
+                <option key="4" description="May"/>
+                <option key="5" description="June"/>
+                <option key="6" description="July"/>
+                <option key="7" description="August"/>
+                <option key="8" description="September"/>
+                <option key="9" description="October"/>
+                <option key="10" description="November"/>
+                <option key="11" description="December"/>
+            </drop-down>
+        </field>
+        <field name="year" required-field="true"><text size="4" default-value="2007"/></field>
+        <field name="rootProductCategoryId" required-field="true"><lookup target-form-name="LookupProductCategory"/></field>
+        <field name="organizationPartyId" required-field="false">
+            <drop-down allow-empty="true" no-current-selected-key="Company">
+                <entity-options entity-name="PartyRoleNameDetail" description="${groupName} [${partyId}]" key-field-name="partyId">
+                    <entity-constraint name="roleTypeId" value="INTERNAL_ORGANIZATIO"/>
+                    <entity-order-by field-name="groupName"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="currencyUomId" required-field="false">
+            <drop-down allow-empty="true" no-current-selected-key="USD">
+                <entity-options entity-name="Uom" description="[${abbreviation}] ${description}" key-field-name="uomId">
+                    <entity-constraint name="uomTypeId" value="CURRENCY_MEASURE"/>
+                    <entity-order-by field-name="abbreviation"/>
+                </entity-options>
+            </drop-down>
+        </field>
+        <field name="submitButton" widget-style="smallSubmit"><submit button-type="button"/></field>
+    </form>
+</forms>
+    
\ No newline at end of file

Propchange: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml?view=auto&rev=524762
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml (added)
+++ ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml Mon Apr  2 03:43:21 2007
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
+        xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/widget-screen.xsd">
+	
+    <screen name="FinancialSummryReportOptions">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleFinancialSummaryReportOptions"/>
+                <set field="headerItem" value="FinancialSummryReports"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <container><label style="head1" text="${uiLabelMap.PageTitleFinancialSummaryReportOptions}"/></container>
+                        <include-form name="SalesInvoiceSummaryOptions" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                        <!--
+                        <include-form name="InventoryOutSummaryOptions" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                        <include-form name="PaymentCreditCardSummaryOptions" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                        <include-form name="FinancialAccountSummaryOptions" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+                        -->
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+	
+    <screen name="SalesInvoiceSummary">
+        <section>
+            <actions>
+                <set field="titleProperty" value="PageTitleSalesInvoiceSummary"/>
+                <set field="headerItem" value="FinancialSummryReports"/>
+                
+                <set field="month" from-field="parameters.month" type="Integer" default-value="0"/>
+                <set field="year" from-field="parameters.year" type="Integer"/>
+                <set field="rootProductCategoryId" from-field="parameters.rootProductCategoryId"/>
+                <set field="organizationPartyId" from-field="parameters.organizationPartyId"/>
+                <set field="currencyUomId" from-field="parameters.currencyUomId"/>
+                
+                <entity-one entity-name="ProductCategory" value-name="rootProductCategory" auto-field-map="false" use-cache="true">
+                    <field-map field-name="productCategoryId" env-name="rootProductCategoryId"/>
+                </entity-one>
+                <entity-one entity-name="PartyNameView" value-name="organizationPartyName" auto-field-map="false" use-cache="true">
+                    <field-map field-name="partyId" env-name="organizationPartyId"/>
+                </entity-one>
+                <entity-one entity-name="Uom" value-name="currencyUom" auto-field-map="false" use-cache="true">
+                    <field-map field-name="uomId" env-name="currencyUomId"/>
+                </entity-one>
+                
+                <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/SalesInvoiceSummary.bsh"/>
+            </actions>
+            <widgets>
+                <decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
+                    <decorator-section name="body">
+                        <label style="head1" text="${uiLabelMap.PageTitleSalesInvoiceSummary}"/>
+                        <platform-specific><html><html-template location="component://accounting/webapp/accounting/reports/SalesInvoiceSummary.ftl"/></html></platform-specific>
+                    </decorator-section>
+                </decorator-screen>
+            </widgets>
+        </section>
+    </screen>
+</screens>

Propchange: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
------------------------------------------------------------------------------
    svn:keywords = "Date Rev Author URL Id"

Propchange: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/trunk/applications/party/entitydef/entitygroup.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/entitydef/entitygroup.xml?view=diff&rev=524762&r1=524761&r2=524762
==============================================================================
--- ofbiz/trunk/applications/party/entitydef/entitygroup.xml (original)
+++ ofbiz/trunk/applications/party/entitydef/entitygroup.xml Mon Apr  2 03:43:21 2007
@@ -126,6 +126,7 @@
     <entity-group group="org.ofbiz" entity="PartyRelationshipType" />
     <entity-group group="org.ofbiz" entity="PartyRole" />
     <entity-group group="org.ofbiz" entity="PartyRoleAndPartyDetail" />
+    <entity-group group="org.ofbiz" entity="PartyRoleNameDetail"/>
     <entity-group group="org.ofbiz" entity="PartyStatus" />
     <entity-group group="org.ofbiz" entity="OldPartyTaxInfo" />
     <entity-group group="org.ofbiz" entity="PartyType" />

Modified: ofbiz/trunk/applications/party/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/entitydef/entitymodel.xml?view=diff&rev=524762&r1=524761&r2=524762
==============================================================================
--- ofbiz/trunk/applications/party/entitydef/entitymodel.xml (original)
+++ ofbiz/trunk/applications/party/entitydef/entitymodel.xml Mon Apr  2 03:43:21 2007
@@ -1894,6 +1894,31 @@
         <key-map field-name="partyId"/>
       </view-link>
     </view-entity>
+    <view-entity entity-name="PartyRoleNameDetail"
+        package-name="org.ofbiz.party.party"
+        title="Party Role and Party Detail (Person, PartyGroup, etc) View Entity">
+        <member-entity entity-alias="PTY" entity-name="Party"/>
+        <member-entity entity-alias="PR" entity-name="PartyRole"/>
+        <member-entity entity-alias="PERSON" entity-name="Person"/>
+        <member-entity entity-alias="PTYGRP" entity-name="PartyGroup"/>
+        <alias-all entity-alias="PTY"/>
+        <alias-all entity-alias="PR"/>
+        <alias-all entity-alias="PERSON">
+            <exclude field="comments"/>
+        </alias-all>
+        <alias-all entity-alias="PTYGRP">
+            <exclude field="comments"/>
+        </alias-all>
+        <view-link entity-alias="PTY" rel-entity-alias="PR">
+            <key-map field-name="partyId"/>
+        </view-link>
+        <view-link entity-alias="PTY" rel-entity-alias="PERSON" rel-optional="true">
+            <key-map field-name="partyId"/>
+        </view-link>
+        <view-link entity-alias="PTY" rel-entity-alias="PTYGRP" rel-optional="true">
+            <key-map field-name="partyId"/>
+        </view-link>
+    </view-entity>
     <entity entity-name="PartyStatus"
             package-name="org.ofbiz.party.party"
             title="Tracks a history of the status of a Party">