ilscipio/scipio-erp

View on GitHub
applications/accounting/widget/invoice/InvoiceForms.xml

Summary

Maintainability
Test Coverage
<?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.
-->

<forms xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-form.xsd">
    <!-- Invoice forms -->
    <form name="FindInvoices" type="single" target="findInvoices" title="Find and list invoices"
        header-row-style="header-row" default-position-span="1"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="invoiceId" title="${uiLabelMap.CommonId}"><text-find ignore-case="true"/></field>
        <field name="invoiceDate" title="${uiLabelMap.CommonDate}" position="2"><date-find type="date"/></field>
        <field name="description"><text-find ignore-case="true"/></field>
        <field position="1" name="invoiceTypeId" title="${uiLabelMap.CommonType}">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="InvoiceType"/>
            </drop-down>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" operator="equals" value="INVOICE_STATUS"/>
                </entity-options>
            </drop-down>
        </field>
        <field position="1" name="partyIdFrom" title="${uiLabelMap.CommonFrom} ${uiLabelMap.CommonParty}"><lookup target-form-name="LookupPartyName"/></field>
        <field position="2" name="partyIdTo" parameter-name="partyId" title="${uiLabelMap.CommonTo} ${uiLabelMap.CommonParty}"><lookup target-form-name="LookupPartyName"/></field>        
        <field position="1" name="billingAccountId"><lookup target-form-name="LookupBillingAccount"/></field>
        <field position="2" name="referenceNumber" ><text-find/></field>
        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="searchAction" title="${uiLabelMap.CommonFind}" widget-style="${styles.link_run_sys} ${styles.action_find}"><submit button-type="button"/></field>
    </form>

    <form name="ListInvoices" type="list" separate-columns="true" title="Invoice List" list-name="listIt" target="" default-entity-name="Invoice" paginate-target="findInvoices"
        odd-row-style="alternate-row" header-row-style="header-row-2"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <actions>
            <set field="parameters.sortField" from-field="parameters.sortField" default-value="-invoiceDate"/>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="parameters"/>
                <field-map field-name="entityName" value="InvoiceAndType"/>
                <field-map field-name="orderBy" from-field="parameters.sortField"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <row-actions>
            <service service-name="getPartyNameForDate" result-map="partyNameResultFrom">
                <field-map field-name="partyId" from-field="partyIdFrom"/>
                <field-map field-name="compareDate" from-field="invoiceDate"/>
                <field-map field-name="lastNameFirst" value="Y"/>
            </service>
            <service service-name="getPartyNameForDate" result-map="partyNameResultTo">
                <field-map field-name="partyId" from-field="partyId"/>
                <field-map field-name="compareDate" from-field="invoiceDate"/>
                <field-map field-name="lastNameFirst" value="Y"/>
            </service>
            <set field="amountToApply" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)
                .multiply(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceCurrencyConversionRate(delegator,invoiceId))}"/>
            <set field="total" value="${groovy:org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)
                .multiply(org.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceCurrencyConversionRate(delegator,invoiceId))}"/>
        </row-actions>

        <field name="invoiceId" title="${uiLabelMap.CommonInvoice}" widget-style="${styles.link_nav_info_id}" sort-field="true" widget-area-style="align-right" title-area-style="align-right">
            <hyperlink description="${invoiceId}" target="invoiceOverview">
                <parameter param-name="invoiceId"/>
            </hyperlink>
        </field>
        <field name="invoiceTypeId" title="${uiLabelMap.CommonType}" sort-field="true"><display-entity entity-name="InvoiceType"/></field>
        <field name="invoiceDate" title="${uiLabelMap.CommonDate}" sort-field="true"><display type="date"/></field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" sort-field="true"><display-entity entity-name="StatusItem"/></field>
        <field name="description" sort-field="true"><display/></field>
        <field name="partyIdFrom" title="${uiLabelMap.AccountingFromParty}" sort-field="true" widget-style="${styles.link_nav_info_idname} ${styles.action_view}">
            <hyperlink target="/partymgr/control/PartyFinancialHistory" target-type="inter-app" description="${partyNameResultFrom.fullName} [${partyIdFrom}]">
                <parameter param-name="partyId" from-field="partyIdFrom"/>
            </hyperlink>
        </field>
        <field name="partyIdTo" title="${uiLabelMap.AccountingToParty}" parameter-name="partyId" widget-style="${styles.link_nav_info_idname} ${styles.action_view}">
            <hyperlink target="/partymgr/control/PartyFinancialHistory" target-type="inter-app" description="${partyNameResultTo.fullName} [${partyId}]">
                <parameter param-name="partyId"/>
            </hyperlink>
        </field>
        <field name="total" widget-area-style="amount" title-area-style="align-right"><display type="currency" currency="${currencyUomId}"/></field>
        <field name="amountToApply" widget-area-style="amount" title-area-style="align-right"><display type="currency" currency="${currencyUomId}"/></field>
    </form>
    
    <form name="invoiceRoles" type="list" use-row-submit="true" title="" list-name="invoiceRoles" paginate-target="invoiceRoles"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <!--auto-fields-entity entity-name="InvoiceRole" default-field-type="display"/-->
        <row-actions>
            <entity-one entity-name="PartyNameView" value-field="party"/>
        </row-actions>
        <field name="invoiceId"><hidden/></field>
        <field name="partyId" title="${uiLabelMap.CommonParty}" widget-style="${styles.link_nav_info_idname_long}">
           <hyperlink also-hidden="false" description="${partyId} - ${party.groupName} ${party.firstName} ${party.lastName}" target="EditAgreementItemParty">
                <parameter param-name="partyId"/>
                <parameter param-name="agreementId"/>
                <parameter param-name="agreementItemSeqId"/>
            </hyperlink>
        </field>
        <field name="roleTypeId" title="${uiLabelMap.CommonRole}">
            <display-entity also-hidden="false" entity-name="RoleType"/>
        </field>
        <field name="percentage"><display/></field>
        <field name="datetimePerformed"><display/></field>
    </form>
    
    <form name="AcctgTransAndEntries" type="list" title="Accounting Transactions" list-name="acctgTransAndEntries"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <field name="acctgTransId" title="${uiLabelMap.CommonId}" widget-style="${styles.link_nav_info_id}" widget-area-style="align-right" title-area-style="align-right">
            <hyperlink description="${acctgTransId}" target="EditAcctgTrans?acctgTransId=${acctgTransId}&amp;organizationPartyId=${organizationPartyId}"/>
        </field>
        <field name="acctgTransTypeId" title="${uiLabelMap.CommonType}"><display-entity entity-name="AcctgTransType"/></field>
        <field name="transactionDate"><display/></field>
        <field name="postedDate"><display/></field>
        <field name="glJournalId" title="${uiLabelMap.AccountingGlJournal}"><display-entity entity-name="GlJournal" description="${glJournalId}"/></field>
        <field name="glAccountId" title="${uiLabelMap.CommonAccount}"><display/></field>
        <field name="glAccountTypeId" title="${uiLabelMap.FormFieldTitle_glAccountType}"><display-entity entity-name="GlAccountType"/></field>
        <field name="glAccountClassId" title="${uiLabelMap.AccountingGlAccountClass}"><display-entity entity-name="GlAccountClass" description="${description}"/></field>
        <field name="reconcileStatusId" title="${uiLabelMap.CommonStatus}"><display-entity entity-name="StatusItem" key-field-name="statusId"/></field>
        <field name ="debitCreditFlag" widget-area-style="aling-center"><display/></field>
        <field name="amount" title="${uiLabelMap.CommonAmount}" widget-area-style="amount" title-area-style="align-right"><display type="currency" currency="${currencyUomId}"/></field>
        
    </form>

    <form name="NewSalesInvoice" type="single" target="createInvoice" title="Edit Invoice Header" default-map-name="invoice"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <actions>
            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
                <condition-list combine="or">
                    <condition-expr field-name="parentTypeId" value="SALES_INVOICE"/>
                    <condition-expr field-name="invoiceTypeId" value="SALES_INVOICE"/>
                </condition-list>
                <order-by field-name="description"/>
            </entity-condition>
        </actions>
        <field name="statusId"><hidden value="INVOICE_IN_PROCESS"/></field>
        <field name="currencyUomId"><hidden value="${defaultOrganizationPartyCurrencyUomId}"/></field>
        <field position="2" name="invoiceTypeId">
            <drop-down no-current-selected-key="SALES_INVOICE">
                <list-options key-name="invoiceTypeId" list-name="invoiceTypeList" description="${description}"/>
            </drop-down>
        </field>
        <field position="1" name="organizationPartyId" title="${uiLabelMap.CommonFrom} ${uiLabelMap.CommonParty}" parameter-name="partyIdFrom">
            <drop-down allow-empty="false" no-current-selected-key="${defaultOrganizationPartyId}">
                <entity-options description="${groupName}" entity-name="PartyAcctgPrefAndGroup" key-field-name="partyId">
                    <entity-order-by field-name="groupName"/>
                </entity-options>
            </drop-down>
        </field>
        <field position="2" name="partyIdTo" title="${uiLabelMap.CommonTo} ${uiLabelMap.CommonParty}" parameter-name="partyId" required-field="true"><lookup target-form-name="LookupPartyName"/></field>
        <field position="1" name="createAction" widget-style="${styles.link_run_sys} ${styles.action_add}" title="${uiLabelMap.CommonCreate}">
            <submit button-type="button"/>
        </field>
    </form>
    <form name="NewPurchaseInvoice" type="single" target="createInvoice" title="Edit Invoice Header" default-map-name="invoice"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <actions>
            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
                <condition-list combine="or">
                    <condition-expr field-name="parentTypeId" value="PURCHASE_INVOICE"/>
                    <condition-expr field-name="invoiceTypeId" value="PURCHASE_INVOICE"/>
                </condition-list>
                <order-by field-name="description"/>
            </entity-condition>
        </actions>
        <field name="statusId"><hidden value="INVOICE_IN_PROCESS"/></field>
        <field name="currencyUomId"><hidden value="${defaultOrganizationPartyCurrencyUomId}"/></field>
        <field position="2" name="invoiceTypeId">
            <drop-down no-current-selected-key="PURCHASE_INVOICE">
                <list-options key-name="invoiceTypeId" list-name="invoiceTypeList" description="${description}"/>
            </drop-down>
        </field>
        <field position="1" name="partyIdFrom"  title="${uiLabelMap.CommonFrom} ${uiLabelMap.CommonParty}" required-field="true"><lookup target-form-name="LookupPartyName"/></field>
        
        <field position="2" name="organizationPartyId" title="${uiLabelMap.CommonTo} ${uiLabelMap.CommonParty}" parameter-name="partyId">
            <drop-down allow-empty="false" no-current-selected-key="${defaultOrganizationPartyId}">
                <entity-options description="${groupName}" entity-name="PartyAcctgPrefAndGroup" key-field-name="partyId">
                    <entity-order-by field-name="groupName"/>
                </entity-options>
            </drop-down>
        </field>
        <field position="1" name="createAction" widget-style="${styles.link_run_sys} ${styles.action_add}" title="${uiLabelMap.CommonCreate}">
            <submit button-type="button"/>
        </field>
    </form>

    <form name="EditInvoice" type="single" target="updateInvoice" title="Edit Invoice Header" default-map-name="invoice"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <alt-target use-when="invoice==null" target="createInvoice"/>
        <field name="invoiceId"><hidden/></field>
        <field position="1" name="invoiceDate"><date-time/></field>
        <field position="2" name="dueDate"><date-time/></field>
        <field position="1" name="invoiceTypeId" use-when="invoice!=null"><display-entity entity-name="InvoiceType" description="${description}"/></field>
        <field position="1" name="invoiceTypeId" use-when="invoice==null">
            <drop-down allow-empty="false" no-current-selected-key="SALES_INVOICE">
                <entity-options description="${description}" entity-name="InvoiceType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2" use-when="invoice==null"><hidden value="INVOICE_IN_PROCESS"/></field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2" use-when="invoice!=null"><display-entity entity-name="StatusItem"/></field>
        <field position="1" name="description"><text size="100"/></field>
        <field position="2" name="partyIdFrom" use-when="${groovy:invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;SALES_INVOICE&quot;) || invoiceType.getString(&quot;invoiceTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)}"><display description="${invoice.partyIdFrom}"/></field>
        <field position="2" name="partyIdFrom" use-when="${groovy:invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;) || invoiceType.getString(&quot;invoiceTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;)}"><lookup target-form-name="LookupPartyName"/></field>
        <field position="1" name="partyIdTo" entry-name="partyId" parameter-name="partyId" use-when="${groovy:invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;) || invoiceType.getString(&quot;invoiceTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;)}"><display description="${invoice.partyId}"/></field>
        <field position="1" name="partyIdTo" entry-name="partyId" parameter-name="partyId" use-when="${groovy:invoiceType.getString(&quot;parentTypeId&quot;).equals(&quot;SALES_INVOICE&quot;) || invoiceType.getString(&quot;invoiceTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)}"><lookup target-form-name="LookupPartyName"/></field>
        <field position="2" name="roleTypeId" use-when="invoice!=null&amp;&amp;invoice.getString(&quot;invoiceTypeId&quot;).equals(&quot;SALES_INVOICE&quot;)">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="RoleType">
                    <entity-constraint name="parentTypeId" operator="equals" value="CUSTOMER"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
                <entity-options description="${description}" entity-name="RoleType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field position="2" name="roleTypeId" use-when="invoice!=null&amp;&amp;invoice.getString(&quot;invoiceTypeId&quot;).equals(&quot;PURCHASE_INVOICE&quot;)">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="RoleType">
                    <entity-constraint name="parentTypeId" operator="equals" value="VENDOR"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
                <entity-options description="${description}" entity-name="RoleType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field position="1" name="billingAccountId"><lookup target-form-name="LookupBillingAccount"/></field>
        <field position="2" name="currencyUomId">
            <drop-down allow-empty="true" no-current-selected-key="${defaultOrganizationPartyCurrencyUomId}">
                <entity-options key-field-name="uomId" description="${description} - ${abbreviation}" entity-name="Uom">
                    <entity-constraint name="uomTypeId" operator="equals" value="CURRENCY_MEASURE"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field position="1" name="recurrenceInfoId"><text size="10"/></field>
        <field position="2" name="invoiceMessage"><text size="100"/></field>
        <field position="2" name="referenceNumber"><text/></field>
        <!--field position="2" name="invoiceAmount" use-when="invoiceId!=null"><display/></field-->
        <field position="1" name="updateAction" widget-style="${styles.link_run_sys} ${styles.action_update}" use-when="invoice!=null&amp;&amp;invoice.getString(&quot;statusId&quot;).equals(&quot;INVOICE_IN_PROCESS&quot;)">
            <submit button-type="button"/>
        </field>
    </form>

   <form name="EditInvoiceItems" type="multi" list-name="invoiceItems" default-entity-name="InvoiceItem" target="updateInvoiceItem?invoiceId=${invoiceId}" title="Edit Invoice Items" paginate-target="listInvoiceItems"
       odd-row-style="alternate-row" group-columns="true" separate-columns="true" use-row-submit="false"> <!-- orig: default-table-style=-style="basic-table hover-bar" --><!-- &amp;viewSize=${viewSize}&amp;viewIndex=${viewIndex} -->
       <row-actions>
           <set field="total" value="${groovy: (quantity ?: 1) * (amount ?: 0)}" type="BigDecimal"/>
       </row-actions>
       <field name="viewSize"><hidden value="${viewSize}"/></field>
       <field name="viewIndex"><hidden value="${viewIndex}"/></field>
       <field name="invoiceId"><hidden/></field>
       <field name="uomId"><hidden/></field>
       <field name="taxableFlag"><hidden/></field>
       <field name="invoiceItemSeqId" ><display also-hidden="true"/></field>
       <field name="quantity"><text size="10"/></field>
       <field name="invoiceItemTypeId">
           <drop-down allow-empty="false">
               <list-options list-name="invoiceItemTypes" key-name="invoiceItemTypeId" description="${description}"/>
           </drop-down>
       </field>
       <field name="productId"><lookup target-form-name="LookupProduct" size="20"/></field>
       <field name="description"><text size="50"/></field>
       <field name="overrideGlAccountId">
           <drop-down allow-empty="true">
               <list-options list-name="glAccountOrganizationAndClassList" key-name="glAccountId" description="${glAccountId} ${accountName}"/>
           </drop-down>
       </field>
       <field name="amount" title="${uiLabelMap.AccountingUnitPrice}"><text size="10"/></field>
       <field name="total" widget-area-style="amount"><display type="currency" currency="${invoice.currencyUomId}"/></field>  <!-- this should not look like something you can modify, hence display -->
       <field name="updateAction" id-name="updateInvoiceItem" title="${uiLabelMap.CommonUpdate}" widget-style="${styles.link_run_sys} ${styles.action_update}" ><submit button-type="text-link"/></field>
       <field name="removeAction" title="${uiLabelMap.CommonRemove}" widget-style="${styles.link_run_sys} ${styles.action_remove}">
            <hyperlink description="${uiLabelMap.CommonRemove}" target="removeInvoiceItem">
                <parameter param-name="invoiceId"/>
                <parameter param-name="invoiceItemSeqId"/>
                <parameter param-name="viewIndex"/>
                <parameter param-name="viewSize"/>
            </hyperlink>
       </field>
    </form>

    <form name="EditInvoiceItem" type="single" target="createInvoiceItem" title="" default-map-name="invoiceItem" default-entity-name="InvoiceItem"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="invoiceId"><hidden/></field>
        <field position="1" name="invoiceItemTypeId">
            <drop-down allow-empty="false">
                <list-options list-name="invoiceItemTypes" key-name="invoiceItemTypeId" description="${description}"/>
            </drop-down>
        </field>
        <field position="2" name="description"><text size="80"/></field>
        <field position="1" name="overrideGlAccountId">
            <drop-down allow-empty="true">
                <list-options list-name="glAccountOrganizationAndClassList" key-name="glAccountId" description="${glAccountId} ${accountName}"/>
            </drop-down>
        </field>
        <field position="2" name="inventoryItemId"><text/></field>
        <field position="1" name="productId">
            <lookup target-form-name="LookupProduct"/>
        </field>
        <field position="2" name="productFeatureId">
            <lookup target-form-name="LookupProductFeature"/>
        </field>
        <field position="1" name="quantity"><text size="10"/></field>
        <field position="2" name="uomId">
            <drop-down allow-empty="true">
                <entity-options key-field-name="uomId" description="${description} - ${abbreviation}" entity-name="Uom">
                    <entity-constraint name="uomTypeId" operator="not-equals" value="CURRENCY_MEASURE"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field position="1" name="amount" title="${uiLabelMap.AccountingUnitPrice}"><text size="10"/></field>
        <field position="2" name="taxableFlag">
        <drop-down allow-empty="false" current="selected">
            <option key="Y" description="${uiLabelMap.CommonYes}"/>
            <option key="N" description="${uiLabelMap.CommonNo}"/>
        </drop-down>
        </field>
        <field name="addAction" title="${uiLabelMap.CommonAdd}" widget-style="${styles.link_run_sys} ${styles.action_add}" use-when="invoiceItem==null">
            <submit button-type="button"/>
        </field>
        <field name="updateAction" title="${uiLabelMap.CommonAdd}" widget-style="${styles.link_run_sys} ${styles.action_add}" use-when="invoiceItem!=null">
            <submit button-type="button"/>
        </field>
    </form>

    <form name="EditInvoiceApplications" type="multi" list-name="invoiceApplications" default-entity-name="InvoiceItem" use-row-submit="false" target="updateInvoiceApplication" title="Apply payments to invoices" separate-columns="true"
        odd-row-style="alternate-row" header-row-style="header-row-2"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <field name="statusId"><hidden/></field>
        <field name="paymentApplicationId"><hidden/></field>
        <field name="invoiceItemSeqId"><display/></field>
        <field name="productId"><display/></field>
        <field name="description"><display/></field>
        <field name="total"><display type="currency" currency="${invoice.currencyUomId}"/></field>
        <field name="invoiceId"><hidden/></field>
        <field name="paymentId" title="${uiLabelMap.CommonPayment}"><lookup target-form-name="LookupPayment"/></field>
        <field name="billingAccountId"><hidden/></field>
        <field name="amountToApply"><text size="10" disabled="true"/></field>
        <field name="updateAction" title="${uiLabelMap.CommonUpdate}" widget-style="${styles.link_run_sys} ${styles.action_update}"><submit button-type="text-link"/></field>
        <field name="removeAction" title="${uiLabelMap.CommonRemove}" widget-style="${styles.link_run_sys} ${styles.action_remove}" use-when="paymentApplicationId!=null">
            <hyperlink description="${uiLabelMap.CommonRemove}" target="removeInvoiceApplication">
                <parameter param-name="paymentApplicationId"/>
                <parameter param-name="invoiceId"/>
                <parameter param-name="viewIndex"/>
                <parameter param-name="viewSize"/>
            </hyperlink>
        </field>
    </form>

    <form name="AddPayment" type="single" target="updateInvoiceApplication" title=""
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="invoiceId"><hidden/></field>
        <field name="paymentId" title="${uiLabelMap.CommonPayment}"><lookup target-form-name="LookupPayment"/></field>
        <field name="amountToApply" parameter-name="amountApplied"><text size="10"/></field>
        <field name="invoiceProcessing" use-when="&quot;${uiConfigMap.invoiceProcessing}&quot;.equals(&quot;Y&quot;)"><check/></field>
        <field name="applyAction"  title="${uiLabelMap.CommonApply}" widget-style="${styles.link_run_sys} ${styles.action_update}">
            <submit button-type="button" />
        </field>
    </form>

    <form name="ListPaymentsNotApplied" type="list" list-name="payments" target="updateInvoiceApplication" title=""
        odd-row-style="alternate-row" use-row-submit="false" separate-columns="true"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <field name="invoiceId"><hidden/></field>
        <field name="paymentId" title="${uiLabelMap.CommonPayment}" widget-style="${styles.link_nav_info_id}" >
            <hyperlink target="paymentOverview" description="[${paymentId}]">
                <parameter param-name="paymentId"/>
            </hyperlink>
        </field>
        <field name="amount" title="${uiLabelMap.CommonAmount}" widget-area-style="amount" title-area-style="align-right"><display type="currency" currency="${currencyUomId}"/></field>
        <field name="effectiveDate"><display type="date"/></field>
        <field name="amountApplied" parameter-name="dummy"><display type="currency" currency="${currencyUomId}"/></field>
        <field name="amountToApply" parameter-name="amountApplied"><text size="10"/></field>
        <field name="applyAction" title="${uiLabelMap.CommonApply}" widget-style="${styles.link_run_sys} ${styles.action_update}">
            <submit button-type="button" />
        </field>
    </form>

    <form name="ListPaymentsNotAppliedForeignCurrency" extends="ListPaymentsNotApplied" list-name="paymentsActualCurrency"/>

    <form name="ListInvoiceRoles" type="list" use-row-submit="true" title="" list-name="invoiceRoles" paginate-target="invoiceRoles"
        odd-row-style="alternate-row" header-row-style="header-row-2"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <row-actions>
            <entity-one entity-name="PartyNameView" value-field="party"/>
        </row-actions>
        <field name="invoiceId"><hidden/></field>
        <field name="partyId" title="${uiLabelMap.CommonParty}" widget-style="${styles.link_nav_info_idname_long}">
           <hyperlink also-hidden="false" description="${partyId} - ${party.groupName} ${party.firstName} ${party.lastName}" target="EditAgreementItemParty">
                <parameter param-name="partyId"/>
                <parameter param-name="agreementId"/>
                <parameter param-name="agreementItemSeqId"/>
            </hyperlink>
        </field>
        <field name="roleTypeId" title="${uiLabelMap.CommonRole}">
            <display-entity also-hidden="false" entity-name="RoleType"/>
        </field>
        <field name="percentage" widget-area-style="amount" title-area-style="align-right"><display/></field>
        <field name="datetimePerformed"><display/></field>
        <field name="removeAction" widget-style="${styles.link_run_sys} ${styles.action_remove}">
           <hyperlink title="${uiLabelMap.CommonRemove}" description="${uiLabelMap.CommonRemove}" target="removeInvoiceRole">
                <parameter param-name="invoiceId"/>
                <parameter param-name="partyId"/>
                <parameter param-name="roleTypeId"/>
                <parameter param-name="viewIndex"/>
                <parameter param-name="viewSize"/>
            </hyperlink>
        </field>
    </form>
    <form name="EditInvoiceRole" type="single" target="createInvoiceRole" title=""
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="invoiceId"><hidden/></field>
        <field name="partyId" title="${uiLabelMap.CommonParty}"><lookup target-form-name="LookupPartyName"/></field>
        <field name="roleTypeId" title="${uiLabelMap.CommonRole}" position="2">
            <drop-down allow-empty="false">
                <entity-options description="${description}" entity-name="RoleType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="percentage"><text/></field>
        <field name="datetimePerformed" position="2"><date-time/></field>
        <field name="submitAction" widget-style="${styles.link_run_sys} ${styles.action_add}" title="${uiLabelMap.CommonAdd}"><submit button-type="button"/></field>
    </form>
    
    <form name="SendPerEmail" type="single" target="executeSendPerEmail" title=""
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <actions>
            <service service-name="getPartyEmail" result-map="mapFrom">
                <field-map field-name="partyId" value="${invoice.partyIdFrom}"/>
            </service>
            <service service-name="getPartyEmail" result-map="mapTo">
                <field-map field-name="partyId" value="${invoice.partyId}"/>
            </service>
        </actions>
        <field name="invoiceId"><hidden/></field>
        <field name="emailAddressFrom" entry-name="mapFrom.emailAddress" parameter-name="sendFrom" use-when="&quot;${invoice.invoiceTypeId}&quot;.equals(&quot;SALES_INVOICE&quot;)"><text/></field>
        <field name="emailAddressFrom" entry-name="mapTo.emailAddress" parameter-name="sendFrom" use-when="&quot;${invoice.invoiceTypeId}&quot;.equals(&quot;PURCHASE_INVOICE&quot;)"><text/></field>
        <field name="emailAddressTo" entry-name="mapTo.emailAddress" parameter-name="sendTo" use-when="&quot;${invoice.invoiceTypeId}&quot;.equals(&quot;SALES_INVOICE&quot;)"><text/></field>
        <field name="emailAddressTo" entry-name="mapFrom.emailAddress" parameter-name="sendTo" use-when="&quot;${invoice.invoiceTypeId}&quot;.equals(&quot;PURCHASE_INVOICE&quot;)"><text/></field>
        <field name="emailAddressCc" entry-name="ccEmailAddress" parameter-name="sendCc"><text/></field>
        <field name="subject"><text default-value="Please find attached invoice."/></field>
        <field name="otherCurrency" entry-name="parameters.other" parameter-name="other"><check/></field>
        <field name="bodyText"><textarea/></field>
        <!-- SCIPIO: Added webSiteId, because it is logically conditionally required by sendMailFromScreen
            when sending email concerning or linking to frontend -->
        <field name="webSiteId">
            <drop-down allow-empty="true">
                <entity-options entity-name="WebSite" key-field-name="webSiteId" description="${siteName} [${webSiteId}]">
                    <entity-order-by field-name="siteName"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitAction" title="${uiLabelMap.CommonSubmit}" widget-style="${styles.link_run_sys} ${styles.action_send}"><submit button-type="button"/></field>
    </form>

    <form name="EditTimeEntries" type="list" list-name="timeEntries"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <auto-fields-service service-name="updateTimeEntry" default-field-type="display"/>

        <field name="invoiceId"><hidden/></field>

        <field name="deleteAction" title="${uiLabelMap.CommonRemove}" widget-style="${styles.link_run_sys} ${styles.action_remove}">
            <hyperlink target="unlinkInvoiceFromTimeEntry" description="${uiLabelMap.CommonDelete}" also-hidden="false">
                <parameter param-name="timeEntryId"/>
                <parameter param-name="invoiceId"/>
                <parameter param-name="viewIndex"/>
                <parameter param-name="viewSize"/>
            </hyperlink>
        </field>
    </form>
    <form name="ListTimeEntries" type="list" list-name="timeEntries"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <row-actions>
            <entity-one entity-name="Timesheet" value-field="timesheet">
                <field-map field-name="timesheetId" from-field="timesheetId"/>
            </entity-one>
        </row-actions>
        <field name="invoiceId"><hidden/></field>
        <field name="invoiceItemSeqId"><display/></field>
        <field name="timeEntryId"><display/></field>
        <field name="timesheetId" entry-name="timesheet.timesheetId" widget-style="${styles.link_nav_info_id}">
            <hyperlink target="/workeffort/control/EditTimesheet" target-type="inter-app" description="${timesheetId}">
                <parameter param-name="timesheetId"/>
            </hyperlink>
        </field>
        <field name="partyId" entry-name="partyId">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${groupName} ${firstName} ${middleName} ${lastName}">
                <sub-hyperlink target="/partymgr/control/viewprofile" target-type="inter-app" description="[${partyId}]" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="partyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="timesheetPartyId" entry-name="timesheet.partyId">
            <display-entity entity-name="PartyNameView" key-field-name="partyId" description="${groupName} ${firstName} ${middleName} ${lastName}">
                <sub-hyperlink target="/partymgr/control/viewprofile" target-type="inter-app" description="[${timesheet.partyId}]" link-style="${styles.link_nav_info_id}">
                    <parameter param-name="partyId" from-field="timesheet.partyId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="hours"><display/></field>
        <field name="rateTypeId"><display-entity entity-name="RateType" description="${description}"/></field>
        <field name="workEffortId">
            <display-entity entity-name="WorkEffort" description="${workEffortName} [${workEffortId}]">
                <sub-hyperlink description=" [${workEffortId}]" target="/workeffort/control/WorkEffortSummary" target-type="inter-app">
                    <parameter param-name="workEffortId"/>
                </sub-hyperlink>
            </display-entity>
        </field>
        <field name="fromDate" title="${uiLabelMap.CommonFrom}" ><display type="date"/></field>
        <field name="thruDate" title="${uiLabelMap.CommonThru}"><display type="date"/></field>
        <field name="comments"><display/></field>
    </form>
    <form name="lookupInvoicesStatus" type="single" target="BillingAccountInvoices" title=""
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="billingAccountId"><hidden/></field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}">
            <drop-down allow-empty="true">
                <entity-options description="${description}" entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" operator="equals" value="INVOICE_STATUS"/>
                    <entity-order-by field-name="sequenceId"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitAction" title="${uiLabelMap.CommonFind}" widget-style="${styles.link_run_sys} ${styles.action_find}"><submit button-type="button"/></field>
    </form>

    <form name="ListCustomerInvoices" extends="ListInvoices" list-name="invoices"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <field name="partyIdFrom"><ignored/></field>
        <field name="partyIdTo"><ignored/></field>
    </form>
    
    <form name="ListSupplierInvoices" extends="ListInvoices" list-name="invoiceslistexternal"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <field name="partyIdFrom"><ignored/></field>
        <field name="partyIdTo"><ignored/></field>
    </form>
    
    <!-- 
    ************
    * Accounts Payable
    ************
     -->
      <form name="FindApInvoices" type="single" target="FindApInvoices" extends="FindInvoices" extends-resource="component://accounting/widget/invoice/InvoiceForms.xml">
        <actions>
            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
                <condition-list combine="or">
                    <condition-expr field-name="parentTypeId" value="PURCHASE_INVOICE"/>
                    <condition-expr field-name="invoiceTypeId" value="PURCHASE_INVOICE"/>
                </condition-list>
            </entity-condition>
        </actions>
        <field position="1" name="invoiceTypeId" title="${uiLabelMap.CommonType}">
            <drop-down>
                <list-options key-name="invoiceTypeId" list-name="invoiceTypeList" description="${description}"/>
            </drop-down>
        </field>
    </form>
    
    <form name="FindPurchaseInvoices" type="single" target="FindPurchaseInvoices">
        <actions>
            <set field="organizationPartyId" from-field="parameters.organizationPartyId" default-value="${defaultOrganizationPartyId}"/>
            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
                <condition-list combine="or">
                    <condition-expr field-name="parentTypeId" value="PURCHASE_INVOICE"/>
                    <condition-expr field-name="invoiceTypeId" value="PURCHASE_INVOICE"/>
                </condition-list>
            </entity-condition>
        </actions>
        <field name="partyIdFrom" title="${uiLabelMap.AccountingVendorParty}" position="1"><lookup target-form-name="LookupPartyName"/></field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="2">
            <drop-down allow-empty="true">
                <entity-options entity-name="StatusItem" description="${description}">
                    <entity-constraint name="statusTypeId" operator="equals" value="INVOICE_STATUS"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="organizationPartyId"><hidden/></field>
        <field name="fromInvoiceDate" position="1"><date-time/></field>
        <field name="thruInvoiceDate" position="2"><date-time/></field>
        <field name="fromDueDate" position="1"><date-time/></field>
        <field name="thruDueDate" position="2"><date-time/></field>
        <field name="invoiceTypeId" title="${uiLabelMap.CommonType}" position="1">
            <drop-down>
                <list-options key-name="invoiceTypeId" list-name="invoiceTypeList" description="${description}"/>
            </drop-down>
        </field>
        <field name="searchAction" title="${uiLabelMap.CommonFind}" widget-style="${styles.link_run_sys} ${styles.action_find}"><submit button-type="button"/></field>
    </form>
     
    <form name="CommissionRun" type="single" target="CommissionRun">
        <field name="partyIds" field-name="partyId" title="${uiLabelMap.PartyPartyId}">
            <drop-down allow-multiple="true" allow-empty="true">
                <entity-options entity-name="PartyRoleAndPartyDetail" description="${firstName} ${middleName} ${lastName} ${groupName}(${partyId})">
                    <entity-constraint name="roleTypeId" operator="equals" value="SALES_REP"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="invoiceTypeId"><hidden value="SALES_INVOICE"/></field>
        <field name="statusId"><hidden value="INVOICE_PAID"/></field>
        <field name="fromDate" title="${uiLabelMap.CommonFrom}" position="1"><date-time type="date"/></field>
        <field name="thruDate" title="${uiLabelMap.CommonThru}" position="2"><date-time type="date"/></field>
        <field name="searchAction" title="${uiLabelMap.CommonFind}" widget-style="${styles.link_run_sys} ${styles.action_find}"><submit button-type="button"/></field>
    </form>

    <form name="CommissionReport" type="single" target="FindCommissions">
        <field name="isSearch"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="productId" position="1"><lookup target-form-name="LookupProduct"/></field>
        <field name="partyId" position="2" title="${uiLabelMap.PartyPartyId}">
            <drop-down allow-empty="true">
                <entity-options entity-name="PartyRoleAndPartyDetail" description="${firstName} ${middleName} ${lastName} ${groupName}(${partyId})">
                    <entity-constraint name="roleTypeId" operator="equals" value="SALES_REP"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="fromDate" title="${uiLabelMap.CommonFrom}" position="1"><date-time/></field>
        <field name="thruDate" title="${uiLabelMap.CommonThru}" position="2"><date-time/></field>
        <field name="searchAction" title="${uiLabelMap.CommonFind}" widget-style="${styles.link_run_sys} ${styles.action_find}" position="1"><submit button-type="button"/></field>
    </form>
    
    <!-- 
    **************
    * Accounts Receivable
    **************
     -->
     
     <form name="FindArInvoices" type="single" target="findArInvoices" extends="FindInvoices" extends-resource="component://accounting/widget/invoice/InvoiceForms.xml" default-position-span="1">
        <actions>
            <entity-condition entity-name="InvoiceType" list="invoiceTypeList">
                <condition-list combine="or">
                    <condition-expr field-name="parentTypeId" value="SALES_INVOICE"/>
                    <condition-expr field-name="invoiceTypeId" value="SALES_INVOICE"/>
                </condition-list>
            </entity-condition>
        </actions>
        <field name="invoiceTypeId" title="${uiLabelMap.CommonType}" position="1">
            <drop-down>
                <list-options key-name="invoiceTypeId" list-name="invoiceTypeList" description="${description}"/>
            </drop-down>
        </field>
    </form>

    <!-- SCIPIO (2019-04-08): Brought back since this is needed in many situations while editing a given invoice -->
    <form name="ListInvoiceTerms" list-name="invoiceTerms" target="" title="" type="list"
          odd-row-style="alternate-row">
        <auto-fields-entity entity-name="InvoiceTerm" default-field-type="display"/>
        <field name="invoiceId"><hidden/></field>
        <field name="invoiceTermId"><display/></field>
        <field name="termTypeId">
            <display-entity entity-name="TermType"/>
        </field>
        <field name="termDays" widget-area-style="align-right" title-area-style="align-right">
            <display/>
        </field>
        <field name="uomId" title="${uiLabelMap.Uom}">
            <display-entity entity-name="Uom"/>
        </field>
    </form>

    <!-- SCIPIO (2019-04-08): Brought back since this is needed in many situations while editing a given invoice -->
    <form name="EditInvoiceTerm" type="single" target="createInvoiceTerm" title="${uiLabelMap.PageTitleNewInvoiceTerm}"
          header-row-style="header-row">
        <auto-fields-entity entity-name="InvoiceTerm"/>
        <field name="invoiceId"><hidden/></field>
        <field name="termTypeId">
            <drop-down>
                <entity-options entity-name="TermType">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="description"><textarea/></field>
        <field name="uomId" title="${uiLabelMap.Uom}">
            <drop-down allow-empty="true">
                <entity-options key-field-name="uomId" description="${description} - ${abbreviation}" entity-name="Uom">
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="submitButton" widget-style="smallSubmit"><submit button-type="button"/></field>
    </form>

</forms>