You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2009/12/04 19:14:15 UTC
svn commit: r887308 - in /ofbiz/trunk/applications/accounting:
webapp/accounting/WEB-INF/ webapp/accounting/WEB-INF/actions/reports/ widget/
Author: jacopoc
Date: Fri Dec 4 18:14:14 2009
New Revision: 887308
URL: http://svn.apache.org/viewvc?rev=887308&view=rev
Log:
Reimplemented and improved the "comparative balance sheet" report; improved layout of totals for income statement and balance sheet.
Added:
ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy (with props)
Modified:
ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/IncomeStatement.groovy
ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
Added: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy?rev=887308&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy (added)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy Fri Dec 4 18:14:14 2009
@@ -0,0 +1,87 @@
+/*
+ * 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 org.ofbiz.base.util.UtilMisc;
+import java.math.BigDecimal;
+import java.sql.Timestamp;
+import org.ofbiz.entity.util.EntityUtil;
+
+assetAccountBalanceMap = [:];
+assetAccountBalanceList = [];
+assetAccountBalanceList1.each { accountBalance ->
+ assetAccountBalanceMap.put(accountBalance.glAccountId, UtilMisc.toMap("glAccountId", accountBalance.glAccountId, "accountCode", accountBalance.accountCode, "accountName", accountBalance.accountName, "balance1", accountBalance.balance, "balance2", BigDecimal.ZERO));
+}
+assetAccountBalanceList2.each { accountBalance ->
+ Map assetAccount = (Map)assetAccountBalanceMap.get(accountBalance.glAccountId);
+ if (!assetAccount) {
+ assetAccountBalanceMap.put(accountBalance.glAccountId, UtilMisc.toMap("glAccountId", accountBalance.glAccountId, "accountCode", accountBalance.accountCode, "accountName", accountBalance.accountName, "balance2", accountBalance.balance, "balance1", BigDecimal.ZERO));
+ } else {
+ assetAccount.put("balance2", accountBalance.balance);
+ }
+}
+assetAccountBalanceList = UtilMisc.sortMaps(assetAccountBalanceMap.values().asList(), UtilMisc.toList("accountCode"));
+context.assetAccountBalanceList = assetAccountBalanceList;
+
+liabilityAccountBalanceMap = [:];
+liabilityAccountBalanceList = [];
+liabilityAccountBalanceList1.each { accountBalance ->
+ liabilityAccountBalanceMap.put(accountBalance.glAccountId, UtilMisc.toMap("glAccountId", accountBalance.glAccountId, "accountCode", accountBalance.accountCode, "accountName", accountBalance.accountName, "balance1", accountBalance.balance, "balance2", BigDecimal.ZERO));
+}
+liabilityAccountBalanceList2.each { accountBalance ->
+ Map assetAccount = (Map)liabilityAccountBalanceMap.get(accountBalance.glAccountId);
+ if (!assetAccount) {
+ liabilityAccountBalanceMap.put(accountBalance.glAccountId, UtilMisc.toMap("glAccountId", accountBalance.glAccountId, "accountCode", accountBalance.accountCode, "accountName", accountBalance.accountName, "balance2", accountBalance.balance, "balance1", BigDecimal.ZERO));
+ } else {
+ assetAccount.put("balance2", accountBalance.balance);
+ }
+}
+liabilityAccountBalanceList = UtilMisc.sortMaps(liabilityAccountBalanceMap.values().asList(), UtilMisc.toList("accountCode"));
+context.liabilityAccountBalanceList = liabilityAccountBalanceList;
+
+equityAccountBalanceMap = [:];
+equityAccountBalanceList = [];
+equityAccountBalanceList1.each { accountBalance ->
+ equityAccountBalanceMap.put(accountBalance.glAccountId, UtilMisc.toMap("glAccountId", accountBalance.glAccountId, "accountCode", accountBalance.accountCode, "accountName", accountBalance.accountName, "balance1", accountBalance.balance, "balance2", BigDecimal.ZERO));
+}
+equityAccountBalanceList2.each { accountBalance ->
+ Map assetAccount = (Map)equityAccountBalanceMap.get(accountBalance.glAccountId);
+ if (!assetAccount) {
+ equityAccountBalanceMap.put(accountBalance.glAccountId, UtilMisc.toMap("glAccountId", accountBalance.glAccountId, "accountCode", accountBalance.accountCode, "accountName", accountBalance.accountName, "balance2", accountBalance.balance, "balance1", BigDecimal.ZERO));
+ } else {
+ assetAccount.put("balance2", accountBalance.balance);
+ }
+}
+equityAccountBalanceList = UtilMisc.sortMaps(equityAccountBalanceMap.values().asList(), UtilMisc.toList("accountCode"));
+context.equityAccountBalanceList = equityAccountBalanceList;
+
+balanceTotalMap = [:];
+balanceTotalList = [];
+balanceTotalList1.each { accountBalance ->
+ balanceTotalMap.put(accountBalance.totalName, UtilMisc.toMap("totalName", accountBalance.totalName, "balance1", accountBalance.balance, "balance2", BigDecimal.ZERO));
+}
+balanceTotalList2.each { accountBalance ->
+ Map assetAccount = (Map)balanceTotalMap.get(accountBalance.totalName);
+ if (!assetAccount) {
+ balanceTotalMap.put(accountBalance.totalName, UtilMisc.toMap("totalName", accountBalance.totalName, "balance2", accountBalance.balance, "balance1", BigDecimal.ZERO));
+ } else {
+ assetAccount.put("balance2", accountBalance.balance);
+ }
+}
+balanceTotalList = balanceTotalMap.values().asList();
+context.balanceTotalList = balanceTotalList;
Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy
------------------------------------------------------------------------------
svn:keywords = "Date Rev Author URL Id"
Propchange: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/IncomeStatement.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/IncomeStatement.groovy?rev=887308&r1=887307&r2=887308&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/IncomeStatement.groovy (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/actions/reports/IncomeStatement.groovy Fri Dec 4 18:14:14 2009
@@ -61,6 +61,8 @@
mainAndExprs.add(EntityCondition.makeCondition("transactionDate", EntityOperator.GREATER_THAN_EQUAL_TO, fromDate));
mainAndExprs.add(EntityCondition.makeCondition("transactionDate", EntityOperator.LESS_THAN, thruDate));
+List balanceTotalList = [];
+
// REVENUE
// account balances
accountBalanceList = [];
@@ -103,6 +105,7 @@
context.revenueAccountBalanceList = accountBalanceList;
context.revenueAccountBalanceList.add(UtilMisc.toMap("accountName", "TOTAL REVENUES", "balance", balanceTotal));
context.revenueBalanceTotal = balanceTotal;
+balanceTotalList.add(UtilMisc.toMap("totalName", "AccountingNetSales", "balance", balanceTotal));
// EXPENSE
// account balances
@@ -187,6 +190,7 @@
balanceTotal = balanceTotalDebit.subtract(balanceTotalCredit);
}
context.cogsExpense = balanceTotal;
+balanceTotalList.add(UtilMisc.toMap("totalName", "AccountingCostOfGoodsSold", "balance", balanceTotal));
// OPERATING EXPENSES (SGA_EXPENSE)
// account balances
@@ -274,9 +278,16 @@
// GROSS MARGIN = NET SALES - COSTS OF GOODS SOLD
context.grossMargin = (context.revenueBalanceTotal).subtract(context.cogsExpense);
+balanceTotalList.add(UtilMisc.toMap("totalName", "AccountingGrossMargin", "balance", context.grossMargin));
// OPERATING EXPENSES
context.sgaExpense = sgaExpense;
+balanceTotalList.add(UtilMisc.toMap("totalName", "AccountingOperatingExpenses", "balance", context.sgaExpense));
// INCOME FROM OPERATIONS = GROSS MARGIN - OPERATING EXPENSES
context.incomeFromOperations = (context.grossMargin).subtract(context.sgaExpense);
+balanceTotalList.add(UtilMisc.toMap("totalName", "AccountingIncomeFromOperations", "balance", context.incomeFromOperations));
// NET INCOME
context.netIncome = (context.revenueBalanceTotal).add(context.incomeBalanceTotal).subtract(context.expenseBalanceTotal);
+balanceTotalList.add(UtilMisc.toMap("totalName", "AccountingNetIncome", "balance", context.netIncome));
+
+context.balanceTotalList = balanceTotalList;
+
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?rev=887308&r1=887307&r2=887308&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Fri Dec 4 18:14:14 2009
@@ -2221,12 +2221,6 @@
</request-map>
<request-map uri="BalanceSheet"><security https="true" auth="true"/><response name="success" type="view" value="BalanceSheet"/></request-map>
<request-map uri="ComparativeBalanceSheet"><security https="true" auth="true"/><response name="success" type="view" value="ComparativeBalanceSheet"/></request-map>
- <request-map uri="prepareComparativeBalanceSheet">
- <security https="true" auth="true"/>
- <event type="service" invoke="prepareComparativeBalanceSheet"/>
- <response name="success" type="view" value="ComparativeBalanceSheet"/>
- <response name="error" type="view" value="ComparativeBalanceSheet"/>
- </request-map>
<request-map uri="TransactionTotals"><security https="true" auth="true"/><response name="success" type="view" value="TransactionTotals"/></request-map>
<request-map uri="FindPaymentsForDepositOrWithdraw">
<security https="true" auth="true"/>
Modified: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml?rev=887308&r1=887307&r2=887308&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryForms.xml Fri Dec 4 18:14:14 2009
@@ -144,7 +144,7 @@
</field>
<field name="submitButton" widget-style="smallSubmit"><submit button-type="button"/></field>
</form>
- <form name="ComparativeBalanceSheetParameters" type="single" target="prepareComparativeBalanceSheet"
+ <form name="ComparativeBalanceSheetParameters" type="single" target="ComparativeBalanceSheet"
header-row-style="header-row" default-table-style="basic-table">
<field name="organizationPartyId"><hidden/></field>
<field name="period1ThruDate"><date-time/></field>
@@ -199,6 +199,59 @@
<field name="accountName" title-area-style="tableheadwide"><display description="${accountName}"/></field>
<field name="balance" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
</form>
+ <form name="ComparativeBalanceSheetAssets" type="list" list-name="assetAccountBalanceList"
+ odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+ <field name="accountCode">
+ <hyperlink target="FindAcctgTransEntries" description="${accountCode}">
+ <parameter param-name="glAccountId"/>
+ <parameter param-name="organizationPartyId"/>
+ </hyperlink>
+ </field>
+ <field name="accountName" title-area-style="tableheadwide"><display description="${accountName}"/></field>
+ <field name="balance1" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
+ <field name="balance2" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
+ </form>
+ <form name="ComparativeBalanceSheetLiabilities" type="list" list-name="liabilityAccountBalanceList"
+ odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+ <field name="accountCode">
+ <hyperlink target="FindAcctgTransEntries" description="${accountCode}">
+ <parameter param-name="glAccountId"/>
+ <parameter param-name="organizationPartyId"/>
+ </hyperlink>
+ </field>
+ <field name="accountName" title-area-style="tableheadwide"><display description="${accountName}"/></field>
+ <field name="balance1" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
+ <field name="balance2" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
+ </form>
+ <form name="ComparativeBalanceSheetEquities" type="list" list-name="equityAccountBalanceList"
+ odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+ <field name="accountCode">
+ <hyperlink target="FindAcctgTransEntries" description="${accountCode}">
+ <parameter param-name="glAccountId"/>
+ <parameter param-name="organizationPartyId"/>
+ </hyperlink>
+ </field>
+ <field name="accountName" title-area-style="tableheadwide"><display description="${accountName}"/></field>
+ <field name="balance1" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
+ <field name="balance2" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
+ </form>
+ <form name="BalanceTotals" type="list" list-name="balanceTotalList"
+ odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+ <row-actions>
+ <set field="totalName" value="${groovy: uiLabelMap.get(totalName)}"/>
+ </row-actions>
+ <field name="totalName" title="${uiLabelMap.CommonTotal}" title-area-style="tableheadhuge"><display description="${totalName}"/></field>
+ <field name="balance" title="_" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
+ </form>
+ <form name="ComparativeBalanceTotals" type="list" list-name="balanceTotalList"
+ odd-row-style="alternate-row" default-table-style="basic-table hover-bar">
+ <row-actions>
+ <set field="totalName" value="${groovy: uiLabelMap.get(totalName)}"/>
+ </row-actions>
+ <field name="totalName" title-area-style="tableheadwide"><display description="${totalName}"/></field>
+ <field name="balance1" title="Period1" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
+ <field name="balance2" title="Period2" widget-style="tabletextright"><display type="currency" currency="${currencyUomId}"/></field>
+ </form>
<form name="FindTransactionTotals" type="single" target="TransactionTotals" title="Find list of transaction totals"
header-row-style="header-row" default-table-style="basic-table">
Modified: ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml?rev=887308&r1=887307&r2=887308&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/ReportFinancialSummaryScreens.xml Fri Dec 4 18:14:14 2009
@@ -405,17 +405,9 @@
</container>
<include-form name="BalanceSheetEquities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
<container>
- <label style="h3" text="${uiLabelMap.AccountingCurrentAssets}: ${currentAssetBalanceTotal}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingLongTermAssets}: ${longtermAssetBalanceTotal}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingCurrentLiabilities}: ${currentLiabilityBalanceTotal}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingTotalLiabilitiesAndEquities}: ${liabilityEquityBalanceTotal}"/>
+ <label style="h3" text="${uiLabelMap.CommonTotal}"/>
</container>
+ <include-form name="BalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
</screenlet>
</decorator-section>
</decorator-screen>
@@ -459,17 +451,9 @@
</container>
<include-form name="BalanceSheetEquities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
<container>
- <label style="h3" text="${uiLabelMap.AccountingCurrentAssets}: ${currentAssetBalanceTotal}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingLongTermAssets}: ${longtermAssetBalanceTotal}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingCurrentLiabilities}: ${currentLiabilityBalanceTotal}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingTotalLiabilitiesAndEquities}: ${liabilityEquityBalanceTotal}"/>
+ <label style="h3" text="${uiLabelMap.CommonTotal}"/>
</container>
+ <include-form name="BalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
</container>
</widgets>
</section>
@@ -506,6 +490,7 @@
<screen name="ComparativeBalanceSheet">
<section>
<actions>
+ <set field="viewSize" value="99999"/>
<set field="titleProperty" value="AccountingComparativeBalanceSheet"/>
<set field="tabButtonItem" value="OrganizationAccountingReports"/>
<set field="tabButtonItem2" value="ComparativeBalanceSheet"/>
@@ -515,9 +500,43 @@
</service>
<set field="partyAcctgPreference" from-field="result.partyAccountingPreference"/>
<set field="currencyUomId" from-field="partyAcctgPreference.baseCurrencyUomId"/>
- <set field="assetBalancesList" from-field="parameters.assetBalancesList"/>
- <set field="liabilityBalancesList" from-field="parameters.liabilityBalancesList"/>
- <set field="equityBalancesList" from-field="parameters.equityBalancesList"/>
+
+ <set field="period1ThruDate" from-field="parameters.period1ThruDate" type="Timestamp" default-value="${nowTimestamp}"/>
+ <set field="period1GlFiscalTypeId" from-field="parameters.period1GlFiscalTypeId"/>
+ <set field="thruDate" from-field="period1ThruDate" type="Timestamp"/>
+ <set field="parameters.glFiscalTypeId" from-field="period1GlFiscalTypeId"/>
+ <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/BalanceSheet.groovy"/>
+ <set field="assetAccountBalanceList1" from-field="assetAccountBalanceList"/>
+ <set field="liabilityAccountBalanceList1" from-field="liabilityAccountBalanceList"/>
+ <set field="equityAccountBalanceList1" from-field="equityAccountBalanceList"/>
+ <set field="assetBalanceTotal1" from-field="assetBalanceTotal"/>
+ <set field="currentAssetBalanceTotal1" from-field="currentAssetBalanceTotal"/>
+ <set field="longtermAssetBalanceTotal1" from-field="longtermAssetBalanceTotal"/>
+ <set field="liabilityBalanceTotal1" from-field="liabilityBalanceTotal"/>
+ <set field="currentLiabilityBalanceTotal1" from-field="currentLiabilityBalanceTotal"/>
+ <set field="equityBalanceTotal1" from-field="equityBalanceTotal"/>
+ <set field="liabilityEquityBalanceTotal1" from-field="liabilityEquityBalanceTotal"/>
+ <set field="balanceTotalList1" from-field="balanceTotalList"/>
+
+ <set field="period2ThruDate" from-field="parameters.period2ThruDate" type="Timestamp" default-value="${nowTimestamp}"/>
+ <set field="period2GlFiscalTypeId" from-field="parameters.period2GlFiscalTypeId"/>
+ <set field="thruDate" from-field="period2ThruDate" type="Timestamp"/>
+ <set field="parameters.glFiscalTypeId" from-field="period2GlFiscalTypeId"/>
+ <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/BalanceSheet.groovy"/>
+ <set field="assetAccountBalanceList2" from-field="assetAccountBalanceList"/>
+ <set field="liabilityAccountBalanceList2" from-field="liabilityAccountBalanceList"/>
+ <set field="equityAccountBalanceList2" from-field="equityAccountBalanceList"/>
+ <set field="assetBalanceTotal2" from-field="assetBalanceTotal"/>
+ <set field="currentAssetBalanceTotal2" from-field="currentAssetBalanceTotal"/>
+ <set field="longtermAssetBalanceTotal2" from-field="longtermAssetBalanceTotal"/>
+ <set field="liabilityBalanceTotal2" from-field="liabilityBalanceTotal"/>
+ <set field="currentLiabilityBalanceTotal2" from-field="currentLiabilityBalanceTotal"/>
+ <set field="equityBalanceTotal2" from-field="equityBalanceTotal"/>
+ <set field="liabilityEquityBalanceTotal2" from-field="liabilityEquityBalanceTotal"/>
+ <set field="balanceTotalList2" from-field="balanceTotalList"/>
+
+ <script location="component://accounting/webapp/accounting/WEB-INF/actions/reports/ComparativeBalanceSheet.groovy"/>
+
</actions>
<widgets>
<decorator-screen name="CommonOrganizationAccountingReportsDecorator" location="${parameters.mainDecoratorLocation}">
@@ -525,26 +544,24 @@
<screenlet title="${uiLabelMap.AccountingComparativeBalanceSheet}">
<include-form name="ComparativeBalanceSheetParameters" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
</screenlet>
- <section>
- <condition>
- <or>
- <not><if-empty field="assetBalancesList"/></not>
- <not><if-empty field="liabilityBalancesList"/></not>
- <not><if-empty field="equityBalancesList"/></not>
- </or>
- </condition>
- <widgets>
- <screenlet title="${uiLabelMap.AccountingAssets}">
- <include-form name="BalanceSheetAssetList" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
- </screenlet>
- <screenlet title="${uiLabelMap.AccountingLiabilities}">
- <include-form name="BalanceSheetLiabilityList" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
- </screenlet>
- <screenlet title="${uiLabelMap.AccountingEquities}">
- <include-form name="BalanceSheetEquityList" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
- </screenlet>
- </widgets>
- </section>
+ <screenlet title="${uiLabelMap.AccountingComparativeBalanceSheet}">
+ <container>
+ <label style="h3" text="${uiLabelMap.AccountingAssets}"/>
+ </container>
+ <include-form name="ComparativeBalanceSheetAssets" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+ <container>
+ <label style="h3" text="${uiLabelMap.AccountingLiabilities}"/>
+ </container>
+ <include-form name="ComparativeBalanceSheetLiabilities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+ <container>
+ <label style="h3" text="${uiLabelMap.AccountingEquities}"/>
+ </container>
+ <include-form name="ComparativeBalanceSheetEquities" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+ <container>
+ <label style="h3" text="${uiLabelMap.CommonTotal}"/>
+ </container>
+ <include-form name="ComparativeBalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
+ </screenlet>
</decorator-section>
</decorator-screen>
</widgets>
@@ -736,23 +753,9 @@
</container>
<include-form name="IncomeStatementIncome" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
<container>
- <label style="h3" text="${uiLabelMap.AccountingNetSales}: ${revenueBalanceTotal}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingCostOfGoodsSold}: ${cogsExpense}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingGrossMargin}: ${grossMargin}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingOperatingExpenses}: ${sgaExpense}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingIncomeFromOperations}: ${incomeFromOperations}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingNetIncome}: ${netIncome}"/>
+ <label style="h3" text="${uiLabelMap.CommonTotal}"/>
</container>
+ <include-form name="BalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
</screenlet>
</decorator-section>
</decorator-screen>
@@ -790,23 +793,9 @@
</container>
<include-form name="IncomeStatementIncome" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
<container>
- <label style="h3" text="${uiLabelMap.AccountingNetSales}: ${revenueBalanceTotal}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingCostOfGoodsSold}: ${cogsExpense}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingGrossMargin}: ${grossMargin}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingOperatingExpenses}: ${sgaExpense}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingIncomeFromOperations}: ${incomeFromOperations}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingNetIncome}: ${netIncome}"/>
+ <label style="h3" text="${uiLabelMap.CommonTotal}"/>
</container>
+ <include-form name="BalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
</decorator-section>
</decorator-screen>
</widgets>
@@ -837,23 +826,9 @@
</container>
<include-form name="IncomeStatementIncome" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
<container>
- <label style="h3" text="${uiLabelMap.AccountingNetSales}: ${revenueBalanceTotal}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingCostOfGoodsSold}: ${cogsExpense}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingGrossMargin}: ${grossMargin}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingOperatingExpenses}: ${sgaExpense}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingIncomeFromOperations}: ${incomeFromOperations}"/>
- </container>
- <container>
- <label style="h3" text="${uiLabelMap.AccountingNetIncome}: ${netIncome}"/>
+ <label style="h3" text="${uiLabelMap.CommonTotal}"/>
</container>
+ <include-form name="BalanceTotals" location="component://accounting/widget/ReportFinancialSummaryForms.xml"/>
</widgets>
</section>
</screen>