You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by as...@apache.org on 2007/12/27 00:55:52 UTC
svn commit: r606978 - in /ofbiz/trunk/applications/accounting: config/
script/org/ofbiz/accounting/ledger/ src/org/ofbiz/accounting/
webapp/accounting/WEB-INF/ widget/
Author: ashish
Date: Wed Dec 26 15:55:48 2007
New Revision: 606978
URL: http://svn.apache.org/viewvc?rev=606978&view=rev
Log:
Applied patch from JIRA Issue # OFBIZ-1494.
Description :- Implement new screen and Java event to create an account reconciliation.
For a general description about the process: http://en.wikipedia.org/wiki/Bank_reconciliation
Thanks Santosh Malivya and Jyotsna Rathore for working on this.
Special thanks to Pranay Pandey for providing the improvement to this work.
Added:
ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ReconcileEvents.java (with props)
Modified:
ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties
ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml
ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml
ofbiz/trunk/applications/accounting/widget/GlForms.xml
ofbiz/trunk/applications/accounting/widget/GlScreens.xml
ofbiz/trunk/applications/accounting/widget/Menus.xml
Modified: ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties?rev=606978&r1=606977&r2=606978&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties (original)
+++ ofbiz/trunk/applications/accounting/config/AccountingUiLabels.properties Wed Dec 26 15:55:48 2007
@@ -43,6 +43,10 @@
ListAccounts=List Gl Accounts
+AccountingAcctRecon=Account Reconciliation
+AccountingAcctRecons=Account Reconciliations
+AccountingCreateAcctRecons=Create Account Reconciliation
+AccountingEditAcctRecon = Edit Account Reconciliation
AccountingAccount=Account
AccountingAccountId=Account ID
AccountingAccounting=Accounting
Modified: ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml?rev=606978&r1=606977&r2=606978&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml (original)
+++ ofbiz/trunk/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml Wed Dec 26 15:55:48 2007
@@ -241,7 +241,8 @@
<!-- update the status of the AcctgTransEntry to reconciled -->
<set field="updateAcctgTransEntryInMap.acctgTransId" from-field="parameters.acctgTransId"/>
<set field="updateAcctgTransEntryInMap.acctgTransEntrySeqId" from-field="parameters.acctgTransEntrySeqId"/>
- <set field="updateAcctgTransEntryInMap.acctgTransEntrySeqId" value="AES_RECONCILED"/>
+ <set field="updateAcctgTransEntryInMap.reconcileStatusId" value="AES_RECONCILED"/>
+ <set field="updateAcctgTransEntryInMap.amount" from-field="parameters.reconciledAmount"/>
<call-service service-name="updateAcctgTransEntry" in-map-name="updateAcctgTransEntryInMap"/>
<check-errors/>
Added: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ReconcileEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ReconcileEvents.java?rev=606978&view=auto
==============================================================================
--- ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ReconcileEvents.java (added)
+++ ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ReconcileEvents.java Wed Dec 26 15:55:48 2007
@@ -0,0 +1,145 @@
+/*******************************************************************************
+ * 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.
+ *******************************************************************************/
+package org.ofbiz.accounting;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import java.util.Map;
+import java.util.List;
+import java.util.Iterator;
+
+import org.ofbiz.base.util.Debug;
+import org.ofbiz.base.util.UtilHttp;
+import org.ofbiz.base.util.UtilMisc;
+import org.ofbiz.base.util.UtilDateTime;
+import org.ofbiz.base.util.UtilValidate;
+import org.ofbiz.entity.GenericDelegator;
+import org.ofbiz.entity.GenericEntityException;
+import org.ofbiz.entity.GenericValue;
+import org.ofbiz.service.LocalDispatcher;
+import org.ofbiz.service.ServiceUtil;
+import org.ofbiz.service.GenericServiceException;
+
+public class ReconcileEvents {
+
+public static final String module = ReconcileEvents.class.getName();
+public static String createReconcileAccount(HttpServletRequest request,HttpServletResponse response) {
+ LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
+ final GenericDelegator delegator = (GenericDelegator)request.getAttribute("delegator");
+ GenericValue userLogin = (GenericValue) request.getSession().getAttribute("userLogin");
+ Map ctx = UtilHttp.getParameterMap(request);
+ String acctgTransId;
+ String acctgTransEntrySeqId;
+ String glAccountId = null;
+ String organizationPartyId = null;
+ double reconciledBalance = 0.00;
+ boolean isSelected;
+ String debitCreditFlag;
+ int rowCount = 0;
+ if (ctx.containsKey("_rowCount")) {
+ rowCount = Integer.parseInt((String)ctx.get("_rowCount")); //get the number of rows
+ }
+ for (int i = 0; i < rowCount; i++) { //for calculating amount per glAccountId
+ double amount = 0.00;
+ String suffix = UtilHttp.MULTI_ROW_DELIMITER + i;
+ isSelected = (ctx.containsKey("_rowSubmit" + suffix) && "Y".equalsIgnoreCase((String)ctx.get("_rowSubmit" + suffix)));
+ if (!isSelected) {
+ continue;
+ }
+ acctgTransId = (String) ctx.get("acctgTransId" + suffix);
+ acctgTransEntrySeqId = (String) ctx.get("acctgTransEntrySeqId" + suffix);
+ organizationPartyId = (String) ctx.get("organizationPartyId" + suffix);
+ glAccountId = (String) ctx.get("glAccountId" + suffix);
+ GenericValue acctgTransEntry;
+ try {
+ List acctgTransEntries = delegator.findByAnd("AcctgTransEntry", UtilMisc.toMap("acctgTransId", acctgTransId, "acctgTransEntrySeqId", acctgTransEntrySeqId));
+ if (UtilValidate.isNotEmpty(acctgTransEntries)) {
+ Iterator acctgTransEntryItr = acctgTransEntries.iterator();
+ while (acctgTransEntryItr.hasNext()) { //calculate amount for each AcctgTransEntry according to glAccountId based on debit and credit
+ acctgTransEntry = (GenericValue) acctgTransEntryItr.next();
+ debitCreditFlag = (String) acctgTransEntry.getString("debitCreditFlag");
+ if ("D".equalsIgnoreCase(debitCreditFlag)) {
+ amount += acctgTransEntry.getDouble("amount"); //for debit
+ } else {
+ amount -= acctgTransEntry.getDouble("amount"); //for credit
+ }
+ }
+ }
+ reconciledBalance += amount; //total balance per glAccountId
+ } catch (GenericEntityException e) {
+ Debug.logError(e, module);
+ return "error";
+ }
+
+ }
+ Map fieldMap = UtilMisc.toMap("glReconciliationName", "Reconciliation at date " + UtilDateTime.nowTimestamp(), "glAccountId", glAccountId, "organizationPartyId", organizationPartyId, "reconciledDate", UtilDateTime.nowTimestamp(), "reconciledBalance", new Double(reconciledBalance), "userLogin", userLogin);
+ Map glReconResult = null;
+ try {
+ glReconResult = dispatcher.runSync("createGlReconciliation", fieldMap); //create GlReconciliation for the glAccountId
+ if (ServiceUtil.isError(glReconResult)) {
+ return "error";
+ }
+ } catch (GenericServiceException e) {
+ Debug.logError(e, module);
+ return "error";
+ }
+ String glReconciliationId = (String) glReconResult.get("glReconciliationId");
+ String reconciledAmount;
+ for (int i = 0; i < rowCount; i++) {
+ String suffix = UtilHttp.MULTI_ROW_DELIMITER + i;
+ isSelected = (ctx.containsKey("_rowSubmit" + suffix) && "Y".equalsIgnoreCase((String)ctx.get("_rowSubmit" + suffix)));
+ if (!isSelected) {
+ continue;
+ }
+ acctgTransId = (String) ctx.get("acctgTransId" + suffix);
+ acctgTransEntrySeqId = (String) ctx.get("acctgTransEntrySeqId" + suffix);
+ GenericValue acctgTransEntry;
+ try {
+ List acctgTransEntries = delegator.findByAnd("AcctgTransEntry", UtilMisc.toMap("acctgTransId", acctgTransId, "acctgTransEntrySeqId", acctgTransEntrySeqId));
+ if (UtilValidate.isNotEmpty(acctgTransEntries)) {
+ Iterator acctgTransEntryItr = acctgTransEntries.iterator();
+ while (acctgTransEntryItr.hasNext()) {
+ acctgTransEntry = (GenericValue) acctgTransEntryItr.next();
+ reconciledAmount = acctgTransEntry.getString("amount");
+ acctgTransId = acctgTransEntry.getString("acctgTransId");
+ acctgTransEntrySeqId = acctgTransEntry.getString("acctgTransEntrySeqId");
+ Map glReconEntryMap = UtilMisc.toMap("glReconciliationId", glReconciliationId, "acctgTransId", acctgTransId, "acctgTransEntrySeqId", acctgTransEntrySeqId, "reconciledAmount", reconciledAmount, "userLogin", userLogin);
+ Map glReconEntryResult = null;
+ try {
+ glReconEntryResult = dispatcher.runSync("createGlReconciliationEntry", glReconEntryMap);
+ if (ServiceUtil.isError(glReconEntryResult)) {
+ return "error";
+ }
+ } catch (GenericServiceException e) {
+ Debug.logError(e, module);
+ return "error";
+ }
+ }
+ }
+ } catch (GenericEntityException e) {
+ Debug.logError(e, module);
+ return "error";
+ }
+ }
+ ctx.put("glReconciliationId", glReconciliationId);
+ request.setAttribute("glReconciliationId", glReconciliationId);
+ return "success";
+ }
+}
\ No newline at end of file
Propchange: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ReconcileEvents.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ReconcileEvents.java
------------------------------------------------------------------------------
svn:keywords = Date Rev Author URL Id
Propchange: ofbiz/trunk/applications/accounting/src/org/ofbiz/accounting/ReconcileEvents.java
------------------------------------------------------------------------------
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?rev=606978&r1=606977&r2=606978&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml (original)
+++ ofbiz/trunk/applications/accounting/webapp/accounting/WEB-INF/controller.xml Wed Dec 26 15:55:48 2007
@@ -1445,6 +1445,33 @@
<security https="true" auth="true"/>
<response name="success" type="view" value="ViewGlReconciliation"/>
</request-map>
+
+ <request-map uri="findGlAccountReconciliation">
+ <security https="true" auth="true"/>
+ <response name="success" type="view" value="FindGlAccountReconciliation"/>
+ <response type="view" name="error" value="FindGlAccountReconciliation"/>
+ </request-map>
+ <request-map uri="EditGlReconciliation">
+ <security https="true" auth="true"/>
+ <event type="java" path="org.ofbiz.accounting.ReconcileEvents" invoke="createReconcileAccount"/>
+ <response name="success" type="view" value="EditGlReconciliation"/>
+ <response name="error" type="view" value="FindGlAccountReconciliation"/>
+ </request-map>
+ <request-map uri="EditGlReconciliations">
+ <security https="true" auth="true"/>
+ <response type="view" name="success" value="EditGlReconciliation"/>
+ </request-map>
+ <request-map uri="updateGlReconciliation">
+ <security https="true" auth="true"/>
+ <event type="service" invoke="updateGlReconciliation"/>
+ <response type="view" name="success" value="EditGlReconciliation"/>
+ </request-map>
+ <request-map uri="findGlAccountReconciliations">
+ <security https="true" auth="true"/>
+ <response name="success" type="view" value="FindGlAccountReconciliations"/>
+ <response type="view" name="error" value="FindGlAccountReconciliations"/>
+ </request-map>
+
<!-- ================ check requests ================= -->
<request-map uri="listChecksToPrint">
<security https="true" auth="true"/>
@@ -1751,7 +1778,10 @@
<view-map name="ListGlAccountsExport" type="screenxml" page="component://accounting/widget/GlobalGlAccountsScreens.xml#ListGlAccountsExport" content-type="text/xml"/>
<view-map name="GlAccountNavigate" type="screen" page="component://accounting/widget/GlobalGlAccountsScreens.xml#GlAccountNavigate"/>
<view-map name="AssignGlAccount" type="screen" page="component://accounting/widget/GlobalGlAccountsScreens.xml#AssignGlAccount"/>
-
+ <view-map name="FindGlAccountReconciliation" type="screen" page="component://accounting/widget/GlScreens.xml#FindGlAccountReconciliation"/>
+ <view-map name="FindGlAccountReconciliations" type="screen" page="component://accounting/widget/GlScreens.xml#FindGlAccountReconciliations"/>
+ <view-map name="EditGlReconciliation" type="screen" page="component://accounting/widget/GlScreens.xml#EditGlReconciliation"/>
+
<view-map name="EditGlobalGlAccount" type="screen" page="component://accounting/widget/GlobalGlAccountsScreens.xml#AddGlAccount"/>
<!-- NOTE/TODO: these 2 appear to never have been implemented all the way, just request and view defs so far... -->
<view-map name="EditGlobalGlAccountOrganizations" type="screen" page="component://accounting/widget/GlobalGlAccountsScreens.xml#EditGlobalGlAccountOrganizations"/>
Modified: ofbiz/trunk/applications/accounting/widget/GlForms.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/GlForms.xml?rev=606978&r1=606977&r2=606978&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/GlForms.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/GlForms.xml Wed Dec 26 15:55:48 2007
@@ -635,4 +635,98 @@
</field>
<field name="createButton" widget-style="smallSubmit"><submit button-type="button"/></field>
</form>
+ <form name="FindGlAccountReconciliation" type="single" title="" target="findGlAccountReconciliation">
+ <field name="organizationPartyId"><hidden/></field>
+ <field name="glAccountId" widget-style="selectBox">
+ <drop-down allow-empty="false">
+ <entity-options entity-name="GlAccount" description="${glAccountId}: ${accountName}" key-field-name="glAccountId">
+ <entity-order-by field-name="glAccountId"/>
+ </entity-options>
+ </drop-down>
+ </field>
+ <field name="performSearch"><hidden value="Y"/></field>
+ <field name="submitButton" title="${uiLabelMap.CommonSearch}" widget-style="buttontext"><submit button-type="text-link"/></field>
+ </form>
+ <form name="ListGlAccountReconciliation" type="multi" use-row-submit="true" target="EditGlReconciliation?organizationPartyId=${organizationPartyId}&tabButtonItem=AccountReconciliation">
+ <actions>
+ <entity-condition entity-name="AcctgTransEntry">
+ <condition-list>
+ <condition-expr field-name="organizationPartyId" env-name="organizationPartyId"/>
+ <condition-expr field-name="reconcileStatusId" operator="equals" value="AES_NOT_RECONCILED"/>
+ <condition-expr field-name="glAccountId" operator="equals" value="${glAccountId}"/>
+ </condition-list>
+ <order-by field-name="-lastUpdatedStamp"/>
+ </entity-condition>
+ </actions>
+
+ <field name="acctgTransId"><display/></field>
+ <field name="acctgTransEntrySeqId"><display/></field>
+ <field name="glAccountId"><display/></field>
+ <field name="partyId"><display/></field>
+ <field name="productId"><display/></field>
+ <field name="organizationPartyId"><display/></field>
+ <field name="amount"><display/></field>
+ <field name="_rowSubmit" title="${uiLabelMap.CommonSelect}"><check/></field>
+ <field name="submitButton" title="${uiLabelMap.AccountingCreateAcctRecons}" widget-style="buttontext"><submit button-type="text-link"/></field>
+ </form>
+ <form name="EditGlReconciliation" type="single" target="updateGlReconciliation?tabButtonItem=${tabButtonItem}" default-map-name="glReconciliation">
+ <auto-fields-service service-name="updateGlReconciliation"/>
+ <field name="glReconciliationId"><display/></field>
+ <field name="glReconciliationName"><text/></field>
+ <field name="description"><text/></field>
+ <field name="glAccountId"><display/></field>
+ <field name="reconciledDate"><date-time/></field>
+ <field name="organizationPartyId"><display/></field>
+ <field name="reconciledBalance"><display/></field>
+ <field use-when="glReconciliationId!=null" name="updateButton" title="${uiLabelMap.CommonUpdate}" widget-style="buttontext" ><submit button-type="text-link"/></field>
+ </form>
+ <form name="ListGlReconciliationEntries" type="list" use-row-submit="true">
+ <actions>
+ <entity-condition entity-name="GlReconciliationEntry">
+ <condition-list>
+ <condition-expr field-name="glReconciliationId" env-name="glReconciliationId"/>
+ </condition-list>
+ </entity-condition>
+ </actions>
+ <field name="glReconciliationId"><display/></field>
+ <field name="acctgTransId"><display/></field>
+ <field name="acctgTransEntrySeqId"><display/></field>
+ <field name="reconciledAmount"><display/></field>
+ <field name="lastUpdatedStamp"><display/></field>
+ </form>
+ <form name="FindGlAccountReconciliations" type="single" title="" target="findGlAccountReconciliations">
+ <field name="organizationPartyId"><hidden/></field>
+ <field name="glAccountId" widget-style="selectBox">
+ <drop-down allow-empty="false">
+ <entity-options entity-name="GlAccount" description="${glAccountId}: ${accountName}" key-field-name="glAccountId">
+ <entity-order-by field-name="glAccountId"/>
+ </entity-options>
+ </drop-down>
+ </field>
+ <field name="fromDate"><date-time/></field>
+ <field name="thruDate"><date-time/></field>
+ <field name="performSearch"><hidden value="Y"/></field>
+ <field name="submitButton" title="${uiLabelMap.CommonSearch}" widget-style="buttontext"><submit button-type="text-link"/></field>
+ </form>
+ <form name="ListGlAccountReconciliations" type="list" default-entity-name="GlReconciliation">
+ <actions>
+ <entity-condition entity-name="GlReconciliation">
+ <condition-list>
+ <condition-expr field-name="glAccountId" operator="equals" value="${glAccountId}"/>
+ <condition-expr field-name="reconciledDate" operator="greater-equals" env-name="parameters.fromDate" ignore-if-empty="true"/>
+ <condition-expr field-name="reconciledDate" operator="less" env-name="parameters.thruDate" ignore-if-empty="true"/>
+ </condition-list>
+ </entity-condition>
+ </actions>
+ <field name="glReconciliationId">
+ <hyperlink also-hidden="false" description="${glReconciliationId}" target="EditGlReconciliations?glReconciliationId=${glReconciliationId}&organizationPartyId=${organizationPartyId}&tabButtonItem=AccountReconciliations"/>
+ </field>
+ <field name="glReconciliationName"><display/></field>
+ <field name="description"><display/></field>
+ <field name="createdByUserLogin"><display/></field>
+ <field name="lastModifiedByUserLogin"><display/></field>
+ <field name="glAccountId"><display/></field>
+ <field name="organizationPartyId"><display/></field>
+ <field name="reconciledBalance"><display/></field>
+ </form>
</forms>
Modified: ofbiz/trunk/applications/accounting/widget/GlScreens.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/GlScreens.xml?rev=606978&r1=606977&r2=606978&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/GlScreens.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/GlScreens.xml Wed Dec 26 15:55:48 2007
@@ -335,5 +335,95 @@
</widgets>
</section>
</screen>
+
+ <screen name="FindGlAccountReconciliation">
+ <section>
+ <actions>
+ <set field="titleProperty" value="AccountingAcctRecon"/>
+ <set field="tabButtonItem" value="AccountReconciliation"/>
+ <set field="organizationPartyId" from-field="parameters.organizationPartyId" global="true"/>
+ <set field="glAccountId" from-field="parameters.glAccountId"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="CommonPartyAccountsDecorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <container style="screenlet">
+ <container style="body">
+ <include-form name="FindGlAccountReconciliation" location="component://accounting/widget/GlForms.xml"/>
+ </container>
+ </container>
+ <section>
+ <condition>
+ <if-compare field-name="parameters.performSearch" operator="equals" value="Y"/>
+ </condition>
+ <widgets>
+ <include-form name="ListGlAccountReconciliation" location="component://accounting/widget/GlForms.xml"/>
+ </widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="EditGlReconciliation">
+ <section>
+ <actions>
+ <set field="titleProperty" value="AccountingEditAcctRecon"/>
+ <set field="tabButtonItem" from-field="parameters.tabButtonItem" global="true"/>
+ <set field="organizationPartyId" from-field="parameters.organizationPartyId" global="true"/>
+ <set field="glReconciliationId" from-field="parameters.glReconciliationId" global="true"/>
+ <entity-one entity-name="GlReconciliation" value-name="glReconciliation"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="CommonPartyAccountsDecorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <section>
+ <widgets>
+ <container style="screenlet">
+ <container style="body">
+ <include-form name="EditGlReconciliation" location="component://accounting/widget/GlForms.xml"/>
+ </container>
+ </container>
+ </widgets>
+ </section>
+ <section>
+ <widgets>
+ <include-form name="ListGlReconciliationEntries" location="component://accounting/widget/GlForms.xml"/>
+ </widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
+ <screen name="FindGlAccountReconciliations">
+ <section>
+ <actions>
+ <set field="titleProperty" value="AccountingAcctRecons"/>
+ <set field="tabButtonItem" value="AccountReconciliations"/>
+ <set field="organizationPartyId" from-field="parameters.organizationPartyId" global="true"/>
+ <set field="glAccountId" from-field="parameters.glAccountId"/>
+ </actions>
+ <widgets>
+ <decorator-screen name="CommonPartyAccountsDecorator" location="${parameters.mainDecoratorLocation}">
+ <decorator-section name="body">
+ <container style="screenlet">
+ <container style="body">
+ <include-form name="FindGlAccountReconciliations" location="component://accounting/widget/GlForms.xml"/>
+ </container>
+ </container>
+ <section>
+ <condition>
+ <if-compare field-name="parameters.performSearch" operator="equals" value="Y"/>
+ </condition>
+ <widgets>
+ <include-form name="ListGlAccountReconciliations" location="component://accounting/widget/GlForms.xml"/>
+ </widgets>
+ </section>
+ </decorator-section>
+ </decorator-screen>
+ </widgets>
+ </section>
+ </screen>
</screens>
Modified: ofbiz/trunk/applications/accounting/widget/Menus.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/accounting/widget/Menus.xml?rev=606978&r1=606977&r2=606978&view=diff
==============================================================================
--- ofbiz/trunk/applications/accounting/widget/Menus.xml (original)
+++ ofbiz/trunk/applications/accounting/widget/Menus.xml Wed Dec 26 15:55:48 2007
@@ -424,6 +424,12 @@
<menu-item name="PartyAccountsSummary" title="${uiLabelMap.AcctgPartyGlJournalSummary}">
<link target="PartyAccountsSummary?organizationPartyId=${organizationPartyId}"/>
</menu-item>
+ <menu-item name="AccountReconciliation" title="${uiLabelMap.AccountingAcctRecon}">
+ <link target="findGlAccountReconciliation?organizationPartyId=${organizationPartyId}"/>
+ </menu-item>
+ <menu-item name="AccountReconciliations" title="${uiLabelMap.AccountingAcctRecons}">
+ <link target="findGlAccountReconciliations?organizationPartyId=${organizationPartyId}"/>
+ </menu-item>
<menu-item name="FindAcctgTrans" title="${uiLabelMap.AccountingAcctgTranss}">
<link target="FindAcctgTrans?organizationPartyId=${organizationPartyId}"/>
</menu-item>