applications/accounting/widget/finance/FinAccountScreens.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is subject to the terms and conditions defined in the
files 'LICENSE' and 'NOTICE', which are part of this source
code package.
-->
<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">
<!-- SCIPIO: NOTE: The old parameters.finAccountDecoratorLocation pattern that existed here has been supplanted
by the decorator default-fallback-location pattern for parameters.mainDecoratorLocation (see CommonScreens.xml). -->
<screen name="FindFinAccount">
<section>
<actions>
<set field="titleProperty" value="PageTitleFindFinAccount"/>
<set field="activeSubMenuItem" value="FindFinAccount"/>
<set field="viewIndex" from-field="parameters.VIEW_INDEX" type="Integer" default-value="0"/>
<property-to-field resource="widget" property="widget.form.defaultViewSize" field="viewSizeDefaultValue"/>
<set field="viewSize" from-field="parameters.VIEW_SIZE" type="Integer" default-value="${viewSizeDefaultValue}"/>
<set field="displayAdvancedSearch" from-field="parameters.displayAdvancedSearch"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
<decorator-section name="menu-bar">
<container style="button-bar">
<include-menu name="FinAccountSubTabBar" location="component://accounting/widget/AccountingMenus.xml"/>
</container>
</decorator-section>
<decorator-section name="search-options">
<section>
<condition>
<if-compare field="displayAdvancedSearch" operator="equals" value="true"/>
</condition>
<widgets>
<include-form name="FindFinAccounts" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</widgets>
<fail-widgets>
<include-form name="QuickFindFinAccounts" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</fail-widgets>
</section>
</decorator-section>
<decorator-section name="search-results">
<include-form name="ListFinAccounts" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</decorator-section>
</decorator-screen>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="EditFinAccount">
<section>
<actions>
<set field="activeSubMenuItem" value="EditFinAccount"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<set field="titleProperty" value="${groovy: context.finAccount ? 'PageTitleEditFinAccount' : 'AccountingCreateNewFinAccount'}"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<section>
<condition>
<not><if-empty field="finAccountId"/></not>
</condition>
<widgets>
<container style="button-bar">
<link target="EditFinAccount" text="${uiLabelMap.AccountingCreateNewFinAccount}" style="${styles.link_nav} ${styles.action_add}"/>
</container>
<screenlet id="EditFinAccountPanel">
<include-form name="EditFinAccount" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
</widgets>
<fail-widgets>
<screenlet id="CreateFinAccountPanel">
<include-form name="EditFinAccount" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
</fail-widgets>
</section>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="EditFinAccountRoles">
<section>
<actions>
<set field="titleProperty" value="PageTitleEditFinAccountRole"/>
<set field="activeSubMenuItem" value="EditFinAccountRoles"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<set field="partyId" from-field="parameters.partyId"/>
<set field="roleTypeId" from-field="parameters.roleTypeId"/>
<set field="fromDate" from-field="parameters.fromDate"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<label style="heading" text="${uiLabelMap.AccountingEditFinAccountRoleFor}"/>
<screenlet id="FinAccountRolePanel" collapsible="true">
<include-form name="AddFinAccountRole" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
<include-form name="ListFinAccountRoles" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="EditFinAccountTrans">
<section>
<actions>
<set field="titleProperty" value="PageTitleEditFinAccountTrans"/>
<set field="activeSubMenuItem" value="FinAccountTrans"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<set field="finAccountTransId" from-field="parameters.finAccountTransId"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<!-- <label style="heading" text="${uiLabelMap.AccountingEditFinAccountTransactionFor}"/> -->
<screenlet id="FinAccountTransPanel" collapsible="true">
<include-form name="AddFinAccountTrans" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="EditFinAccountAuths">
<section>
<actions>
<set field="titleProperty" value="PageTitleEditFinAccountAuths"/>
<set field="activeSubMenuItem" value="EditFinAccountAuths"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<set field="finAccountAuthId" from-field="parameters.finAccountAuthId"/>
<property-to-field field="defaultCurrencyUomId" resource="general" property="currency.uom.id.default" default="USD"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<screenlet id="FinAccountAuthsPanel" title="${uiLabelMap.AccountingEditFinAccountAuthorityFor}]" collapsible="true">
<include-form name="AddFinAccountAuth" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
<include-form name="ListFinAccountAuths" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="PaymentsDepositWithdraw">
<section>
<actions>
<set field="titleProperty" value="AccountingDepositOrWithdrawPayments"/>
<set field="activeSubMenuItem" value="depositWithdraw"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<set field="paymentMethodTypeId" from-field="parameters.paymentMethodTypeId"/>
<set field="cardType" from-field="parameters.cardType"/>
<set field="fromDate" type="Timestamp" from-field="parameters.fromDate"/>
<set field="thruDate" type="Timestamp" from-field="parameters.thruDate"/>
<set field="partyIdFrom" from-field="parameters.partyIdFrom"/>
<set field="organizationPartyId" from-field="parameters.organizationPartyId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<script location="component://accounting/webapp/accounting/WEB-INF/actions/payment/DepositWithdrawPayments.groovy"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<container style="button-bar">
<link target="NewDepositPayment" text="${uiLabelMap.AccountingCreateNewDepositPayment}" style="${styles.link_nav} ${styles.action_add}">
<parameter param-name="finAccountId"/>
</link>
<link target="NewWithdrawalPayment" text="${uiLabelMap.AccountingCreateNewWithdrawalPayment}" style="${styles.link_nav} ${styles.action_add}">
<parameter param-name="finAccountId"/>
</link>
</container>
<decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
<decorator-section name="search-options">
<include-form name="PaymentsDepositWithdraw" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</decorator-section>
<decorator-section name="search-results">
<platform-specific>
<html><html-template location="component://accounting/webapp/accounting/payment/depositWithdrawPayments.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="FinAccountMain">
<section>
<actions>
<set field="activeSubMenuItem" value="finAccountMain"/>
<!-- SCIPIO: DEV NOTE: I added this title because needed for FinAccountSubTabBar below to look okay...
and if FinAccountSubTabBar isn't here it's too inconsistent with all other screens... -->
<set field="titleProperty" value="AccountingFinAccounts"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<container style="button-bar"><!-- SCIPIO: added for consistency -->
<include-menu name="FinAccountSubTabBar" location="component://accounting/widget/AccountingMenus.xml"/>
</container>
<!--<include-portal-page id="FinAccountPortalPage"/>-->
<include-screen name="ListBankAccount"/>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="ListBankAccount">
<section>
<actions>
<property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
<set field="parameters.finAccountTypeId" value="BANK_ACCOUNT"/>
</actions>
<widgets>
<screenlet title="${uiLabelMap.CommonList} ${uiLabelMap.AccountingBankAccount}">
<include-screen name="FinAccountPortlets"/>
</screenlet>
</widgets>
</section>
</screen>
<screen name="FindDepositSlips">
<section>
<actions>
<set field="titleProperty" value="AccountingFindDepositSlip"/>
<set field="activeSubMenuItem" value="findDepositSlips"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<entity-condition entity-name="PmtGrpMembrPaymentAndFinAcctTrans" list="pmtGrpMembrPaymentAndFinAcctTransList">
<condition-list combine="and">
<condition-expr field-name="paymentGroupId" from-field="parameters.paymentGroupId" ignore-if-empty="true"/>
<condition-expr field-name="finAccountId" from-field="parameters.finAccountId"/>
</condition-list>
</entity-condition>
<set field="paymentGroupIds" value="${groovy:org.ofbiz.entity.util.EntityUtil.getFieldListFromEntityList(pmtGrpMembrPaymentAndFinAcctTransList, 'paymentGroupId', true);}" type="List"/>
<entity-condition entity-name="PaymentGroup" list="paymentGroupList">
<condition-list combine="and">
<condition-expr field-name="paymentGroupId" operator="in" from-field="paymentGroupIds" ignore-if-empty="true"/>
<condition-expr field-name="paymentGroupTypeId" value="BATCH_PAYMENT"/>
</condition-list>
</entity-condition>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<container style="button-bar">
<link target="NewDepositSlip" text="${uiLabelMap.AccountingCreateNewDepositSlip}" style="${styles.link_nav} ${styles.action_add}">
<parameter param-name="finAccountId" from-field="parameters.finAccountId"/>
<parameter param-name="organizationPartyId" from-field="parameters.organizationPartyId"/>
</link>
</container>
<decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
<decorator-section name="search-options">
<include-form name="FindDepositSlips" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</decorator-section>
<decorator-section name="search-results">
<include-form name="ListDepositSlips" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</decorator-section>
</decorator-screen>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="EditDepositSlipAndMembers">
<section>
<actions>
<set field="titleProperty" value="AccountingFindDepositSlip"/>
<set field="activeSubMenuItem" value="findDepositSlips"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<set field="paymentGroupId" from-field="parameters.paymentGroupId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<entity-one entity-name="PaymentGroup" value-field="paymentGroup"/>
<entity-and entity-name="PaymentGroupMember" list="paymentGroupMemberList" filter-by-date="true">
<field-map field-name="paymentGroupId"/>
</entity-and>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<section>
<condition>
<not><if-empty field="paymentGroupMemberList"/></not>
</condition>
<widgets>
<container style="button-bar">
<link target="DepositSlip.pdf" target-window="_BLANK" text="${uiLabelMap.AccountingPrintDepositSlip}" style="${styles.link_run_sys} ${styles.action_export}">
<parameter param-name="paymentGroupId"/>
</link>
</container>
</widgets>
</section>
<screenlet title="${uiLabelMap.AccountingEditPaymentGroupFor}">
<include-form name="EditDepositSlip" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
<screenlet title="${uiLabelMap.AccountingEditPaymentGroupMemberFor}">
<include-form name="ListDepositSlipMember" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="NewDepositSlip">
<section>
<actions>
<set field="titleProperty" value="AccountingCreateNewDepositSlipForFinancialAccount"/>
<set field="activeSubMenuItem" value="findDepositSlips"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<set field="paymentMethodTypeId" from-field="parameters.paymentMethodTypeId"/>
<set field="cardType" from-field="parameters.cardType"/>
<set field="fromDate" type="Timestamp" from-field="parameters.fromDate"/>
<set field="thruDate" type="Timestamp" from-field="parameters.thruDate"/>
<set field="partyIdFrom" from-field="parameters.partyIdFrom"/>
<set field="organizationPartyId" from-field="parameters.organizationPartyId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<script location="component://accounting/webapp/ar/WEB-INF/actions/BatchPayments.groovy"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
<decorator-section name="search-options">
<include-form name="FindBatchPaymentsForDepositSlip" location="component://accounting/widget/payments/PaymentForms.xml"/>
</decorator-section>
<decorator-section name="search-results">
<platform-specific>
<html><html-template location="component://accounting/webapp/ar/payment/batchPayments.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="FindFinAccountTrans">
<section>
<actions>
<set field="titleProperty" value="PageTitleFindFinAccountTrans"/>
<set field="activeSubMenuItem" value="FinAccountTrans"/>
<service service-name="getFinAccountTransListAndTotals" result-map="finAccountTransListAndTotals" auto-field-map="true"/>
<set field="finAccountTransList" type="List" from-field="finAccountTransListAndTotals.finAccountTransList"/>
<set field="searchedNumberOfRecords" type="Integer" from-field="finAccountTransListAndTotals.searchedNumberOfRecords"/>
<set field="grandTotal" type="BigDecimal" from-field="finAccountTransListAndTotals.grandTotal"/>
<set field="createdGrandTotal" type="BigDecimal" from-field="finAccountTransListAndTotals.createdGrandTotal"/>
<set field="totalCreatedTransactions" type="Long" from-field="finAccountTransListAndTotals.totalCreatedTransactions"/>
<set field="approvedGrandTotal" type="BigDecimal" from-field="finAccountTransListAndTotals.approvedGrandTotal"/>
<set field="totalApprovedTransactions" type="Long" from-field="finAccountTransListAndTotals.totalApprovedTransactions"/>
<set field="createdApprovedGrandTotal" type="BigDecimal" from-field="finAccountTransListAndTotals.createdApprovedGrandTotal"/>
<set field="totalCreatedApprovedTransactions" type="Long" from-field="finAccountTransListAndTotals.totalCreatedApprovedTransactions"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<set field="glReconciliationId" from-field="parameters.glReconciliationId"/>
<set field="finAccountTransId" from-field="parameters.finAccountTransId"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<link target="EditFinAccountTrans" text="${uiLabelMap.CommonNew} ${uiLabelMap.CommonTransaction}" style="${styles.link_nav} ${styles.action_add}">
<parameter param-name="finAccountId" from-field="finAccountId"/>
</link>
<section>
<condition>
<if-compare field="finAccount.finAccountTypeId" operator="equals" value="BANK_ACCOUNT"/>
</condition>
<widgets>
<link target="BankReconciliation" text="${uiLabelMap.AccountingBankReconciliation}" style="${styles.link_nav}">
<parameter param-name="finAccountId" from-field="finAccountId"/>
<parameter param-name="statusId" value="FINACT_TRNS_CREATED"/>
</link>
</widgets>
</section>
<decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
<decorator-section name="search-options">
<include-form name="FindFinAccountTransactions" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</decorator-section>
<decorator-section name="search-results">
<platform-specific>
<html><html-template location="component://accounting/webapp/accounting/finaccounttrans/FinAccountTrans.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="BankReconciliation">
<section>
<actions>
<set field="titleProperty" value="AccountingBankReconciliation"/>
<set field="activeSubMenuItem" value="FinAccountTrans"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<link target="EditFinAccountTrans" text="${uiLabelMap.CommonNew} ${uiLabelMap.CommonTransaction}" style="${styles.link_nav} ${styles.action_add}">
<parameter param-name="finAccountId" from-field="finAccountId"/>
</link>
<label style="heading" text="${uiLabelMap.AccountingReconcileFinAccountTransFor}"/>
<section>
<condition>
<not>
<if-empty field="parameters.glReconciliationId"/>
</not>
</condition>
<actions>
<entity-one entity-name="GlReconciliation" value-field="glReconciliation"/>
<set field="parameters.openingBalance" from-field="glReconciliation.openingBalance"/>
<service service-name="getFinAccountTransListAndTotals" result-map="finAccountTransListAndTotals" auto-field-map="true"/>
<set field="finAccountTransList" type="List" from-field="finAccountTransListAndTotals.finAccountTransList"/>
<set field="createdApprovedGrandTotal" type="BigDecimal" from-field="finAccountTransListAndTotals.createdApprovedGrandTotal"/>
<set field="glReconciliationApprovedGrandTotal" type="BigDecimal" from-field="finAccountTransListAndTotals.glReconciliationApprovedGrandTotal"/>
</actions>
<widgets>
<section>
<actions>
<entity-condition entity-name="GlAccountOrganizationAndClass" list="glAccountOrgAndClassList">
<condition-expr field-name="organizationPartyId" from-field="defaultOrganizationPartyId"/>
<order-by field-name="glAccountId"/>
</entity-condition>
</actions>
<widgets>
<screenlet id="FinAccountTransPanel" collapsible="true">
<include-form name="FindBankReconciliationFinAcctTrans" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
<platform-specific>
<html><html-template location="component://accounting/webapp/accounting/finaccounttrans/FinAccountTrans.ftl"/></html>
</platform-specific>
</widgets>
</section>
</widgets>
<fail-widgets>
<screenlet id="FinAccountTransPanel" collapsible="true">
<include-form name="FindBankReconciliationFinAcctTrans" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
<platform-specific>
<html><html-template location="component://accounting/webapp/accounting/finaccounttrans/FinAccountTrans.ftl"/></html>
</platform-specific>
</fail-widgets>
</section>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="FinAccountPortlets">
<section>
<widgets>
<include-form name="ListFinAccounts" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</widgets>
</section>
</screen>
<screen name="NewDepositPayment">
<section>
<actions>
<set field="activeSubMenuItem" value="depositWithdraw"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<set field="statusId" value="PMNT_RECEIVED"/>
<set field="parentTypeId" value="RECEIPT"/>
<set field="finAccountTransTypeId" value="DEPOSIT"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<label style="heading" text="${uiLabelMap.AccountingCreateNewDepositPaymentFor}"/>
<screenlet id="EditDepositPaymentPanel" collapsible="true">
<include-form name="EditDepositPayment" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="NewWithdrawalPayment">
<section>
<actions>
<set field="activeSubMenuItem" value="depositWithdraw"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<set field="statusId" value="PMNT_SENT"/>
<set field="parentTypeId" value="DISBURSEMENT"/>
<set field="finAccountTransTypeId" value="WITHDRAWAL"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<screenlet id="EditWithdrawalPaymentPanel" collapsible="true" title="${uiLabelMap.AccountingCreateNewWithdrawalPaymentFor}">
<include-form name="EditWithdrawalPayment" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="EditFinAccountReconciliations">
<section>
<actions>
<set field="titleProperty" value="AccountingEditFinAccountReconciliations"/>
<set field="activeSubMenuItem" value="FindFinAccountReconciliations"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<set field="glReconciliationId" from-field="parameters.glReconciliationId" default-value=""/>
<set field="activeSubMenuItem2" value="${groovy:glReconciliationId==null?'NewFinAccountReconciliations':'EditFinAccountReconciliations'}"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<include-menu name="FinAccountReconciliationsTabBar" location="component://accounting/widget/AccountingMenus.xml"/>
<section>
<condition>
<if-empty field="glReconciliationId"/>
</condition>
<widgets>
<screenlet id="AddFinAccountReconciliation" title="${uiLabelMap.AccountingAddFinAccountReconciliations}">
<include-form name="EditFinAccountReconciliation" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
</widgets>
<fail-widgets>
<screenlet id="EditFinAccountReconciliation" title="${uiLabelMap.AccountingEditFinAccountReconciliations}">
<include-form name="EditFinAccountReconciliation" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</screenlet>
</fail-widgets>
</section>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="ViewGlReconciliationWithTransaction">
<section>
<actions>
<set field="activeSubMenuItem" value="FindFinAccountReconciliations"/>
<set field="titleProperty" value="AccountingEditFinAccountReconciliations"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<set field="glReconciliationId" from-field="parameters.glReconciliationId"/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<entity-one entity-name="GlReconciliation" value-field="currentGlReconciliation"/>
<entity-condition entity-name="GlReconciliation" list="glReconciliationList">
<condition-list combine="and">
<condition-expr field-name="reconciledDate" operator="less" from-field="currentGlReconciliation.reconciledDate" ignore-if-empty="true"/>
<condition-expr field-name="glAccountId" operator="equals" from-field="finAccount.postToGlAccountId"/>
</condition-list>
<order-by field-name="reconciledDate DESC"/>
</entity-condition>
<set field="previousGlReconciliation" from-field="glReconciliationList[0]"/>
<service service-name="getFinAccountTransListAndTotals" result-map="transactionTotalAmount"/>
<set field="finAccountTransList" from-field="transactionTotalAmount.finAccountTransList" type="List"/>
<set field="finAccountTransIds" value="${groovy:org.ofbiz.entity.util.EntityUtil.getFieldListFromEntityList(finAccountTransList, 'finAccountTransId', true);}" type="List"/>
<entity-condition entity-name="FinAccountTrans" list="finAccountTransactions">
<condition-list>
<condition-expr field-name="finAccountTransId" operator="in" from-field="finAccountTransIds"/>
<condition-expr field-name="statusId" value="FINACT_TRNS_CREATED"/>
</condition-list>
</entity-condition>
<service service-name="isGlReconciliationReconciled" result-map="reconciledMap"/>
<set field="isReconciled" from-field="reconciledMap.isReconciled"/>
<service service-name="getReconciliationClosingBalance" result-map="currentRecnciliationClosingBalance"/>
<set field="currentClosingBalance" from-field="currentRecnciliationClosingBalance.closingBalance"/>
<set field="previousGlReconciliationId" from-field="previousGlReconciliation.glReconciliationId" default-value="${glReconciliationId}"/>
<service service-name="getReconciliationClosingBalance" result-map="previousReconciliationClosingBalance">
<field-map field-name="glReconciliationId" from-field="previousGlReconciliationId"/>
</service>
<set field="previousClosingBalance" from-field="previousReconciliationClosingBalance.closingBalance"/>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<include-menu location="component://accounting/widget/AccountingMenus.xml" name="FinAccountReconciliationsTabBar"/>
<screenlet title="${uiLabelMap.AccountingCurrentBankReconciliation}">
<include-form location="component://accounting/widget/finance/FinAccountForms.xml" name="FinAccountReconciliationBalance"/>
</screenlet>
<label style="heading" text="${uiLabelMap.AccountingGlReconciliationFor}"></label>
<platform-specific>
<html><html-template location="component://accounting/webapp/accounting/finaccounttrans/GlReconciledFinAccountTrans.ftl"/></html>
</platform-specific>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
<screen name="FindFinAccountReconciliations">
<section>
<actions>
<set field="activeSubMenuItem" value="FindFinAccountReconciliations"/>
<set field="titleProperty" value="PageTitleFindFinAccountReconciliations"/>
<set field="activeSubMenuItem2" value="Find"/>
<set field="finAccountId" from-field="parameters.finAccountId"/>
<set field="glReconciliationId" from-field="parameters.glReconciliationId" default-value=""/>
<entity-one entity-name="FinAccount" value-field="finAccount"/>
<entity-condition entity-name="FinAccountTrans" list="finAccountTransList">
<condition-list>
<condition-expr field-name="finAccountId" operator="equals" from-field="finAccountId"/>
<condition-expr field-name="glReconciliationId" operator="not-equals" from-field="nullField" ignore-if-empty="true"/>
<condition-expr field-name="glReconciliationId" operator="equals" from-field="glReconciliationId" ignore-if-empty="true"/>
</condition-list>
</entity-condition>
<set field="glReconciliationIds" value="${groovy:org.ofbiz.entity.util.EntityUtil.getFieldListFromEntityList(finAccountTransList, 'glReconciliationId', true);}" type="List"/>
<entity-condition entity-name="GlReconciliation" list="glReconciliations">
<condition-list>
<condition-expr field-name="glReconciliationId" operator="in" from-field="glReconciliationIds"/>
<condition-expr field-name="glAccountId" operator="equals" from-field="finAccount.postToGlAccountId" ignore-if-empty="true"/>
<condition-expr field-name="glReconciliationName" operator="equals" from-field="parameters.glReconciliationName" ignore-if-empty="true"/>
<condition-expr field-name="description" operator="equals" from-field="parameters.description" ignore-if-empty="true"/>
<condition-expr field-name="statusId" operator="equals" from-field="parameters.statusId" ignore-if-empty="true"/>
<condition-expr field-name="organizationPartyId" operator="equals" from-field="parameters.organizationPartyId" ignore-if-empty="true"/>
</condition-list>
</entity-condition>
</actions>
<widgets>
<decorator-screen name="CommonFinAccountDecorator" location="${parameters.mainDecoratorLocation}">
<decorator-section name="body">
<include-menu name="FinAccountReconciliationsTabBar" location="component://accounting/widget/AccountingMenus.xml"/>
<decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
<decorator-section name="search-options">
<include-form name="FindBankReconciliation" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</decorator-section>
<decorator-section name="search-results">
<include-form name="ListFinAccountReconciliations" location="component://accounting/widget/finance/FinAccountForms.xml"/>
</decorator-section>
</decorator-screen>
</decorator-section>
</decorator-screen>
</widgets>
</section>
</screen>
</screens>